基于BDS的数据采集存储及状态监测系统设计
   来源:现代电子技术     2020年03月26日 19:10

...判断下位机数据采集状态并发送相应控制指令;读取和解析来自下位...

赵阳刚 郭涛

摘 要: 随着北斗卫星导航系统的不断完善,可以为用户提供更高精度的导航与授时服务,实时的信息采集存储及状态监测成为急需解决的问题之一。设计一种基于BDS的数据采集存储及状态监测系统,选用FPGA作为核心处理器,并详细介绍了实时采集存储的设计与实现方案,同时通过串行通信技术将数据上传到上位机中处理。试验结果表明,该系统具有稳定性高、实时性强和易操作的性能,为导航定位服务中的信息采集监测提供了一种方法,具有一定的工程应用价值。

关键词: 北斗导航; 信息采集; 信息存储; 串行通信; FPGA

中图分类号: TN919?34 文献标识码: A 文章编号: 1004?373X(2017)20?0087?04

Abstract: With the improvement of BeiDou Navigation Satellite System (BDS), it can provide users with more accurate navigation and timing services. Meanwhile, real?time information acquisition, storage and condition monitoring become the urgent problems to be resolved. Therefore, a data acquisition, storage and condition monitoring system based on BDS was designed, in which FPGA is selected as its core processor. The designed and implementation scheme of real?time acquisition and storage is elaborated. The serial communication technology is adopted to upload the data to the PC for processing. The experimental results show that the system has high stability, strong real?time performance and is easy to operate, which provides a method for information acquisition and monitoring in navigation and positioning services, and has a certain engineering application value.

Keywords: BeiDou navigation; information acquisition; information storage; serial communication; FPGA

0 引 言

随着我国自行研制的全球卫星定位与通信系统即北斗卫星导航系统(BeiDou Navigation Satellite System,BDS)的快速发展。目前已经具备在亚太地区内全天候、全天时为各类用户提供高精度,高可靠定位、导航、授时服务及短报文通信能力。相较于GPS导航系统,北斗系统在特定的应用领域有着不可替代的作用。目前,多数常规炮弹尚未采用制导控制,命中率较低,但若采用GPS提供导航服务,在战时会造成不可挽回的损失。为了提高武器的命中精度,通常需要利用组合导航对武器飞行过程中的导航参数进行修正[1?2]。本文设计了基于BDS的数据采集存储及状态监测系统,可以实时记录飞行过程中载体的位置和速度等参数,同时可以将导航数据发到上位机中进行处理。

1 系统设计方案和模块设计

本系统为了实现在弹载实验前对BDS是否定位成功进行在线监测,同时将整个弹载实验过程中的BDS导航定位参数进行实时采集存储。系统主要包括北斗卫星接收机模块、FPGA控制模块、FLASH存储模块、串口通信模块[3?4]。

系统总体设计框图如图1所示。

1.1 北斗卫星接收机模块

北斗卫星接收机选择HwaNavMod?2?001弹载高动态卫星导航接收机,该接收机采用高阶跟踪环路专利技术,实现在各种动态下的稳定跟踪和精确定位,而且它还具有体积小、动态性高、抗过载能力强及可靠性高的特点。接收机上电后,根据事先的硬件配置,可以输出卫星号、卫星方位、可见星、锁定星、工作状态指示、时间、定位和测速等动态参数。接收机的定位信息由两路全双工串行口输出,设置数据的波特率为115 200 b/s,1个起始位,8个数据位,1个停止位,无奇偶校验。串口1用于定位系统工作状态检测,同时用于加注星历;串口2以二进制格式输出定位相关信息。接收机输出接口与FPGA之间的连接电路示意图如图2所示。

1.2 FPGA控制FLASH存储模块

本系统选用XILINX公司的Spartan?Ⅱ系列中的XC2S30 FPGA 作为核心控制芯片,该款FPGA采用低内核电压,减小了芯片的功耗。另外,其内部具有丰富的RAM空间,可以开辟成内部的FIFO,对BDS传输的数据进行缓存,保证数据的完整性。本设计选用三星公司的K9K8G08U0E型NAND FLASH作为存储介质。该芯片具有高可靠性、体积小、容量大和读写速度快等特点,方便后续弹载试验过程中存储各种动态参量。该FLASH以页为单位进行读写操作,以块为单位进行擦除操作。其有8个通用I/O口,可以复用为地址线和数据线,从而减小芯片的体积,方便后续的升级更新[5?6]。FLASH存储模块的电路设计如图3所示。

在弹载试验过程中,FPGA控制将BDS传输来的数据进行采样、编帧和存储。试验数据的存储对于事后优化系统的性能,以及多传感器的信息融合具有重要的作用。FPGA通过内部VHDL硬件描述语言编写的软件编程,控制读写信号和不同的指令实现对FLASH的擦除和数据读写[7]。FPGA与FLASH接口电路的设计如图4所示。

1.3 串口通信模块

在弹载试验前,需要对系统内部的BDS接收机状态进行监测,检测接收机是否已经搜星成功并能定位。为了实现系统与上位机之间的通信,采用MAX3232EUE电平转换芯片,将TTL电平转换成RS 232电平,实现系统与上位机之间的电平匹配[8]。FPGA控制将BDS的数据以115 200 b/s的波特率,按照1个起始位,8个数据位,1个停止位,发送到上位机中,对当前BDS的状态进行监测。串口电平转换如图5所示。

2 系统软件设计

软件设计是为了控制硬件电路实现其功能。本系统的软件设计流程为上电后BDS接收机发送出来的数据经过FPGA内部进行消抖处理后,进行采集编帧,然后将采集的数据一边存储到弹载固态存储器FLASH中,一边将数据通过串口发送到上位机中进行监测。系统软件总体设计图如图6所示。

2.1 数据消抖

数字电路中常由于高频的噪声的干扰会造成程序中状态的误判,因此需要对输入的数字信号进行消抖处理,确保程序对信号的判断。消抖设计中采用高频采样监测的原理,系统时钟为20 MHz的高频时钟,而接收机以115 200 b/s的波特率进行数据发送。用高频的时钟连续监测信号,当多次判断都为同一状态时,输出该状态。本设计采用8次连续监测判断消除信号的抖动。数据消抖的流程图如图7所示。

2.2 数据缓存和存储

FPGA在数据接收的过程中,为了防止接收数据速率过快和数据量过大造成的数据丢失和误码,因此在FPGA内部开辟了FIFO缓存空间对数据进行缓存。本文采用两个并行宽度4位,深度1 KB的双端口RAM构成高速FIFO,进而实现对BDS信号的采集存储,保证数据的完整性[9?10]。为了使采集的BDS数据能准确地写人FLASH中,而不会因在页编程延时内造成数据丢失,数据在FPGA内部进行编帧缓存后存储到弹载固态存储器FLASH中,为后续分析优化提供原始数据。

FPGA通过复用FLASH的8个通用I/O口,实现对FLASH的读写操作。系统上电复位后,FPGA实现对FLASH的片选;当R/B端口为低电平时,FPGA通过写时钟将写命令80H和地址写入FLASH中,然后将采集编帧处理好的BDS数据按照事先设定的帧格式写入,再写入结束命令字10H,最后FLASH内部寄存器进入自动页编程将相应数据写入目标地址中,同时,R/B信号再次被拉成高电平[11]。FLASH页编程时序图如图8所示,根据时序要求,FLASH内部程序流程图如图9所示。

2.3 数据串口发送

在弹载试验前,需要对当前BDS的状态进行监测,FPGA通过串行口将采集的BDS数据在上位机中进行监测。系统选用20 MHz有源晶振作为时钟,串口数据发送以115 200 b/s的波特率传输。在FPGA内部采用分频程序生成匹配串口发送的波特率,然后按照1个开始位,8个数据位,1个停止位将数据发送到上位机中进行监测。串口通信的流程圖如图10所示。

3 试验验证

为了验证系统可以完成对BDS定位信息的采集存储,以及实现对定位信息的串口发送和在线监测,利用实验室现有的仪器设备对系统进行试验验证。首先,考虑到弹载环境高过载的特点,选择将BDS接收机和硬件电路一体式灌封到钢结构中,然后再对整个结构进行相应的二次防护。利用SY10?100液压冲击试验台验证高过载环境,该冲击台适用于电工电子产品及小型军用设备作冲击试验,用来模拟系统在使用过程中所经受的冲击环境,评定系统性能的可靠性及结构的完整性。该冲击试验台最大冲击加速度可达70 000 g,冲击持续时间0~1.5 ms。将系统用合适的工装件安装在冲击试验台上,冲击试验台如图11所示,上电稳定后,提升冲击台面450 mm,进行一次冲击试验。

系统上电冲击后,标准传感器反馈的冲击信号图如图12所示,冲击报告见表1。

系统冲击过后,将系统放置在开阔的室外方便BDS搜星定位,用上位机对系统进行在线监测。数据的帧格式如表2所示。

BDS的定位信息通过串口发送到上位机中的部分原始数据显示如图13所示,根据显示的原始数据和数据帧格式可知,帧头EB 90并未错位,说明数据并未丢失;数据的第3个字节为十六进制的24H,表示数据长度为36个字节;数据的第4个字节为定位标志位,02表示定位成功;数据的第5个字节为跟踪星数,05表示跟踪到5颗星,第6~36个字节表示定位相关信息,如:加电时间、经纬度、三维速度等。

经过冲击试验验证,系统可以承受弹载高过载的环境。事后,用数据回读系统对弹载固态存储中的数据回读到上位机中处理后[12]。通过对比分析,固态存储器中数据和上位机中显示的数据完全一致,说明冲击后系统仍然能够正常工作,串口传输和弹载固态存储器中的数据完整、正确。因此,所设计的基于BDS的数据采集存储及状态监测系统完整可靠。

4 结 论

本文基于BDS提供的高精度定位信息,结合FPGA逻辑功能强和内部资源丰富的优点,设计了BDS的数据采集存储和状态监测的系统。详细介绍了系统的软件、硬件设计,并对数据采集存储及使用前的状态监测进行了完整性试验。验证表明,该系统具有稳定可靠、设计简单,为采集存储BDS数据在工程应用方面提供了一种方法。

参考文献

[1] 丁海飞,王红亮,张会新,等.基于ADS8365的多路数据采集存储系统设计[J].化工自动化及仪表,2012,39(1):81?84.

[2] 马明建.数据采集与分析计数[M].西安:西安交通大学出版社,2005.

[3] 崔海逢,宋茂忠.基于FPGA的GPS信号采集及网络传输[J].江南大学学报,2010,9(1):39?43.

[4] 于泓博,陶佰睿,于泓琦,等.基于北斗导航的车辆智能服务系统设计[J].齐齐哈尔大学学报,2016,32(4):1?5.

[5] SAMSUNG. K9K8G08U0M datasheet [EB/OL]. [2005?05?03]. http://pdf1.alldatasheet.com/datasheet?pdf/view/104336/SAMSUNG/K9K8G08U0M.html.

[6] 王敏涛,张会新,秦丽,等.基于FPGA的模数混合采集存储系统[J].火力与指挥控制,2011,36(5):146?148.

[7] 黄玉岗,李杰,秦丽,等.基于FPGA和ADS8568的弹载实时记录系统设计[J].传感技术学报,2016,29(4):506?511.

[8] 翟伟,纪元法,孙希延,等.基于FPGA的高速数据串口采集系统设计[J].桂林电子科技大学学报,2013,33(4):275?278.

[9] 于祥凤,刘学斌,胡炳襟,等.基于FPGA的高速数据存储系统中FIFO控制的设计[J].核电子学与探测技术,2010,30(1):59?62.

[10] 王楠,韩焱,王鉴.基于FPGA的惯性数据采集与存储系统设计[J].计算机测量与控制,2010,19(11):2871?2873.

[11] 胡陈君.弹载小型抗高过载微惯性测量系统设计[D].太原:中北大学,2015.

[12] 郝晓明,李杰,胡陈君,等.基于FPGA 的弹载数据回读系统设计[J].传感技术学报,2015,7(28):1023?1027.

数据 文章 系统