直升机自动测试中的数据采集及滤波模块的研究
通过FFT算法计算,得到主要频段在200 Hz左右,调用归一化截止频率为O.4的FIR滤波器对其进行FIR滤波处理。经FIR滤波后的数据如图5所示,可以看到波形明显平滑。通过FFT算法还得到信号中直流分量的幅度为31,即31/256=0.12V,去除直流分量后的数据如图6所示。本文引用地址:https://www.eepw.com.cn/article/195124.htm
3 软件程序设计
TMS320F2812芯片提供了良好的C语言开发环境,使用C语言可缩短开发周期。主程序的流程图如图7所示。
程序中编写了多种滤波算法和不同归一化截止频率的50阶Kaiser窗FIR滤波器,上位机可通过CAN总线控制下位机选用适当的滤波器来完成参数配置(也可通过程序自动判断加载)。待这些配置完成后,启动计时器,进而启动A/D采样。
3.1 数据采集及滤波
本系统中,ADC模块中的B0通道用来对信号进行过采样。ADC模块工作在启动/停止模式,由EVA中的定时器1的周期中断来控制采样频率。
ADC采样数据转换结束后,系统进入中断程序。首先,ADC采样的数据经过校准后,存储到Sample_cai[]中,待采样点够1 024点之后,进行FFT计算,计算出波形的主要频段,进而调用适当的FIR滤波器,完成FIR滤除高频干扰后,再根据FFT计算结果中的直流分量,去除信号中的直流偏移,完成滤波算法。
3.2 上位机通讯
系统通过CAN总线与上位机进行通讯。TMS320F2812的eCAN模块支持O~8 B的数据。系统设定为8 B数据传输,将其分配为目标地址、源地址、命令号、报文编号、报文总数、参数1、参数2、参数3、参数4这九部分。
编写的结构体为:
本模块中,上位机地址设定为0x00,数据采集模块的地址设定为0x01。系统会根据word2的数值来配置定时器计数周期(16位),从而设定ADC模块的采样频率。同时会根据Param3的数值选用合适的滤波器。
4 结语
针对直升机测试系统在数据采集过程中遇到的噪声干扰、脉冲干扰,设计了基于TMS320F2812的实时数据采集及滤波模块。模块实现了多种数字滤波方法、CAN总线通讯,并实现了模块根据信号特点自动调用合适滤波器进行滤波处理。在实际应用中上述硬件结构和软件功能都得到了验证,性能良好,满足要求。
评论