设计中,出于对系统功能的考虑,在μC/OS操作系统中设置这样四个任务和一个按键中断:串口接收GPS定位数据,GPS定位数据解码,液晶显示经纬度和速度信息,液晶显示航向、时间、日期和设计者信以及按键中断。开机首先GPS模块初始化,初始化结束串口接收完第一帧完整的数据时,开始对定位数据进行解码;当解码完成后,把解码出的定位信息显示在液晶显示屏上并开始接收下一帧定位数据;通过五向按键的上下拨动可以实现定位信息在液晶屏幕上的交替显示。
4 系统测试
检查完电路连接无误后,首先在QUARTusⅡ软件中建立工程,然后在SoPC Builder中构建好的NIOSⅡ处理器进行编译,编译完成后回到QuartusⅡ界面,将编写好的对FPGA内部电路逻辑进行描述的Verilog语言程序写入到工程里,对其进行编译,结果如图7所示。
从图中可以看出该设计占用的FPGA内部资源。然后将编译生成的FPGA配置文件下载到FPGA片外的EPCS4芯片中,至此,FPGA配置完成,下面开始对软件程序的测试。本设计的软件调试在NIOS IDE软件环境下完成。首先,在NIOS IDE软件环境下新建一个工程,在选择工程模板时可以选择Hello MICroC/OS-Ⅱ,这样在工程建立之时,μC/OS操作系统就已经被嵌入使用,接下来在NIOS IDE工程内输入用C语言编写的功能程序,对工程进行编译,验证程序的正确性。
在分别完成硬件电路和软件程序测试的基础上,将FPGA的硬件配置文件下载到电路中的片外EPCS4芯片中,将软件程序下载到已经构建好的NIOSⅡ处理器中,然后进行总体测试。
连接上GPS天线,程序下载完成并等待一段时间后,天线收到定位数据,系统开始解码并显示定位信息,这时液晶屏上显示第一屏定位信息,即经纬度和速度信息,如图8所示。此时,若按下五向按键的向下键,液晶显示信息翻屏,显示第二屏定位信息,包括航向、时间、日期和设计者信息。
将五向按键分别向上和向下拨动,液晶屏显示信息可以在第一屏和第二屏之间进行切换。可见系统设计正确,能够提供正确的实时位置和时间信息。
5 结语
本文基于GPS定位原理及FPCA设计了一种基于NIOS处理器的CPS信息接收系统,设计所用到的NlOSⅡ处理器专为嵌入式系统设计,μC/OS操作系统具有良好的实时性,有助于提高定位信息的实时显示,以保证其正确性。系统整体设计思想是首先将NIOSⅡ处理器嵌入到FPGA内,FPGA内部电路结构用Verilog硬件语言描述,然后把μC/OS操作系统移植到处理器内部,通过C语言编程完成系统功能。经实际测试验证,本文所设计的硬件电路及C语言功能程序完全能够达到要求,并且能够实现GPS信息接收与显示的功能,实时地为使用者提供精确的经纬度、速度、时间和航向等定位信息。