作为卫星导航系统,GPS具有性能好、高、应用广的特点,是迄今为止应用广泛的导航定位系统。将GPS与嵌入式技术融合在一起,形成一个嵌入式的地理平台,是当前GPS领域的一个重要趋势。嵌入式系统利用软件设计主要完成GPS定位信号的处理、电子地图的移植、地球坐标的转换、定位的显示等功能。
1 系统概述
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。软件设计流程如图1所示。
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能,对可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由以下几部分组成:
嵌入式微处理器
外围硬件设备
嵌入式操作系统
特定的应用程序
2 嵌入式系统软件设计
2.1 GPS模块输出的信息的提取
GPS模块通电后,会自动搜索卫星信号,并把计算数据从串口输出。所有GPS接收机以通用的NMEA格式输出数据。NMEA-0183协议定义的语句较多,但常用且兼容性较广的语句只有:$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。如图2所示。
用串口连接宿主机与开发板的串口0。宿主机进入Linux,打开Minicom终端。设置波特率115 200,8位数据,1位停止,无校验,无流控。串口的设备文件为/dev/ttyS*,其中,ttyS0为串口1,ttyS1为串口2,以此类推。初始化完串口,就可以进行读取操作了。由于GPS发送的数据类型都是以&GPGGA符号开头,所以检测&GPGGA符号,进而进行下一步的处理。关键代码如下:
2.2 坐标转换
GPS模块输出的地理坐标是WGS-84坐标系。而国内地图一般是以54北京坐标系作高斯-克吕格平面投影。所以必须作一个坐标转换,即将GPS坐标(WGS-84坐标系)转换到电子地图坐标(54北京坐标系)。坐标转换的具体步骤如下:
(1)空间直角坐标转换成国家大地坐标,国家大地坐标转换成地图平面坐标。
(2)由于x,y的具体推算过程复杂,这里就不全部列举,其结果如下
(3)地图平面坐标转换成屏幕坐标。例地图比例尺为1:k,窗口要显示的区域长、宽各为M和N,窗口像素点位A×B点,则定位数据xs,ys在窗口上坐标分别为
2.3 电子地图重构
一般来说,电子地图包含的数据格式都不能直接用在嵌入式平台,所以需要对电子地图的数据进行提取、存储、重构。将电子地图的数据读出后,再在嵌入式平台下,用绘图工具重新组成电子地图即可。部分实现代码如下
3 仿真测试
点测试、线测试、面测试如图3所示。
4 结束语
整个测距定位系统在PXA270嵌入式开发系统下完成,工程系统庞大,整个系统基本功能已实现。由于本系统软硬件平台有较强的升级能力,许多指标与功能可以进一步完善与提高。从GPS定位数据到电子地图数据的转换,需要一系列复杂的算法,这些算法有待进一步改进和简化,以提高系统运行效率和数据准确性。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。