阳卫平
中北大学,山西 太原 030051
本文提出一种采用FPGA为主控制平台的动态数据采集系统,外部的各种传感器采集到的数据统一输入到FPGA,FPGA完成数据的接收接口,数据缓存,采样输入控制的功能。
整个系统由数据采集输入,缓存输入,输入数据处理模块,外部存储模块组成。
数据采集输入模块包含了各种测量环境状态的传感器,包括温度传感器,压差传感器,湿度传感器,速度传感器,风速风向仪,高度计,GPS,惯性传感器。缓存输入模块包含了相应的8组FIFO用来缓存传感器输出来的数据。数据处理模块主要是实现了多传感器数据融合。外部存储模块主要是实现了环境状态数据的备份或者缓存。整个系统的原理框图如图1所示:
图1 系统原理框图
压力传感器,温度传感器,速度传感器对于所处位置和精度要求不是特别高所以可以采用传统的调理加采样的电路就能获得数据。而惯导传感器,GPS模块,速度传感器,风速风向仪对于传感器的摆放位置和精度都要求比较多,因此采用了集成的传感器模块,这种模块内部已经包含了调理和采样电路而且是用小型单片机加上了各种参数补偿,所采集的数据能通过RS232接口传出。
以上各种传感器的数据出来后都统一放置在FPGA开辟出来的Block RAM 高速缓存中,然后后面的数据处理模块就能够从RAM里面获得数据进行处理,处理完的数据最后通过RS232的接口传输到上位机中。
各个传感器选择工业级的就能够满足要求,同时为了能给ADC提供一个稳定的基准电源,这个基准电源很重要,直接影响到ADC的转换精度。在这里我们采用AD780作为参考电压源。AD7667中AD_CS#为片选信号负电平有效;D0-D15为数字信号输出通道,转换完成后的数据由此输出;AD_START表示开始转换信号,AD_BSY为高电平时,表示目前正处于转换当中,转换结束后自动变为低电平,该信号的下降沿可以作为读数据的时钟信号[1]
接口分为两种,一种是通过AD7667出来的数字信号直接就存在缓冲RAM中。还有一种通过RS232传输的传感器数据则需要在FPGA中采用UART IP核以解码串口中的数据,然后再存入在缓冲RAM中。由于UART IP的使用非常广泛且简单,所以这里没有必要详细说明。
各个传感器的数据进入到RAM后,就要对这些数据进行一些必要的处理了,数据处理模块正式完成这项任务的。
多传感器数据融合其基本原理是充分利用多个传感器资源及其观测数据的合理支配和使用,把多个传感器在空间或时间上的冗余或互补信息依据某种准则进行组合,以获得比其各组成部分的子集更优越的性能[2]。
在这里我们采用的数据融合模式是使用GPS接收机和惯导系统互相辅助,把GPS和惯导系统按综合的要求进行一体化设计的紧密组合模式。GPS接收机提供接收后的原始数据称之为伪距、伪距率。伪距、伪距率组合便于卡尔曼滤波器的设计与实现,便于组合导航系统的一体化设计 。
外部存储模块与接口模块类似同样是通过UART IP核来实现RS232接口,通过这个接口把数据传输到上位机中。
本文设计了一种低成本的嵌入式数据采集系统,可以作为飞行控制的采集板来使用,在未来还可以采取测量精度更高的传感器,以改进电路系统。同时对多传感器数据融合算法的研究可以更深以便改善整个系统的软件性能。
[1]AnalogDevices.16-bit1MSPSSARUnipolarADCwithRef,2002.
[2]杨万海.多传感器数据融合及应用[M].西安:西安电子科技大学出版社,2004.
[3]何友.多传感器信息融合及应用[M].北京:电子工业出版社,2001:112-145.