为了防止A/D数据采集过程中由于外界因素产生各种干扰(如尖峰干扰),采用类似于中值滤波的处理方法。设计中添加PROCESS模块对数据进行处理。采集数据时,每个通道数据采样10组,每组采样3次。将每一组的中值取出后求其平均值,作为此次采样数据的值。这样在一定程度上去除了外界因素对结果的影响,也为CPU进行下一步滤波减轻了负担。PROCESS模块对数据处理后,FIFOCS信号不变低,根据AD_CONTROL给出的CHANNEL信号,在FIFOCLK时钟作用下将数据写入对应的FIFO中,每路数据对应一个FIFO模块。
PROCESS模块处理后的数据存储在相应FIFO中,TMS32028335在适当时刻进行读取。读取数据时, CS和RD信号变低,FPGA根据地址线A2~A0,内部通过译码产生RDCS1、RDCS2等信号(内部译码部分图5中未标出),从相应FIFO读取相应通道的采集数据。
本文提出一种新型8通道数据采集系统,适合应用在高精度伺服控制系统中。详细介绍了A/D转换模块和CPU硬件设计电路,采用FPGA完成整个电路时序控制工作。同时,在FPGA内部设置数据预处理模块,对所采集数据进行前置处理,减轻CPU负担,加大其数据处理的能力。经实际工作测试,该设计很好地完成8通道、16位数据采集处理工作,达到系统指标要求。
参考文献
[1] ASHENDEN P J. VHDL设计指南[M]. 北京:机械工业出版社,2005.
[2] Altera Corporation. Cyclone Device Handbook,Volume 1, 2008,5.
[3] 韩西宁,许晖,焦留芳.基于FPGA的同步数据采集处理系统的设计与实现[J]. 电子技术应用, 2009,35(1): 89-91.