APP下载

GPS数据采集器简介与设计

2017-06-30夏路华

科技创新导报 2017年12期

夏路华

摘 要:GPS作为当前最先进的定位导航工具,可以提供当地的导航信息,供人们参考,大大解决了野外失踪和陌生城市迷路等生活难题,方便了人们的出行,这也使得GPS越来越广泛地应用到人们的生活中。而GPS数据采集器,成为数字采集GPS定位信息的重要工具,在GPS导航系统中发挥着巨大作用。该文首先介绍了GPS在当代社会中的发展,介绍了GPS数据采集器的原理(GPS接收机利用天线接收GPS卫星发出的信号,这个信号经过GPS专业的芯片处理,得到数字信号,将这些数字信号串行输出,经过编码处理,将数字信号进行串转并处理,得到字节数据传输,最后通过后续的解析模块,解调出有用的定位数据,从而得到用户的位置、时间等信息,进而实现用GPS来导航定位的目的),设计指标以及相关的设计方法,GPS采集器各个模块所具有的功能等。

关键词:GPS数据采集器 简介 设计指标

中图分类号:TP27 文献标识码:A 文章编号:1674-098X(2017)04(c)-0139-03

一般来说,GPS(Global Positioning System)包含三大部分,其中之一就是GPS接收机,而GPS接收机的核心模块便是GPS数据采集器。在露天的情况,GPS可支持全天24 h不间断工作,生活中几乎所有恶劣的环境下都可以通过GPS设备接收到GPS信号。当人们每到一个陌生的地方,GPS都可以提供当地的导航信息,供人们参考,大大解决了野外失踪和陌生城市迷路等生活难题,方便了人们的出行这也使得GPS越来越广泛地应用到人们的生活中。

现在越来越多的人开始使用智能手机,而现在几乎所有的智能手机里都包含GPS模块,这就表明GPS的应用已经潜移默化地深入到人们的生活中了。由于我国智能手机市场不断变得庞大,这就意味着我国很有可能会成为世界上最具潜力的卫星导航应用市场。

GPS技术在智能手机上的应用将会给国内乃至全球的市场带来空前的发展潜力,相信在不久的将来,它会超过GPS在汽车领域方面的应用,成为GPS技术应用的最大市场份额。现在可靠成熟的GPS技术,结合移动通信领域的基站,可提供精度最高、最直观的位置服务,用户可以通过手机在线上网或者下载地图软件,便可实现5 m精度的定位。这将有利于各种物流传输服务,方便大众或者司机了解周围的交通情况,只要利用GPS提供的定位信息,就能极大地提高工作效率,为生活带来便利。

随着近几年FPGA和现代电子设计的飞速发展,使得人们的需求和想法越来越容易用FPGA得到实现。所以我们可以充分利用这样资源,将GPS数据采集器的模块化原理,抽象成电路模型,并用Verilog HDL语言将其描述出来,不断简化电路,从而将此课题的GPS数据采集器设计在FPGA上得到功能实现。这样做的好处就是不但缩小其体积,而且增加了设计的灵活性,减少了开发周期。基于这种思想,就可以利用Verilog HDL来设计实现GPS数据采集器的核心功能。

1 GPS数据采集器简介

GPS接收机利用天线接收GPS卫星发出的信号,这个信号经过GPS专业的芯片处理、滤波、放大、模数转换,再通过芯片的电平转换,从而得到数字信号,并将这些数字信号串行输出,经过编码处理,使数字信号满足NMEA-0183 协议格式输出给下一功能模块,之后将数字信号进行串转并处理,得到字节数据传输,最后通过后续的解析模块,解调出有用的定位数据,从而得到用户的位置、时间等信息,进而实现用GPS来导航定位的目的。

GPS导航芯片一般只接受Ll波段的卫星信号。该芯片输出的定位信号,遵循NMEA-0813协议,其中包含6种语句,分别是$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG。整个方案首先通过串口模块接收GPS 导航芯片发出的串行信号,输出为字节数据流,将字节流数据传输给解析模块进行处理,解析模块根据NMEA-0183 协议格式,通过算法处理,提取出所需要的有用信息,以此来实现GPS数据采集器的基本功能。

2 GPS数据采集器系统框图

具体情况见图1。

3 GPS数据采集器的设计指标

根据GPS数据采集器在GPS系统中的作用,对GPS数据采集器的设计提出以下指标要求。

(1)在串行总线默认高电平状态下,能够识别并读取串行数据的起始位。

(2)能够将串行数据转换为并行的8位字节数据。

(3)能够按NMEA-0813协议,识别$GPRMC语句。

(4)能够识别接收数据时的状态。

(5)能将ASCII数据转换为可认识的十进制数据,并从$GPRMC语句中读出定位信息。

4 利用Verilog HDL设计GPS数据采集器

Verilog HDL(Hardware Description Language)是一种硬件描述语言,它的语法结构有些类似C语言,不需要特定的运行环境,就可以用记事本打开编辑,十分方便。它能描述的抽象内容十分广泛,除了逻辑电路图和逻辑表达式,其他数字电路系统的逻辑功能都能用它来描述。它可以从多种抽象设计层次上,对数字电路系统进行描述。在新的标准下,Verilog HDL开始支持更多接口,同时语法也更加简易精炼,如今已经成为世界最流行的硬件描述语言之一。

利用Verilog HDL设计流程如下:

(1)文本程序输入(该实验是在Notepad++软件上编辑Verilog代码程序)。

(2)功能仿真(根據模块功能,写模块对应的TestBench,并在ModelSim中查看逻辑功能是否正确)。

(3)综合(将Verilog HDL语言或原理图转换成综合网表)。

(4)布局布线(根据选定的FPGA器件型号,将网表布到器件中,并估算出相应的时延)。

(5)时序仿真(根据时延利用ModelSim做后仿真)。

基于Verilog HDL的GPS数据采集器的设计,对各个模块的功能进行更加系统的优化,在传统的设计方法上更加精炼,这样就可以使硬件的开发过程和制造过程得以简化。设计采用的是模块设计,主要分为串口、解析和分频这3个模块。串口模块是将GPS芯片接收的串行数据转化成8位并行数据,供解析模块使用,然后解析模块将接收的数据进行处理,根据相应的定位协议,提取有效的定位信息,而分频模块主要是为了平衡两个模块的时钟信号。

(1)串口模块。

GPS数据采集器需要与GPS芯片进行数据通信,所以要用到串口模块,该实验采用的串口模块主要涉及到串口的接收模块,串口通信的一个字符帧格式如图所示(见图2)。

在串口的总线上高电平是默认的状态,当一帧数据开始传输时,必须先拉低電平,这就是第0位的作用。第0位过后就是8个数据位,这8位数据就包含着GPS的定位信息,最后便是校验位或者停止位。此实验主要对总线默认状态下,由高电平转低电平时的检测做了一定研究。

(2)解析模块。

解析模块主要的功能是将串口输出的并行数据,根据GPS所遵循的NMEA-0813协议,对其进行提取与处理,得到GPS相关定位信息。

NMEA(National Marine Electronics Association)协议是为了在不同的GPS导航设备中建立统一信息格式标准,由美国国家海洋电子协会制定。NMEA-0813是现在比较流行的NMEA格式。

NMEA-0813协议一般采用ASCII码编码,利用串行通信来传输,传输的每个数据包包含1个起始位,8个数据位,1个停止位,没有校验位。NMEA-0813协议的格式,以“$”作为语句的起始标志,后面紧跟6种常用的语句,GPGGA,GPGLL,GPGSA,GPGSV,GPRMC,GPVTG。之后就是各个语句不同格式的定位信息,一般有40个字符左右的长度。每种语句尾部会出现“*”标志,作为校验和前缀,最后以校验和数值,回车和换行结束语句,这就是NMEA-0813协议的具体内容。

(3)分频模块。

分频模块是整个实验中最简单的模块,由于解析模块的时钟信号和串口模块的时钟信号频率不同,所以需要用到分频模块。经过理论上的分析,解析模块每个时钟信号处理1个起始位和8个数据位,一共9位,所以串口模块的时钟频率是解析模块时钟频率的9倍。因此分频模块是9倍分频。

根据以上设计的3个子模块,将其进行整合到一个总模块,就必须将3个模块相互连接起来,才能实现数据采集的功能。整个GPS数据采集器的结构图如图3所示。

其中rs232_rx为GPS芯片输出的串行数据,clk_bps高电平时为接收信号状态,clk,rst_n分别是时钟信号和复位信号,data_ready为接收并行数据有效信号,bps_start高电平为数据接收状态,count为串行数据位计数器,data为处理后的数据。

5 结语

文章用到了我们平时所学的串行通信知识和Verilog HDL语言的基本语法,将数字电路系统的设计转移到软件平台上,大大降低了开发的周期,提高了设计的灵活性。在经过软件上的优化和先进的工艺,理论上可以将整个GPS数据采集器的体积大大缩小,同时还能降低它的功耗。通过相关的原理的简介进一步能认识到GPS数据采集器的内部结构和相关模块的作用,提高对GPS数据采集器的了解。

参考文献

[1] 夏宇闻,甘伟.Verilog HDL入门[M].3版.北京:北京航空航天大学出版社,2008.

[2] J.Bhasker.Verilog HDL Synthesis,A Practical Primer[M].Star Galaxy,1998.

[3] J.Bhasker.A Verilog HDL Primer,Third Edition[M].Star Galaxy,2005.