基于TMS320F2812数据采集系统的设计刘娜,王丰(中国电子科技集团第四十五研究所,北京100176)摘要:本文提出了基于DSP内部模数转换器ADC的软硬件设计,并且介绍了如何通过有限长单位冲激响应FIR滤波器对复杂数据进行处理,从而提供了一种可靠有效的数据采集系统的设计方法。关键词:DSP;ADC模块;数据处理;FIR滤波器;中文图书分类号:文献标识码:TheDesignofDataAcquisitionSystemBasedonTMS320F2812LIUNa,WANGFeng(The45thResearchInstituteofCETC,Beijing100176,China)Abstract:ThispaperpresentedthehardwareandsoftwaredesignoftheDSP'sinternalADCmodule,andintroducedthefinitelengthunitimpulseresponseFIRfilterforcomplexdataprocessing,thusprovidinganeffectiveandreliabledataacquisitionsystemdesignmethodology.Keywords:DSP;ADCmodule;DataProcessing;FIRfilter;数字信号处理器(DSP)是数字信号处理与超大规模集成电路技术融合的结晶。目前,该技术已经广泛地应用于仪器仪表、通信、图像处理、频谱分析、电机控制等领域,在推进信息处理数字化方面发挥着越来越大的作用。数据采集作为其中的关键环节引起越来越多的重视。本文基于TI公司的DSP设计了数据采集系统,并对采集的数据进行了前端处理,从而为后续信号处理和控制提供了可靠的依据。1.基于TMS320F2812采集方案的软硬件设计TI公司的TMS320F2812集微控制器和高性能DSP的特点于一身,具有强大的控制和信号处理能力,为实现复杂的控制算法提供了硬件支持。它具有128K的Flash,16个12位的A/D转换通道、增强的CAN模块、两个事件管理器EVA和EVB、正交编码电路及多通道缓冲串口等外设,丰富的外设模块使得它在工业控制中获得了广泛的应用。本文设计的采集系统直接基于F2812的内部ADC。它是具有12位分辨率的、流水线结构的模数转换器。它的16个通道,可以配置为2个独立的8通道模块,也可以级联成一个16通道模块。由于F2812非常脆弱,它要求AD采样端口的采样输入电压不高于3V,为了防止输入AD采样的电压过高或者输入电压为负电压时烧坏DSP,本系统在AD口的输入采用嵌位二极管进行限制电压,使输入电压范围在AD正常工作的采样范围之内,其中某一通道的设计结果如下图1所示。图1AD采样通道的硬件处理AD采样输入的模拟电压值和转换后的数值之间的对应关系为:0ADCresult40953VoltInputADCL(1)式中ADCLO为AD转换的参考电平,实际使用的过程中,将其与GND连在一块,此时ADCLO的值为0。软件流程图如图2所示,ADC模块可以通过软件触发和事件管理器EVA和EVB进行触发,本文用到的采集系统是通过EVA的定时器3进行触发,可以准确的设定了采样时间,将采集到的数据存入ADC的结果寄存器中。DSP系统初始化(时钟频率、GPIO、中断向量等的初始化)开始ADC模块初始化(采样模式、通道以及启动模式的选择)滤波器初始化(滤波器种类、滤波器阶数的设定)时间到?数据采集及滤波处理结束结束采集?ADC模块初始化(采样模式、通道以及启动模式的选择)是否是否图2数据采集流程图2.FIR滤波器的原理在实际的数据采集中,我们得到的数据中往往伴随着噪音的干扰,而不能够准确获得真实数据。本文利用DSP强大的信号处理能力很好的解决了这一问题。数字滤波器是在数字信号处理中占有非常重要的地位,其实质是利用有限精度算法实现离散时间线性时不变系统,从而完成从接收信号中提取出需要的信息同时抑制干扰的功能。它具有可靠性好、精度高和灵活性大等优点。本文以有限长单位冲激响应FIR滤波器为例,将其运算机理写成程序并让DSP执行,从而完成数字滤波器对复杂数据的处理。作为数字信号处理系统中最基本的元件,FIR(FiniteImpulseResponse)滤波器的是稳定的系统,可以在保证任意幅频特性的同时具有严格的线性相频特性。FIR滤波器的单位冲击响应()hn是有限长的(0≤n≤N-1),其z变换为:10()()NnnHzhnz(1)对于FIR系统的单位采样响应,其系数()hn为,0()0,nhnNhn其它在实际应用中,对于输入信号为()xn,经过FIR滤波的输出信号()yn为:10()()()Niynhixni(2)由于FIR系统只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。要取得好的衰减特性,一般要求()Hz的阶次要高。但FIR系统有自己突出的优点,其一是系统总是稳定的,其二是易实现线性相位,其三是允许设计多通带(或多阻带)滤波器。后两项都是IIR系统不易实现的。目前,FIR数字滤波器的设计方法主要是建立在对理想滤波器频率特性作某种近似的基础上的。这些近似的方法有窗函数法、频率抽样法及最佳一致逼近法。文中用的是窗函数法。3.FIR滤波器在DSP中的实现方法及结果验证由上述分析可知,FIR滤波器的算法实际上是一个乘法累加运算。在这个乘法累加运算中,主要涉及到3个要素:输人信号()xn、冲击响应即滤波器系数()hn和输出信号()yn,其中滤波器系数()hn的设计直接决定是否能够准确的进行滤波。因此,本文将数据采集过程分为三个阶段,原始数据采集与分析、滤波器设计、以及仿真与结果验证。如下图3所示,数据是采样时间设定为50us,总时间为60ms对直流模拟量的进行采集,从图中可以看出该数据含有较多的噪音,很难分辨出不同时刻该模拟量的准确值。0102030405060020040060080010001200采集时间/毫秒ADC采样值图3ADC采集的原始数据为此设计一个FIR低通滤波器,其截止频率=100Hz,抽样频率=20000Hz,阶数N:50,选择窗函数为Hamming窗。其频谱如下图4。0200040006000800010000-600-400-2000频率(Hz)相位(degrees)0200040006000800010000-150-100-500频率(Hz)幅值(dB)图4FIR滤波器的频谱通过MATLAB获得滤波器系数()hn={0.00270.00290.00320.00390.00480.00590.00720.00880.01050.01240.01440.01650.01870.02090.02300.02520.02730.02920.03100.03270.03410.03530.03630.0370.03740.03750.03740.0370.03630.03530.03410.03270.0310.02920.02730.02520.0230.02090.01870.01650.01440.01240.01050.00880.00720.00590.00480.00390.00320.00290.0027}。一方面利用设计的滤波器对原始数据进行处理,从而获得仿真结果;另一方面将获得系数写入DSP程序中,通过实时采集获得滤波后新的一组数据。将仿真与实测结果进行对比,如图5所示,仿真与实测有良好的一致性,从而肯定了方案的正确性。另外与原始数据(图3)对比可知,经过FIR滤波后,可以将采集数据中的噪音去除,获得平滑的数据结果,为后续数据处理和控制带来方便。010203040506001002003004005006007008009001000采集时间/毫秒ADC采样值实测仿真图5滤波器仿真和实验数据结果5.结论本文基于TI公司的TMS320F2812设计了ADC数据采集数据的软硬件方案,并介绍了FIR数字滤波器的理论、设计及在DSP上的实现过程。从实验结果可以看出,该系统对于复杂数据的采集能够获得良好的效果。在实际应用时只需按要求修改滤波器参数,即可实现不同截止频率的FIR滤波器对不同的数据的采集和处理,具有很强的实用性。参考文献[1]苏奎峰,吕强等.TMS320X281XDSP原理及其C程序开发[M].北京:北京航空航天大学出版社,2008.[2]徐科军,陶维青等.DSP及其电气与自动化工程应用[M].北京:北京航空航天大学出版社,2010.[3]程佩青.数字信号处理教程[M].北京:清华大学,2003.[4]孙军英.基于DSP的FIR数字滤波器的实现[J].西安:电子元器件应用,2010.