文档 2 - 图文(5)

2019-05-24 18:12

第四章 基于单片机的GPS软件设计

4.1 NMEA-0183数据格式

NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。它是在过去海用电子设备的标准格式0180和0182的基础上,增加了GPS接收机输出的内容而完成的。目前广泛采用的是Ver 2.00版本。现在除少数早期的GPS接收机外,几乎所有的GPS接收机均采用了这一格式。此协议是为了在不同的GPS导航设备中建立统一的RTCM标准。这种格式的广泛使用使得GPS接收模块的通用化和互换性大大提高。

这种格式所输出的语句采用的是ASCII字符码,包含了纬度、经度、速度、日期、时间、航向、以及卫星信号情况等信息。其串行通信默认参数为:波特率=9600bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。

帧格式形如:$aaccc,ddd,ddd,…,ddd*hh (1) “$”:帧命令起始位;

(2) aaccc:地址域,前两位为识别符,后三位为语句名; (3) ddd…ddd:数据; (4) “*”:校验和前缀;

(5) hh:校验和(check sum),$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。)

(6) :CR(Carriage Return) + LF(Line Feed)帧结束,回车和换行。

4.1.1 输入语句

NMEA-0183输入语句是指GPS接收模块可以接收的语句。输入语句包括初始位置,时间,秒脉冲状态,差分模式,NMEA输出间隔等设置信息。这些语句是GPS接收机可以接受的语句。一般情况下初始化信息语句为PGRMI。

$GPRMI,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh <1>纬度ddmm.mmmm(度分)格式(前面的0也将被传输); <2>纬度半球N(北半球)或S(南半球);

17

<3>经度dddmm.mmmm(度分)格式(前面的0也将被传输); <4>经度半球E(东经)或W(西经); <5>UTC日期,ddmmyy(日月年)格式; <6>UTC时间,hhmmss(时分秒)格式; <7>接收机命令,A=自动定位,R=机器重新启动。 4.1.2 输出语句

SiRF Star II的输出语句有十余种 ,其主要语句有GPALM(历书数据)、GPGGA(GPS标准数据,定位数据)、GPGSV(卫星状态)、GPGSA、GPRMC、GPVTG、PGRME、PGRMF、PGRMT、PGRMV(GARMIN定义的语句,3D速度信息)、LCGLL、LCVTG(NMEA标准语句)等。可通过GPS串口调试软件发送相应的命令语句给SiRF Star II芯片,此后芯片会根据命令语句设置参数。

几种常用的数据格式如下:

(1) GPS标准数据(GPGGA),其结构为:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15>

<1> UTC时间,格式为hhmmss.sss;

<2> 纬度,格式为ddmm.mmmm(前导位数不足则补0); <3> 纬度半球,N或S(北纬或南纬);

<4> 经度,格式为dddmm.mmmm(前导位数不足则补0); <5> 经度半球,E或W(东经或西经); <6> 定位质量指示,0=定位无效,1=定位有效;

<7> 使用卫星数量,从00到12(前导位数不足则补0); <8> 水平精确度,0.5到99.9;

<9> 天线离海平面的高度,-9999.9到9999.9米 ; <10> 高度单位,M表示单位米;

<11> 大地椭球面相对海平面的高度,-999.9到9999.9米; <12> 高度单位,M表示单位米;

18

<13> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量; <14> 差分参考基站标号,从0000到1023(前导位数不足则补0); <15> 校验和。

(2) 可视卫星状态输出语句(GPGSV),其结构为:

$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8> <1> 总的GSV语句电文数; <2> 当前GSV语句号; <3> 可视卫星总数,00至12; <4> 卫星编号,01至32; <5> 卫星仰角,00至90度;

<6> 卫星方位角,000至359度,实际值;

<7> 信噪比(C/No),00至99dB;无表未接收到讯号; <8> 校验和。

(3) 推荐最小GPS/TRANSIT数据(GPRMC),其结构为:

$GPRMC,<1>,<2>,<2>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh 其中“GP”为交谈识别符;“RMC”为语句识别符;“hh”为校验和,其代表了“$”与“*”之间所有字符的按位异或值(不包括这两个字符)。

$GPRMC语句数据区的内容为:

<1>定位点的协调世界时间(UTC),hhmmss(时分秒)格式; <2>定位状态,A=有效定位,V=无效定位; <3>定位点纬度,ddmm.mmmm(度分)格式; <4>纬度半球,N(北半球)或S(南半球); <5>定位点经度,dddmm.mmmm(度分)格式; <6>经度半球,E(东经)或W(西经); <7>地面速率,000.0~999.9节; <8>地面航向,000.0~359.9度;

19

<9>UTC日期,ddmmyy(日月年)格式; <10>磁偏角,000.0~180度;

<11>磁偏角方向,E(东)或W(西);

<12>工作模式:A=自主,D=差分,E=评估,N=数据无效[10]。

4.2 基于单片机的GPS定位系统软件开发环境―Keil uVision2

4.2.1 8051开发工具

Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,它还能嵌入汇编,您可以在关键的位置嵌入。KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器功能的不断增强,使我们可以更加贴近CPU本身及其他的衍生品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包括:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境[11]。

Keil uVision2与同类开发环境具有以下优点:

(1) 真正的集成调试环境,集成了编缉器、编译器、调试器;

(2) 众多强大软硬件调试手段,包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、记时器、程序时效分析、 数据时效分析、硬件测试仪、事件触发器;

(3) 所有类型的单片机集成在一个调试环境下,支持汇编、C、PL/M源程序混合调试; (4) 支持软件模拟,支持项目管理;

(5) 支持点屏功能,直接点击屏幕就可以观察变量的值,方便快捷; (6) 功能强大的观察窗口,支持所有的数据类型; (7) 树状结构显示,一目了然;

(8) 在线直接修改、编译、调试源程序,错误指令定位[12]。 4.2.2 uVision2集成开发环境

(1) 项目管理

20

工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。

uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定 微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer)或者加速器

(mathaccelerator)的特性。uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模[13]。

(2) 集成功能

uVision2的强大功能有助于用户按期完工。

集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器;

文件寻找功能:在特定文件中执行全局文件搜索; 工具菜单:允许在V2集成开发环境下启动用户功能; 可配置SVCS接口:提供对版本控制系统的入口; PC-LINT接口:对应用程序代码进行深层语法分析; Infineon的EasyCase接口:集成块集代码产生;

Infineon的DAVE功能:协助用户的CPU和外部程序。DAVE工程可被直接输入uVision2。

4.2.3 编辑器和调试器

(1) 源代码编辑器

uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。

(2) 断点

uVision2允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前),用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。

21


文档 2 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:-信息提示

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: