ELECTRONIC TEST
Sep.2011
No.9
基于TMS320F2812的数据采集和处理的系统设计
杨磊1,崔敏1,马铁华1,万磊2
(1 中北大学 仪器科学与动态测试教育部重点实验室,山西 太原 030051;2 航天科工集团第六研究院601所 内
蒙古 呼和浩特 010076)
摘要:本文阐述了一种基于DSP 的数据采集和处理系统的设计和实现,该系统主要采用TI的32位定点数字信号处理芯片TMS320F2812作为信号采集和处理的核心,充分利用该芯片内部的12位的A/D模块对数据进行不同采样频率采集,并且通过事件管理器来启动A/D采样,变频采样速率主要是通过在程序中设置两个变量来控制。数据处理模块充分利用该芯片的强大,快速的计算能力,对采集到的数据进行滤波和快速傅里叶变换,并对处理前后的数据进行存储。通过实验和结果的分析,验证了系统稳定性和可行性。
关键词:DSP ;数据采集;数据处理
中图分类号: TP391 文献标识码: A
Data acquisition and processing system
based on TMS320F2812
Yang Lei1, Cui Min1, Ma Tiehua1, Wan Lei2
(1 Key Laboratory of Instrumentation Science &Dynamic Measurement, North University of China,
Ministry of Education, Taiyuan 030051 China;2 The 601st Institute of the Sixth Academy,CASIC, Huhhot 010076 China)
Abstract: This paper describes the designing and achieving of data acquisition and processing system based on DSP, The dissertation takes the 32 bits fixed-point digital signal processing processor TMS320F2812 of Texa Instrument Company as the core of signal acquisition and processing system.Data is acquisited with different sampling rate through the 12-bit A/D module on-chip,and A/D acquisition is triggered by the event manager, differernt sampling rate is mainly set by two variables in the program. Full use of strong, fast calculating power of the chip,the data is filered and fast Fourier transformed by the data processing module,and is stored.the processed data is stored also. The system is tverified as stability and feasibility through experiments and analysis of the results.
Keywords: DSP; data acquisition; data processing
2.1 ADC模块设计
TMS320F28xADC 模块是一个12位带流水线的模数转换器(ADC),模数转换单元的模拟电路包括前向模拟多路复用开关(MUXs)、采样/保持电路、变换内核、电压参考以及其他模拟辅助电路。模数转换模块ADC 有16个通道,可配置为2个的8通道模块,分别服务于事件管理器A 和B,两个的8通道模块也可以级联构成一个16通道模块。尽管在模数转换模块中有多个输入通道和两个排序器,但仅有一个转换器[6]。TMS320F2812的ADC 模块的功能框图如图2所示。
图2 ADC模块功能框图
两个8通道模块能够自动排序,每个模块可以通过多路选择器(MUX)选择8通道中的任何一个通道。在级联模式下,自动排序器将变成16通道。对于每个通道而言,一旦ADC 转换完成,将会把转换结果存储到结果寄存器(ADCRESULT)中,本系统采用了级联和同时顺
序工作方式,连续转换模式(此模式启动后不用每次产生EOS 信号)对一个通道信号采集。开始ADC 转换由事件管理器启动转换,每次转换结果放在ADCRESULT 寄存器的高12位,而ADCRESULT 寄存器是16位的数字量,所以取数时要对ADCRESULT 寄存器的值进行右移4位的操作。关于ADC 的时钟控制,采用30M 外部晶体给DSP 提供时钟并使能DSP 上的PLL 电路进行5倍频使DSP 工作在150M 的主频下,通过配置高速外设时钟寄存器(HISPCP)设定外设时钟HSPCLK,外设时钟通过ADCTRL3寄存器的ADCCLKPS[3:0]位来分频,然后再通过寄存器ADCTRL1中的CPS 位进行2分频给ADC 模块提供时钟,此外,ADC 模块还通过扩展采样/获取周期进行调整信号源阻抗,这由ADCT 用
0 引言
自动测量与控制系统都离不开数据采集与处理
[1]
,
它是这些系统最初数据的来源。数据采集和处理模块完成对大量原始的现场数据和信息的采集与预处理,并通过建立与上位机的实时通信,向系统提供数据。随着现代检测与控制系统复杂性的提高,对数据采集模块也提出了新的要求[2]。在很多控制系统中,要求数据采集模块能够对多个信号通道进行实时,高速的数据采集与高精度的数据预处理。数字信号处理器(DSP)的出现和广泛使用,很好地满足了数据采集系统对于核心处理器的要求。无论从实时处理外部事件(中断,I/O)的能力,还是对于数据运算的速度和精度来看,数字信号处理器都有非常大的优势。
1 系统的总体设计
本系统采用TI 的32位定点数字信号处理芯片TMS320F2812作为信号采集和处理的核心,充分利用TMS320F2812芯片内部的12位的A/D 模块对数据进行不同采样频率采集,并且通过事件管理器来启动A/D 采样,每次A/D 采样完成后通过中断调用数据处理程序对所采集到的数据进行处理并进行存储[3-4]。系统总体设计框图如图1所示。
图1 系统总体设计框图
2 数据采集模块的设计
对于一个DSP 应用系统,数据采集的重要性是十分显著的。它是DSP 与外界连接的桥梁。A/D 转换器是采集通道的核心,也是影响数据采集系统速率和精度的主要因素,数据采集系统各器件的定时关系是严格的,以确保系统精度,DSP 中的定时电路和逻辑控制电路按照各个器件的工作次序产生时序信号和依据时序信号产生逻辑控制信号。TMS320F2812芯片中集中了一个伪双12位A/D 转换器模块,系统通过事件管理器(EVA)的捕获单元(CAP)来捕获A/D 转换的启动信号[5]
。
1寄存器中的ACQ——PS3。位控制。这些位并不影响采样/保持和转换过程,但通过扩展变换脉冲的长度可以增加采样时间的长度。
2.2 变频采样的实现
本系统变频采样的实现是通过在程序中设置了两个变量ad_flag和ConversionCount,利用这两个变量实现了变频操作(即由高速采存到低速采存的转换),同时也实现了对各阶段采存时间长短的控制。存储总容量为256k,高速采存198k,低速采存58k。
ad_flag有3个状态值:触发前ad_flag=1,此时ADC处于高速采存,即ADC转换的结果一直小于编程设定值,处于待触发状态,此时ad_flag=1,存储器保持循环计数;当ADC转换结果连续8个大于或等于编程设定值时,系统触发,触发后ad_flag =2,计数值ConversionCount开始加1;当ConversionCount=198k时,即计满198采样点后ad_flag=3;ad_flag=3时,通过调用延时模块实现低速采样,当ConversionCount=250k 时,采样完成,进入低功耗模式。通过变量ad_flag和ConversionCount的设置简化了程序设计,使程序更为简洁。具体流程如图3所示。
图3 频采样程序流程图
3 系统软件程序设计
DSP芯片F2812上电后,主程序首先调用初始化DSP内核的子程序,在该子程序中完成禁止看门狗;设定基于锁相环的时钟模式,使得F2812的主频达到150MHz;通过写高速外围时钟定标寄存器和低速外围时钟定标寄存器,完成系统时钟信号的设定;对外围时钟控制寄存器的第0、3、10位写1,使能各外设模块的时钟。紧接着,主程序禁止CPU中断,对中断使能寄存器IER和中断标志寄存器IFR赋值,清除中断。随着主程序调用一系列的初始化程序,完成了相关功能寄存器的参数设定,如初始化PIE中断程序、初始化PIE中断矢量表程序、初始化外部扩展接口程序、初始化片内A/ D程序、初始化时间管理器EVA程序。随后,主程序将A/D中断入口地址、捕获中断入口地址装入PIE中断矢量表中,开中断、当捕获单元捕获到信号的上升沿时,启动ADC进行数据采集[7-8],当每次数据采集完成后启动中断调用数据处理程序对采集到的数据进行处理同时查看程序中ad_flag和ConversionCount变量看是否因该改变采样频率。主程序的流程图如图4所示。
图4 主程序流程图
本系统的数据处理模块主要利用TI公司给出的FFTLibrary函数库(sprc081)实现。合理利用库函数在软件编写和调试时省时省力。,并且程序运行所需时间较短。4 测试结果与结论
4.1测试结果
在测试实验中,利用信号发生器产生50Hz
的正弦
信号为系统提供信号输入,并通过实验研制专用仪器对所采集和经过处理的数据进行读取和显示。该系统采集到的数据如图5所示,进过数据处理(滤波和FFT)后的结果如图6所示。
图5 所采集到的信号
图6 经过数据处理(滤波和FFT)后的结果图
4.2 测试结论
基于TMS320F2812的数据采集和处理系统经过了调试,顺利地实现了数据的采集,处理和存储等功能,完全符合设计要求,为进一步实现实时数据处理和整个控制系统设计提供了一定的基础。
参考文献
[1] 周林,殷侠.数据采集与分析技术[M].西安:西安电
子科技大学出版社,2005:25-30.
[2] 王琳,商周,王学伟.数据采集系统的发展与应用[J].
电测与仪表,2004(8):4-8.
[3] 史洪玮,王紫婷.基于FPGA+DSP的多通道数据采
集系统设计[J].信息技术,2010(10):146-148.
[4] 王天祥.数字信号处理器DSP及其支持芯片的选择
[J].DSP开发应用,1996(7):13-16.
[5] 赵峰.基于DSP的多通道数据采集系统[J].工业控
制计算机,2006,6(3):47-50.
[6] 苏奎峰,吕强,常天庆,张永秀.TMS320X281xDSP
原理及C程序开发[M].北京:北京航空航天大学出版社,2008:175-180.
[7] 王淑芳,张国英.基于DSP的数据采集系统开发与
实现[J].北京石油化工学院学报,2005(1):7-12. [8] 王荣华,王士敏.TMS320C28X处理器在交流采样中
的应用[J].
电测与仪表,2005(3):55-58.
作者简介:
杨磊,硕士研究生,研究方向:动态测试及智能仪器。
E-mail:yangleibuyanbai@163.com.