侵权投诉
当前位置:

OFweek电子工程网

嵌入式设计

正文

基于PXA270嵌入式开发板GPS定位系统的设计

导读: 作为卫星导航系统,GPS具有性能好、精度高、应用广的特点,是迄今为止应用最广泛的导航定位系统。将GPS与嵌入式技术融合在一起,形成一个嵌入式的地理平台,是当前GPS领域的一个重要趋势。本文是在PXA270嵌入式开发板和GPS模块上开发实现的。

  作为卫星导航系统,GPS具有性能好、精度高、应用广的特点,是迄今为止应用最广泛的导航定位系统。将GPS与嵌入式技术融合在一起,形成一个嵌入式的地理平台,是当前GPS领域的一个重要趋势。本文是在PXA270嵌入式开发板和GPS模块上开发实现的。在Linux下的嵌入式开发环境中,利用C++设计完成定位。嵌入式系统利用软件设计主要完成GPS定位信号的处理、电子地图的移植、地球坐标的转换、定位的显示等功能。

  1 系统概述

  嵌入式系统是控制、监视或者辅助装置、机器和设备运行装置;是软件和硬件的综合体,可涵盖机械等附属装置;有着友好的人机界面,支持LCD及GPS模块;主要完成提取GPS定位信号的数据、坐标转换、电子地图的显示等功能。软件设计流程如图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在窗口上坐标分别为

  

1  2  下一页>  
声明: 本文由入驻OFweek公众平台的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

我来说两句

(共0条评论,0人参与)

请输入评论

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号