基于NIOSⅡ的GPS信息接收系统设计与实现

时间:2022-09-23 06:05:20

基于NIOSⅡ的GPS信息接收系统设计与实现

摘要: 全球卫星定位系统(GPS)可以对海陆空进行全方位的实时定位与导航,其应用日益广泛,通过GPS定位系统及其信息接收装置可以实现对当前所在位置的确定。系统使用天线接收GPS卫星信号,并在?C/OS操作系统下用NIOS处理器进行分析处理,以保证其实时性,最终输出位置、速度等信息进行定位。本系统通过实验测试验证,定位具有较高的准确性和实时性。

关键词: GPS; 卫星定位; NIOS处理器; ?C/OS操作系统

中图分类号: TN911?34 文献标识码: A 文章编号: 1004?373X(2013)06?0105?04

0 引 言

GPS全球卫星定位系统在天空中是由24颗卫星组成的GPS星座构成,它们特定的排列方式可以使地球上任何地方任何时刻都可以观测到四颗及以上卫星,定位精度高,是现有的卫星定位系统中最常用的技术比较成熟和稳定的定位系统,因此在当今社会GPS的应用十分广泛,涵盖陆地、海洋以及航空航天方面的应用,尤其是车辆导航、航程航线测定、船只实时调度与导航等都可以看成是一个个GPS显示系统[1?4]。可见,GPS显示系统能为人们的生活和工作带来许多方便,所以GPS信息接收和显示装置的设计开发具有广阔的发展前景。

GPS信息的接收模块技术如今比较成熟,主要可以分为军事和民用的两类。民用的GPS芯片对于精度的要求并不是很高,但基本都能满足人们的实用要求。由于GPS模块接收到的数据无法直接读取,因此需要设计一个合理的信息接收转换及显示系统,将GPS模块接收的定位数据转化为能够直接读取的格式并显示出来[5]。

本文设计的基于NIOS处理器的GPS定位信息显示系统的主要目的是接收GPS定位卫星的定位信息并实现时间、经度、纬度以及速度等信息的实时显示,为人们的日常生活带来便利。

1 系统的原理及整体设计

1.1 系统原理

GPS模块接收GPS定位卫星发射的信号,并在其内部经过一系列的信息处理解析出具有一定格式的、可读性较强的导航电文,其中包含了经纬度和速度等定位信息。系统设计的GPS信息接收系统,主要是基于FPGA完成的,通过Verilog硬件描述语言在FPGA上嵌入NIOSⅡ处理器,并引入?C/OS实时操作系统来优化整个系统的工作,通过C语言编程从GPS模块输出的定位信息中提取经纬度和速度等信息,并利用液晶显示器显示出来。

(1)GPS接收模块。能够捕获到按一定卫星高度截止角所选择的待测卫星的信号,并跟踪这些卫星的运行,对所接收到的GPS信号进行变换、放大等处理,测出GPS信号从卫星到接收机天线的传输时间,从而解译出GPS所发送的导航电文。此过程完全在现有的GPS模块中完成,本设计只需要了解其输出数据的格式并完成对它的解析即可。

(2)FPGA及其内部NIOSⅡ处理器部分。通过使用Verilog硬件描述语言在FPGA上搭建一个NIOSⅡ处理器,并描述出FPGA内部逻辑电路的连接方式,然后在NIOSⅡ处理器中移植入一个?C/OS操作系统,采用C语言编程控制整个系统的工作,对GPS导航电文进行解析并控制液晶显示等[7?10]。

(3)扩展存储部分。片外的FLASH和SDRAM扩展了系统的容量,可以实现大规模的编程,完成复杂的任务,本设计由于需要操作系统的植入,需要更大的存储空间,因此在FPGA的设置了FLASH和SDRAM。

(4)液晶显示部分。FPGA将从GPS模块解析出来的位置、速度等信息送给液晶,由液晶显示器显示出来,并且要保证其能够实时更新。

(5)下载线部分。通过Altera USB Blaster把电脑里编译好的程序下载到FPGA中的NIOSⅡ处理器上,并进行在线调试。

2 系统硬件设计

系统硬件设计根据各部分的功能需求主要包括2个部分:FPGA及其电路、GPS模块及液晶显示电路。GPS模块负责接收卫星的定位信息并输出导航电文,FPGA及其嵌入的NIOS处理器是分析和处理导航电文的核心,液晶显示屏则显示可直接读取的定位信息。

2.1 FPGA及其电路

FPGA芯片选用Altera公司的CycloneⅢ系列芯片,该芯片有相应的完善的设计开发平台,方便系统的设计与调试[10]。

FPGA配置采用AS+JTAG方式,这样在调试阶段可以使用JTAG方式,最后当程序调试无误后在使用AS模式把程序烧到配置芯片里去。这样做的一个明显的优点是:在AS模式不能下载的时候,可以利用Quartus自带的工具将配置程序生成.jic文件,用JTAG模式来验证配置芯片是否损坏。通过JTAG将FPGA的配置程序写入到片外配置芯片中,掉电不丢失,每次上电时再将其中的程序读入到FPGA中。另外在FPGA的I/O引脚接入一些LED灯,方便观察测试结果,也可用来检验设计的正确与否。

2.2 GPS接收模块及液晶显示电路

GPS接收模块采用Ublox NEO?6M模块,它是一个现有的GPS接收模块,输出的导航电文格式清晰,便于处理。它将接收到的卫星定位信息在其内部经过简单的处理输出给FPGA的I/O端口,在FPGA内部解析之后又通过另外的I/O端口发送给液晶显示器。液晶显示选用12864液晶显示器,并采用串行数据输入方式,将接收到的数据显示出来。

2.3 供电部分

因FPGA各管脚所需输入电压包括3.3 V,2.5 V和1.2 V,12864液晶需要5 V,GPS模块所需电压为3.3 V,因此整个电路板需要多种供电电压,供电电路的设计思想是输入5 V电压,再通过电平转换电路转换出其他所需要的电平。

系统供电模块如图2所示。其中电源与地之间的电容主要作用是去除电源中耦合的其他信号,以减小甚至是消除 这些信号对电源的影响。

3 系统软件设计

3.2 系统功能程序设计

4 系统测试

在分别完成硬件电路和软件程序测试的基础上,将FPGA的硬件配置文件下载到电路中的片外EPCS4芯片中,将软件程序下载到已经构建好的NIOSⅡ处理器中,然后进行总体测试。

连接上GPS天线,程序下载完成并等待一段时间后,天线收到定位数据,系统开始解码并显示定位信息,这时液晶屏上显示第一屏定位信息,即经纬度和速度信息,如图8所示。此时,若按下五向按键的向下键,液晶显示信息翻屏,显示第二屏定位信息,包括航向、时间、日期和设计者信息。

将五向按键分别向上和向下拨动,液晶屏显示信息可以在第一屏和第二屏之间进行切换。可见系统设计正确,能够提供正确的实时位置和时间信息。

5 结 语

参考文献

[1] 武建锋,胡永辉.基于DSP与FPGA的GPS接收机设计[J].微计算机信息,2008,24(4):195?196.

[2] 郭雨梅,刘沛林,朱广鹏.GPS卫星定位系统设计中几个问题的探讨[J].沈阳工业大学学报,2004,26(1):82?84.

[3] 聂泽东,方康玲,徐新.基于FPGA的贴片式定位导航系统设计[J].计算机工程与应用,2007,43(9):107?109.

[4] 郭雨梅.GPS卫星定位系统的设计与实现[J].沈阳工业大学学报,2004,26(1):171?173.

[5] 石剑民,崔建国.手持式GPS接收机的设计[J].沈阳航空工业学院学报,2005,22(2):55?57.

[6] 王庆,万德钧,李滋刚.GPS?OEM卫星定位系统的电文格式及伪距观测量[J].导航,1995(1):53?60.

[7] 李颖宏,赵俊桃.基于SoPC的嵌入式语音处理系统的设计与实现[J].现代电子技术,2009,32(2):33?35.

[8] 吴年祥,谢发忠.基于FPGA的SOPC嵌入式系统设计[J].中国西部科技,2009(8):3?5.

[9] ALAQEELI Abdulqadir A. Global positional system signal acquisition and tracking using field programmable gate arrays [D]. US: Ohio University, 2002.

[10] 关鲁君.可编程逻辑器件现状及发展趋势[J].电子科技,2001(6):24?26.

[11] FENG Gang. Block processing technique for global positional system [D]. US: Ohio University, 2003.

[12] 李耀,崔燕.基于NIOSⅡ的导航系统平台的设计[J]. 微计算机信息,2006,22(6):108?110.

[13] 谭浩强.C程序设计[M].北京:清华大学出版社,1999.

[14] 周航慈.基于嵌入式实时操作系统的程序设计技术[M].2版.北京:北京航空航天大学出版社,2011.

[15] 李爽正.嵌入式操作系统μC/OS?Ⅱ的特点及移植应用研究[J].电脑知识与技术,2008(16):128?129.

上一篇:基于LabVIEW和Maltab的虚拟实验平台构建 下一篇:具有自适应开机和冬眠功能的电源管理设计