文献标识码: A
文章编号: 0258-7998(2013)07-0010-04
随着GPS系统的完善,对于GPS定位系统的定位精度提出了更高的要求,各种GPS应用平台应运而生[1]。GPS全球定位系统(Global Positioning System)是覆盖全球的24颗卫星组成的卫星系统,可以采集到地球上任意观测点的经纬度和高度,以实现导航、定位、授时等功能,其应用领域广泛[2]。
本系统采用高精度的E580模块接收GPS信号,再辅以低功耗MSP430[3]单片机对信息进行接收和存储,进而在LCD上显示目标的坐标,最终将数据传送至上位机,在虚拟地球仪软件Google Earth中直观地显示目标轨迹。该平台具有高可靠性、高测量精度、超低功耗、全球覆盖、操作简单等特点[4]。系统成本低廉,易于工程实现,可以应用到广泛的工程领域,如:罪犯追捕、物流及时查询、目标跟踪或公交查询等。
1 系统硬件设计
1.1 系统总体框架
系统可分为两部分:
第一部分:对GPS信号的接收和处理,具体过程为:通过天线接收到原始信号,并将信号送入E580模块;然后采用E580的串口与单片机通信,将数据发送给MSP430单片机;单片机对数据进行提取和处理,并将数据进行存储。
第二部分:在Google Earth软件中实现轨迹显示,具体过程为:当PC向单片机发送正确的读取密码后,通过上位机软件接收数据并生成Google Earth识别的KML格式文件,用Google Earth 打开该文件后地图上将显示对应的目标轨迹图。
除此之外,单片机在提取出所需的GPS信息后,在FYD16032液晶上实时显示目标的坐标,并且可以通过按键进行各种交互操作。系统总设计框图如图1所示。
硬件系统可分为接收模块、微处理器模块、显示模块以及人机接口模块。各个功能模块的具体功能如下:
接收模块:接收原始的GPS信号,存储为固定格式的数据信息并传送给单片机,报告自己的状态,并接收单片机的控制。
微处理器模块:控制并接收GPS模块的数据,对数据处理后在LCD上显示出坐标信息,并把数据存储在Flash中;同时,将数据传给PC机,接收PC机控制,实现与PC机的通信功能。
PC控制模块:PC接收软件主要功能是接收数据并生成Google Earth可以打开的KML轨迹文件。
人机接口模块:包括LCD显示模块和键盘控制模块。
1.2 E580模块硬件电路
高感低功耗的E580每秒数据更新率为4次,具有16个通道,可以同时跟踪16颗GPS卫星,跟踪灵敏度可达-158 dBm。不仅能满足陆地导航的要求,而且能达到飞行器的动态要求。E580采用ANTARRIS4定位技术,内置节能模式(FIXNOW)可提供极低功率架构。E580从硬件和软件上都十分易于使用,非常适合用于系统集成,只需要外加天线和电源即可工作。E580拥有2个UART和一个USB口,其数据可以通过任意接口来读取。对于天线部分的设计,需要加50 ?赘的阻抗匹配线,采用Si9000软件对微带线进行设计,并采用计算后的数值进行PCB的布线[5]。
E580系统结构如图2所示。
GPS接收模块E580采用串口通信,与单片机的电器连接如图3所示。
1.3 MSP430通过USB与上位机通信
由于USB总线具有传输速度快、占用资源少和真正的即插即用等优点,故在该系统中采用了常用的USB通信芯片FT245来进行单片机与上位机之间的通信。FT245主要进行USB与并行I/O口之间的协议转换,转换过程由硬件自动完成,开发者无需考虑硬件设计。FT245通过8根数据线(D0~D7)及读/写控制线(RD、WR)来完成与单片机的数据交互,内含一个128 B的接收缓冲区和一个384 B的发送缓冲区,此外还包括1个内置的3.3 V稳压器、一个6 MHz振荡器、8倍频的时钟倍频、USB锁相环和EEPROM接口。具体电路如图4所示。
1.4 Flash存储器
在该系统中需要对接收到的GPS信息进行保存,这种数据量比较大,为了更好地进行本地处理和轨迹的重现,加入了大容量的Flash存储器M25P80。M25P80具有8个引脚,与MSP430F148单片机的硬件连接非常简单,仅需片选信号、串行数据输入、输出以及时钟信号4条线与MSP430F148的SPI接口相连。硬件连接图如图5所示。
MSP430F148单片机的最小系统部分以及LCD显示模块在此就不再赘述。
1.5 LCD显示模块
FYD16032是一种具有8 bit并行或3线串行两种接口方式,内部含有简体中文字库的点阵图形液晶显示模块;显示分辨率为160×32。使用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。LCD显示格式如下:
纬度:104.13951633
经度:30.6741392
GPS接收系统中,采用3线接口方式,引脚连接关系如表1所示。
2 系统软件设计
系统工作流程:MSP430F148通过其串口进行实时数据接收,当单片机核心板按下“启动”键,在接收到以SGPRMC为开始的信息后,提取当前有效信息的经纬度,并存储在系统的Flash中,同时显示在LCD上;在进行数据接收时,按下“停止”按键,此时系统停止接收,数据全部存储在系统的Flash中,之后可以通过USB传输到PC机,上位机经过KML格式转换后即可在Google Earth上显示目标轨迹。
2.1 下位机端程序设计
单片机接收数据后在串行中断函数中进行数据格式的判断。数据接收格式为NMEA标准格式[6],本系统采用了接收推荐的最小语句格式:
SGPRMC,hhmmss,status,latitude,N,longitude,E,spd,
cog,ddmmyy,mv,mvE,mode*cs<CR><LF>
GPRMC语句中,GPS模块输出的信息依次为:小时、分钟、秒、状态(接收数据是否有效)、北纬度、东经度、速度等以及最后的信息结束标志(信息结束标志为:回车,换行)。
下位机程序流程如图6所示。
2.2 上位机软件设计
2.2.1 KML文件
系统采用KML的文件格式进行数据转换。Google Earth中有KML和KMZ两种类型的地标文件。KML文件是Keyhole客户端进行读写的文件格式,是一种XML描述语言,并且是一种文本格式,使用起来简洁易懂,可以通过程序自动生成KML文件。因此,使用KML格式的文件非常利于Google Earth应用程序的开发。双击KML文件即可从Google Earth中打开地标文件,但值得注意的是KMZ/KML地标文件名不能包含中文字符,文件存放的路径也不能有中文字符,否则将无法在Google Earth中打开。
2.2.2 软件界面
该系统通过USB将接收到的GPS数据送给PC机后[7],上位机实时记录数据并显示在界面上,同时点击界面中“生成历史轨迹”按钮,即可将接收的数据转换成KML格式的文件,该操作界面是采用Visual C++ 6.0设计的。
上位机界面可以在接收数据的同时显示纬度和经度,它还包括了“接收数据”控制按钮、“生成当前坐标”控制按钮以及“生成历史轨迹”控制按钮。密码栏为输入接收数据的密码,范围是0~255,具体的密码可以在程序中设定。该界面的操作过程是用户先向下位机发送密码,下位机接收到密码后进行判断,若与之相符,则开始向PC机传送数据,点击“接收数据按钮”会生成TXT文件并存放在所规定的路径里,再点击生成历史轨迹按钮就会生成KML格式的文件。
2.2.3 KML文件转换
接收到的数据为TXT格式的文件,通过程序自动生成Google Earth客户端能够识别的KML格式的文件后,在Google Earth软件中就可显示目标的轨迹图。试验中可以采用单点的KML文件格式和多点的KML格式两种方式,以成都理工大学的地理位置为参照对象。
转换后的多点的KML文件格式为:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Folder><name>轨迹</name><Placemark><Style>
<LineStyle>
<color>e500ffff</color><width>4</width></LineStyle>
</Style><LineString><altitudeMode>relativeToGround
</altitudeMode><coordinates>
104.13951633,30.674139
104.13962,30.67411733
104.139659,30.67422833
104.13967817,30.6743225
104.13966717,30.67433567
……
</coordinates></LineString></Placemark></Folder></kml>
此文件在Google Earth中显示所有点连成的轨迹线,轨迹颜色、宽度以及名字都可以在程序中由用户自定义。
3 试验结果
实验过程中,以成都理工大学行政区域的地理位置为参照对象进行了目标的运行轨迹记录,然后在Google Earth中再现该运行轨迹采用的是多点KML文件格式。实验轨迹图如图7所示。
本文介绍了基于MSP430F148的便携式轨迹记录与再现系统的设计思路、硬件结构和软件设计方法。采用E580来接收GPS信号,以MSP430F148为控制中心,将目标信息实时显示在LCD上,并将数据存储在Flash中,传给上位机通过Google Earth软件进行轨迹的再现。通过各项实验测试,该系统实现了预期的功能及指标[8]。该平台功耗低,操作简单,可以非常灵活地应用到物流跟踪、公交查询、野外探险、精细农业等工程领域中。
参考文献
[1] 曾吉全.GPS车辆自导航系统关键技术研究[D].西安:西安电子科技大学,2004.
[2] 韩九强,张新曼,刘瑞玲.现代测控技术与系统[M].北京:清华大学出版社,2007.
[3] 谢兴红,林凡强,吴雄英.MSP430单片机基础与实践[M].北京:北京航空航天大学出版社,2008.
[4] 徐太忠.便携式电子系统的低功耗设计[J].单片机与嵌入式系统应用,2001(8):11-13.
[5] 徐兴福.ADS2008射频电路设计与仿真实例[M].北京:电子工业出版社,2009.
[6] 肖远亮.NMEA-0183数据标准在GPS技术中的应用[J].物探装备,2003,13(2):12-21,33.
[7] 胡辉.GPS数据采集软件的实现[J].全球定位系统,2008(1):25-30.
[8] 孔庆华.现代交通电子控制技术[M].哈尔滨:东北林业大学出版社,2004.