基于TMS320F2812与AD976的数据采集系统的设计与实现
2010-08-30肖龙腾胡叨福杨耿煌孟庆国
赵 丽,肖龙腾,胡叨福,杨耿煌,孟庆国
(天津工程师范学院 信息传感与智能控制重点实验室,天津 300222)
基于TMS320F2812与AD976的数据采集系统的设计与实现
赵 丽,肖龙腾,胡叨福,杨耿煌,孟庆国
(天津工程师范学院 信息传感与智能控制重点实验室,天津 300222)
设计并完成了一个基于数字信号处理器TMS320F2812与16位高速A/D芯片AD976的数据采集系统,该系统以高性能数字信号处理器为中心,以AD976为功能模块,设计实现了信号数据的高速、高精度采集。
TMS320F2812;数据采集;数字信号处理
数据采集的主要任务是将传感器采集到的模拟电压或电流信号不失真地转换为数字信号,并传输给微处理器分析。高速、高精度的数据采集在许多对信号分析要求很高的监测系统,如环境检测、振动监测中具有十分重大的意义[1]。
数据的高速、高精度的采集,主要与系统使用的功能芯片有关,高性能的控制处理芯片、高精度高速的AD转换芯片是实现高速、高精度数据采集的基础。本设计使用TI公司的数字信号处理器TMS320F2812,它是TI(Texas Instruments)公司推出的基于C2000内核高性能数字信号处理器(digital signal processor,DSP),工作频率可达150 MHz,具有32位运算能力[2];A/D芯片采用模拟器件(analog device,AD)AD976,AD976是具有16位高分辨率的AD转换芯片,输入范围为-10 V~+10 V,单极5 V电压供电,采样频率可达100 kHz。完成的数据采集系统最大采样速率可达50 kHz,对信号分辨率可达0.3 mV[3]。
1 数据采集系统的设计与实现
1.1 系统的结构
系统结构图如图1所示。
图1 采集系统功能模块图
采集功能主要由TMS320F2812的最小系统与A/ D模块AD976实现,通过I/O口与通信端口(USB与URAT)将数据发送到上位PC机上处理。
1.2 采集功能的实现
模数转换功能实现主要包括三个部分:
(1)A/D转换程序的编写
根据A/D芯片时序图,编写相应的A/D转换时序流程程序,实现模数转换功能。根据时序图,A/D转换所需子函数实现过程如图2所示。
图2 A/D功能的实现流程
(2)数据的读取
在电路硬件上,AD976的 16位数据线与TMS320F2812的16位数据总线相连,完成一次转换后,数据出现在数据总线上,在程序上需要定义TMS320F2812外部存储区的一段内存,如0x088000,通过数据指针读取数据。读取到数据后,以数组的形式保存在内存中,用于算法的分析与处理。电路的原理图如图3所示。
图3 AD976与TMS32F2812电路连接
程序如下:
(3)采样率控制
在本系统中使用CPU定时器的中断函数控制采样频率,中断函数的频率通过调整CPU定时器配置函数ConfigCpuTimer()的参数设定。该函数的第一个参数为选择CPU定时器,第二个与三个参数的乘积与CPU实际工作频率的比值即为中断频率。如下面程序配置。
当系统工作在150 MHz的状态下时,参数2、3的乘积与系统工作频率的比值为100,此时中断频率即为100 Hz。每中断一次,在中断函数中完成一次AD转换,中断频率即为采样频率。
1.3 系统的调试与分析
完成系统的硬件与功能程序设计后,需要对该采集系统与采集方案进行测试,测试设计的开发板是否能正常完成A/D转换的功能,测试中首先使用信号发生器产生正弦信号,将该通过采集系统形成的数字序列波形在CCS开发环境中使用工具中显示,如图4所示。
图4的采集结果表明,通过A/D转换后的数字信号不仅在波形上没有失真,而且整个系统干扰也非常少。进一步的测试表明,系统的最大采样速率能达到50 kHz左右,达到了高速、高精度数据采集的要求。
2 数据信息预处理
2.1 数字预处理的原理
在数据信息采集过程中不可避免地引入各种干扰与噪声,在数据信息采集中,通常需要对信号进行预处理以改善信号的信噪比。在工程中常使用设计滤波电路的方法改善信号的质量,由于滤波电路增加了硬件成本与电路复杂程度,数字信号处理理论与数字处理芯片出现后,工程中多倾向于使用数字处理方法改善信号的信噪比。
数字信号处理器是根据数字信号处理理论设计的专用数字信号处理芯片,可以实现复杂信号处理运算,本设计方案使用的TMS320F2812不仅是优秀的控制芯片,同时也具备高性能的数字处理能力,可通过数字信号处理进一步改善采集信号的信噪比。与模拟滤波电路相比,数字滤波处理具有灵活性和可靠性高,可以获得高性能指标,改变通带与阻带的范围仅需要修改程序等特点。
数字滤波系统可以用如下系统函数[4]:
由此可以得出输入与输出的常系数线性差分方程,为:
由上式可以看出,实现一个数字滤波器需要进行乘法累加,在普通计算机的CPU或单片机中,处理这种类型的运算通常是反复累加,不仅效率很低,且对硬件资源消耗也很大,数字信号处理器通常采用哈弗总线结构,其内部具有硬件乘法器,单条指令周期内可完成一次乘法运算,使数字信号处理中的乘加、卷积等运算效率得到极大的提高。
2.2 TMS320F2812数字滤波方法
根据项目中需求,在系统设计一个100阶FIR滤波器,通带范围为8~280 Hz。与IIR滤波器相比,FIR滤波器具有以下特点:①幅度特性可以随意设计;②可有严格的线性相位特性;③h(n)为有限长,不存在稳定性问题;④可借助FFT来实现;⑤实现采用的滤波器的阶次较高,因为多采用非递结构。
在TMS320F2812上实现FIR滤波器,通常需要三个步骤:根据理论编写计算公式程序,根据需求计算滤波系数,调试与分析[5]。
(1)滤波计算程序的编写
FIR滤波计算公式为:
在计算程序的编写中,使用了TI公司提供的计算包完成计算,并通过C++结构体中调用该计算公式,汇编程序能充分利用数字信号处理器中硬件乘法器的结构,使计算执行的效率更高,计算的点数可达1 024点,超过100阶。
(2)滤波器系数的计算
利用MatLab中数字信号处理工具箱中的滤波器辅助设计工具,可以快捷完成各种滤波器设计、仿真与分析。FDATool不仅能提供滤波器的设计与仿真功能,更为重要的是能完成滤波器系数的计算,并生成包含滤波器系数的C语言的头文件供程序调用,系统中设计一个100阶、FIR带通滤波器,在FDATool中选定带通频率8~280 Hz,采样频率1 000 Hz,阶数100,类型为椭圆形滤波器,其幅频响应图如图5所示。
完成滤波器设计后,在FDATool菜单栏下选择target选项,选择产生C头文件系数,在弹出的对话框中选择相应16位的有符号的整型数据,并保存,得到滤波系数头文件[6]。需要注意的是,MatLab的FDATool中设计滤波器的采样频率、阶数必须与数字信号处理器中程序设计要一致。
(3)调试与分析
完成程序设计与系数计算后,需要在TI公司DSP开发环境CCS中调试验证所设计的算法并在实际开发板上运行,实验的结果如图6和图7所示。
首先使用函数产生5 Hz、80 Hz、310 Hz的混合信号,通过TI公司DSP开发环境中CCS自带的计算绘图工具,得到的幅频响应图如图6所示,信号在高频部分与低频部分均有较强的干扰,噪声的幅度超过了所需信号的幅值。
图7中是信号通过8~280 Hz带通滤波器后的幅频响应图,结果表明,只有80 Hz的信号通过了滤波器,频带外的噪声被大大削弱了,进一步计算显示,滤波器对频带外的噪声削弱达到100 dB左右,对信噪比的提升十分明显。
上述分析表明,在数据采集系统中,使用数字预处理可以大大改善信号的信噪比,提高信号信息采集的效果。
3 结束语
本文以数字信号处理器TMS320F2812为中心,A976为功能模块,设计了一个高速、高精度的数据采集系统。同时利用数字信号处理器的高性能数字处理能力,通过数字处理进一步改善信号的信噪比,使数据采集达到更为理想的效果,该数据采集方案在实践中得到了很好的应用。
[1] 徐雷钧,李霖.基于F2812的数据采集处理系统设计[J].电测与仪表,2008,45(6):35-36.
[2] TMS320F2810,TMS320F2811,TMS320F2812,TMS320C28 10,TMS320C2811,TMS320C2812 Digital Signal Processors data manual SPRS170[Z].Texas Instruments Inc,2007:3-5.
[3] 李宏胜,朱欣华,许向华,等.16位A/D转换器-AD976A及其应用[J].仪器仪表学报,2003,24(4):274-275.
[4] 程佩青.数字信号处理教程 [M].北京:清华大学出版社,2001:202.
[5] Texas Instruments IncFilter Library-FIR Filter Design pack age user’s Guide,C24x Foundation Software(SPRC72)[EB/OL].(2002-05-01)[2009-12-19]Download down from http://www.ti.com/.
[6] 李正周.MATLAB数字信号处理[M].北京:清华大学出版社,2008:103-125.
Design and implementation of data acquisition system based on TMS320F2812 and AD976
ZHAO Li,XIAO Long-teng,HU Tao-fu,YANG Geng-huang,MENG Qing-guo
(Tianjin Key Laboratory of Information Sensing&Intelligent Control,Tianjin University of Technology and Education,Tianjin 300222,China)
A high-speed data acquisition system based on TMS320F2812 and AD976 is designed in this paper, which is centered on high-performance digital signal processor,and uses AD976 as functional modules,thus realizing high-speed and high-precision data acquisition.
TMS320F2812;data acquisition;digital signal processing
book=1,ebook=36
TP274.2
A
1673-1018(2010)01-0030-04
2009-10-04
国家高技术研究发展“863”计划资助项目(2007AA04Z254);中国科学院支持天津滨海新区建设科技行动计划资助项目(TJZX2-YW-06);天津市科技发展支撑重点资助项目(08ZCKFSF03400).
赵 丽(1962—),女,教授,博士,硕士生导师,研究方向为生物医学信号处理与智能控制.