您的位置 首页 新品

根据FPGA的GPS数据采集器的规划与完成

全球定位系统(Clobal Position System,GPS)能够提供实时、全天候、全球性和高精度的服务,其广泛应用于各行各业中。GPS接收机通过天线单元接收卫星信号,将信号进行带通滤波、下变

全球定位体系(Clobal Position System,GPS)可以供给实时、全天候、全球性和高精度的服务,其广泛应用于各行各业中。GPS接纳机经过天线单元接纳卫星信号,将信号进行带通滤波、下变频混频、AGC扩大、A/D转化等一系列处理,得到数字中频信号,从而对中频信号进行捕获、盯梢,解调出用户的纬度、经度、高度、速度、时刻等导航信息,将这些信息按NMEA-0183协议封装,经过串口输出数据。用户设备中的GPS接纳器在收到GPS信息后,需求对相关信息予以解码处理,然后得到用户的方位、时刻等信息,从而完结用GPS导航和定位的意图。近几年来,现场可编程门阵列(FPGA)凭仗其开发进程出资少、规划周期短、灵敏便利以及可重复编程等特色,在现代电子规划中得到了广泛应用。本规划挑选现场可编程门阵列(FPGA)来完结GPS信号的解析处理。

1 NMEA-0183协议的数据格局

NMEA-0183是美国国家海洋电子协会(NMEA,The National Marine Electronics Association)为海用电子设备拟定的规范格局,它现在已被广泛地应用于多个范畴的设备之间的数据传输。NMEA规范格局输出选用ASCII码,每个ASCII数据码长8位,串行通讯的波特率为9600位/秒,数据位8位,开端位1位,中止位1位,无奇偶校验位。

NMEA-0183协议由句子组成,每条句子以字符“$”作为句子开端标志,数据之间以逗号相隔,字符“*”作为校验和前缀,终究以校验和数值和回车/换行字符完毕。最常用的有6种句子格局:$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG。下面以引荐定位信息GPRMC句子为例介绍数据格局。句子的格局如下:

$GPRMC,1>,2>,3>,4>,5>,6>,7>,8>,9>,10>,11>,12>*13>

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(西);

12>形式指示(仅NMEA-0183 3.00版别输出,A=自主定位,D=差分,E=预算,N=数据无效);

13>校验和;

2 NMEA-0183协议解析器规划

2.1 体系的总体规划

以深圳星际通公司出产的GP5MX1513F1导航芯片为例进行阐明。该芯片为一个64并行通道单频接纳机,只承受L1波段的卫星信号,定位精度2 m(2D RMS)。该芯片顺次输出6种NMEA信息,分别是:$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG,串口默认设置:波特率9 600bps,开端位1位,数据位8位,无奇偶校验位,中止位1位。NMEA-0183协议解析体系的总体规划框图如图1所示,GP5MX1513F1导航芯片经过天线单元接纳卫星信号,将信号滤波、下变频、扩大和模数转化等一系列处理,得到数字中频信号,从而对中频信号进行捕获、盯梢、位同步及帧同步,解调出导航数据,终究计算出用户的纬度、经度、高度、速度、时刻等信息,以NMEA-0183协议格局打包成数据帧,再经过规范的串口输出数据。NMEA-0183协议解析模块生成的硬件电路内嵌在FPGA中,一方面经过串口模块接纳GP5MX1513F1芯片宣布的串行数据,将接纳的信号给解析模块进行处理,另一方面解析模块根据NMEA-0183协议的数据格局提取出所需求的信息。

根据FPGA的GPS数据收集器的规划与完结

2.2 串口模块

串口模块首要担任接纳由GP5MX1513芯片输出的导航定位信息,串口模块经过波特率产生器将体系时钟进行分频,产生16倍数据波特率的时钟。体系复位后,接纳端以16倍波特率的速率读取线路状况,检测信号GPS_TX呈现下降沿,在GPS_TX信号下降沿后第8个采样点承认是否为低电平,假如检测得到的是高电平,则以为开端位无效,返回到闲暇状况,从头等候开端信号的到来。开端位找到后,开端接纳数据,当数据计数器data_bit_cnt计到7时,8位数据都现已输入完结。终究,检测中止位,假如正确检测到高电平,则

阐明本帧的各位数据正确接纳,将数据存入到8位数据寄存器中,不然犯错。

根据FPGA的GPS数据收集器的规划与完结

串口模块接纳端的状况搬运图如图2所示,接纳机由4个作业状况组成,分别是闲暇状况、开端位、数据位和中止位。当体系复位后,电路处于闲暇状况,等候信号的触发,接连8个时钟检测出数据产生负跳变,sof信号为高,进入开端状况,当sample为1时,进入数据位,接着的数据位将每隔16个采样周期被采样一次。即取每一位的第8次的波特率时钟采样值来保证采样正确。接连采样8次后,采样计数器data_bit_cnt==7,进入中止位,当sample为1时,进入闲暇状况,开端接纳下一个数据。

在状况机模型的基础上,运用verilog HDL言语来描绘其功用,其首要代码如下:

根据FPGA的GPS数据收集器的规划与完结

2.3 解析模块

串口模块输出的8位数据送到解析模块,解析模块选用6MUX1挑选器来挑选提取哪种句子,经过外部输入信号对寄存器config_Reg进行装备来完结,当config_Reg=000时,提取GGA句子,当config_Reg=001时,提取GLL句子,当config_Reg=010时,提取GSA句子,当config_Reg=001时,提取GSV句子,当config_Reg=011时,提取RMC句子,当config_Reg =100时,提取VTG句子。下面以RMC句子为例,来阐明解析进程,解析模块将串口模块接纳端接纳的数据进行循环检测,判别报文头、定位状况、校验位、完毕位信息,提取时刻信息。首要,对config_Reg进行装备,设置config_Reg=011;其次,检测报文头$GPRMC,假如是,则进行下一步,不然,持续检测;终究,用逗号计数器的值来决议提取$GPBMC句子的哪段信息,当逗号计数器为1时,提取时分秒信息,存储在data_hh_mm_ss寄存器中;当逗号计数器为2时,提取定位状况信息,当VALID信号为高,则有用定位;当VALID信号为低,则无效定位;当逗号计数器为3时,提取纬度信息,存储在lat_data寄存器中;当逗号计数器为5时,提取经度信息,存储在lon_data寄存器中;当逗号计数器为9时,提取日月年信息,存储在data_dd_mm_yy寄存器中。程序规划的流程图如图3所示。

根据FPGA的GPS数据收集器的规划与完结

其首要代码如下:

根据FPGA的GPS数据收集器的规划与完结
根据FPGA的GPS数据收集器的规划与完结

3 仿真测验及硬件完结

根据编写的测验模块在ModelSim 6.2软件下进行了功用仿真,其仿真成果如图4所示,GPS_TX为输入的串行数据,rcv_data为接纳的8位数据,hh_mm_ss为提取出时分秒信息:15:49:41,dd_mm_yy为提取出日月年信息:13.06.09,lat_data为提取的纬度信息:3409.3297,lon_data为提取的经度信息:10853.6986,从仿真波形上看,仿真的成果与测验激、励中的数据共同。

根据FPGA的GPS数据收集器的规划与完结

完结了仿真后,在Quartus II 9.0下进行了逻辑归纳,将程序下载到Altera公司出产的CycloneII系列EP2C5T144C8类型的FPGA中,用Quartus II 9.0软件自带的嵌入式逻辑剖析仪SignalTapII,对FPGA内部的信号进行观测,FPGA内部实践作业波形如图5所示,从硬件调试成果观测,实践测出的成果:年月日2013.08.19,时分秒00:07:42,纬度为3412.0714,经度为10856.6625。因为所测得时刻信息为国际和谐时刻,北京时刻与国际和谐时相差8个时差,北京时刻应修正为:08:40:09,所测得成果与本地的时刻共同。

根据FPGA的GPS数据收集器的规划与完结

成果剖析:从图4和图5波形上可以看到咱们测验的成果,实践测验中,咱们让整个解析进程接连作业12 h,没有发现解析过错、丢包等不正常现象。因而,很多测验成果表明,该模块可以正确的接纳和处理导航信息。

4 定论

根据NMEA—0183协议格局,提出运用FPGA完结NMEA-0183信息解析的一种办法,仿真及实践测验成果表明,该电路可以正确地提取出所需求的信息,如时刻、方位等信息,终究完结了GPS数据收集及处理等作业,为搜寻救援、事端定位等作业供给了技能根据。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/288627.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部