资料介绍
定位和导航是很多便携移动设备以及汽车电子设备的重要功能之一,所以GPS在上述设备中得到了广泛的应用。基于ARM-Linux的嵌人式平台以其开放性、安全性、健壮性和稳定性越来越成为各种便携设备和车载导航设备的主要开发平台。如何实现GPS模块和嵌人式ARM-Linux平台之间的通信成了实现系统定位导航的基础。
本文主要研究GPS模块与ARM-Linux平台之间采用异步串行传送方式进行数据传送的问题,利用多线程编程技术实现GPS信号采集与处理,并介绍了一种WGS坐标向地方坐标的转换方法。与GPS通信可选的协议有很多种,目前普遍采用的是NMEA-0183通信协议。
1 NMEA-0183通信协议
NMEA-0183协议[1]是为了在不同的GPS导航设备中建立统一的海事无线电技术委员会(BTCM)标准,由美国国家海洋电子协会NMEA(National Marine Electronics Association)制定的通信协议,其中规定了海用和陆用GPS接收设备输出的定位位置数据、时间、卫星状态、接收机状态等信息。除NMEA-0183协议之外,还有差分用的RTCMSC-104格式,各个厂商互不兼容的二进制格式等,但以NMEA-0183使用最广泛。为实现ARM-LINUX平台与GPS之间的通信,应清楚协议规定的GPS输出的数据格式和报文。NMEA-0183规定的格式如下:
波特率:4 800 b/s
数据位:8 bit
奇偶校验:无
开始位:1 bit
停止位:1 bit
报文格式:报文的语句串(十进制ASCII码)格式全部信息如图1。

图1中具体内容:$为串头,表示串开始;GP为交谈识别符。XXX为语句名,NMEA规定的常用语句有以下6种:GGA,卫星定位信息;GLL,地理位置-经度和纬度;GSA,GNSS DOP偏差信息,说明卫星定位的信号的优劣情况;GSV,GNSS天空范围内的卫星;RMC,最基本的GNSS信息,指能够达到定位目的的基本信息等语句。ddd为数据字段,字母或数字,“,”为域分隔符;*表示串尾;hh表示$与*之间所有字符代码的校验和;为回车控制符;为换行控制符。
在实际的GPS应用中,并不会用到NMEA的全部信息,而是根据具体的需要,从中选取有用的信息,忽略其余的信息内容。下面以GPRMC语句为例来介绍。该语句包含时间、日期、方位、速度和磁偏角等信息,基本上可以满足一般的导航需求。GPRMC语句的结构为:$GPRMC,《1》,《2》,《3》,《4》,《5》,《6》,《7》,《8》,《9》,《10》,《11》,*hh。
数据区说明如下:
(1)UTC时间,hhmmss.sss(时分秒。毫秒)格式;
(2)定位状态,A=有效定位,V=无效定位;
(3)纬度ddmm.mmmm (度分)格式(前面的0也将被传输);
(4)纬度半球N(北半球)或S(南半球);
(5)经度dddmm.mmmm(度分)格式(前面的0也将被传输);
(6)经度半球E(东经)或W(西经);
(7)地面速率(000.0~999.9节,前面的0也将被传输);
(8)地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输);
(9)UTC日期,ddmmyy(日月年)格式;
(10)磁偏角(000.0~180.0度,前面的0也将被传输);
(11)磁偏角方向,E(东)或W(西)。
本文主要研究GPS模块与ARM-Linux平台之间采用异步串行传送方式进行数据传送的问题,利用多线程编程技术实现GPS信号采集与处理,并介绍了一种WGS坐标向地方坐标的转换方法。与GPS通信可选的协议有很多种,目前普遍采用的是NMEA-0183通信协议。
1 NMEA-0183通信协议
NMEA-0183协议[1]是为了在不同的GPS导航设备中建立统一的海事无线电技术委员会(BTCM)标准,由美国国家海洋电子协会NMEA(National Marine Electronics Association)制定的通信协议,其中规定了海用和陆用GPS接收设备输出的定位位置数据、时间、卫星状态、接收机状态等信息。除NMEA-0183协议之外,还有差分用的RTCMSC-104格式,各个厂商互不兼容的二进制格式等,但以NMEA-0183使用最广泛。为实现ARM-LINUX平台与GPS之间的通信,应清楚协议规定的GPS输出的数据格式和报文。NMEA-0183规定的格式如下:
波特率:4 800 b/s
数据位:8 bit
奇偶校验:无
开始位:1 bit
停止位:1 bit
报文格式:报文的语句串(十进制ASCII码)格式全部信息如图1。

图1中具体内容:$为串头,表示串开始;GP为交谈识别符。XXX为语句名,NMEA规定的常用语句有以下6种:GGA,卫星定位信息;GLL,地理位置-经度和纬度;GSA,GNSS DOP偏差信息,说明卫星定位的信号的优劣情况;GSV,GNSS天空范围内的卫星;RMC,最基本的GNSS信息,指能够达到定位目的的基本信息等语句。ddd为数据字段,字母或数字,“,”为域分隔符;*表示串尾;hh表示$与*之间所有字符代码的校验和;为回车控制符;为换行控制符。
在实际的GPS应用中,并不会用到NMEA的全部信息,而是根据具体的需要,从中选取有用的信息,忽略其余的信息内容。下面以GPRMC语句为例来介绍。该语句包含时间、日期、方位、速度和磁偏角等信息,基本上可以满足一般的导航需求。GPRMC语句的结构为:$GPRMC,《1》,《2》,《3》,《4》,《5》,《6》,《7》,《8》,《9》,《10》,《11》,*hh。
数据区说明如下:
(1)UTC时间,hhmmss.sss(时分秒。毫秒)格式;
(2)定位状态,A=有效定位,V=无效定位;
(3)纬度ddmm.mmmm (度分)格式(前面的0也将被传输);
(4)纬度半球N(北半球)或S(南半球);
(5)经度dddmm.mmmm(度分)格式(前面的0也将被传输);
(6)经度半球E(东经)或W(西经);
(7)地面速率(000.0~999.9节,前面的0也将被传输);
(8)地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输);
(9)UTC日期,ddmmyy(日月年)格式;
(10)磁偏角(000.0~180.0度,前面的0也将被传输);
(11)磁偏角方向,E(东)或W(西)。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于ARM-Linux指纹识别系统的设计
- ARM-Linux开发与MCU开发的各自优势?
- ARM-Linux对比单片机的开发异同,以及学习路线介绍
- ARM-Linux开发与MCU开发有何不同?上篇
- Linux ARM和Linux单片机开发有哪些差异
- ARM-Linux指纹识别系统的设计 13次下载
- 基于ARM-LINUX平台的USB采集卡设备驱动程序的设计 3次下载
- 基于ARM-Linux的1553B仿真测试前端系统 11次下载
- 基于嵌入式Linux的MapInfo格式地图显示
- Keil C 平台下的ARM例子资料
- 基于ARM-linux的显微镜自动对焦系统研究
- 一种基于ARM-Linux的FPGA程序加载方法
- 基于Linux以太网的远程数据采集系统
- 基于ARM-Linux的嵌入式系统GUI开发研究
- 基于ARM-Linux平台的机载数据采集记录装置设计
- 浅析在NXP I.MX6ULL+Linux平台下进行WM8960音频芯片移植的过程 2.9k次阅读
- ARM-Linux开发和MCU开发的不同点 1.4k次阅读
- ARM-Linux开发和MCU开发的不同点 1.2k次阅读
- ARM-Linux应用开发和单片机开发的不同 2.7k次阅读
- 基于NJl006AK和TSM320C6416芯片实现GPS接收机信号采集系统的设计 5.1k次阅读
- 关于嵌入式系统以及嵌入式平台下的学科分工详解 2.4k次阅读
- 以Arm-Linux为平台的智能家居控制系统的设计详解 2.3k次阅读
- 基于ARM920处理器和嵌入式Linux操作系统的GPS智能终端设计解析 2k次阅读
- 如何将Linux2.4移植到ARM平台的嵌入式系统 4.2k次阅读
- ARM平台上运行Xen 可同时管理linux和VxWorks 8.1k次阅读
- 基于ARM与FPGA的便携式GNSS信号采集回放系统设计 2.5k次阅读
- 4G通信模块在ARM平台下的应用 1.2w次阅读
- 基于ARM Linux的图像采集与蓝牙传输 2.6k次阅读
- 基于ARM9的多行列键盘设计及其驱动实现 2.3k次阅读
- 基于ARM室内温度控制系统的设计与实现 9.3k次阅读
下载排行
本周
- 1冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 2安川A1000变频器中文版说明书
- 20.16 MB | 3次下载 | 3 积分
- 3直流电路的组成和基本定律
- 1.67 MB | 2次下载 | 免费
- 4丹佛斯2800系列变频器说明书
- 8.00 MB | 1次下载 | 5 积分
- 5PC8011同步开关型降压3.5A单节锂电池充电管理电路技术手册
- 0.74 MB | 1次下载 | 免费
- 6ES7243E+ES8311音频录制与播放电路资料
- 0.06 MB | 1次下载 | 5 积分
- 7SDM02 激光测距模块产品手册
- 0.43 MB | 1次下载 | 免费
- 8SDFM 激光测距模块模组手册
- 0.54 MB | 1次下载 | 免费
本月
- 1CH341编程器软件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下载 | 1 积分
- 22025智能家居传感器市场分析及创新应用
- 3.11 MB | 43次下载 | 免费
- 3RV1126B系列开发板产品资料
- 4.19 MB | 18次下载 | 免费
- 4CH341编程软件下载
- 2.50 MB | 16次下载 | 5 积分
- 5全志系列-米尔基于T153核心板开发板 四核异构、3路千兆网,赋能多元化工业场景
- 3.05 MB | 12次下载 | 免费
- 6【开源】60余套STM32单片机、嵌入式Linux、物联网、人工智能项目案例及入门学习资源包
- 10.55 MB | 8次下载 | 免费
- 7冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 8特斯拉MODEL S车载充电机主电路回路原理图
- 0.81 MB | 4次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233094次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191448次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183356次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81604次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73824次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论