DIY编程器网

标题: 基于TMS320F2812的数据采集及处理系统 [打印本页]

作者: liyf    时间: 2012-1-16 17:31
标题: 基于TMS320F2812的数据采集及处理系统

                    前言

数据采集及处理系统在众多领域均有广泛的应用,其主要功能是把外界模拟信号的电压参量经过A/D转换器,转换成数字量,并把转换结果存储以便分析处理。
本系统采用TI 的DSP 芯片TMS320F2812 作为信号采集和处理的核心,通过片上自带的12位ADC进行采集。采集后的数据暂时存储在片内存储器中,通过串行异步通信接口SCI 传输到微机,微机将以文件形式存储采样数据。数字处理部分主要是进行简单的窄带滤波。考虑到采样器件可能和微机有较远距离(但

[/td][/tr][/table]
由上表所得ADC的线性曲线如图1所示:





采集0-3V的信号时(D 为采集的数字量 ADCLO)计算公式为:
V=3(D-ADCLO)/(2power12-1)
采集峰峰值3V的双极性信号时,需要连接偏置电路。首先不加入信号直接测出偏置电压的数字量为DV,则实际的信号与采集的数字量的关系为:
V=3(D-DV)/(2power12-1)

数字信号处理
数字信号处理之所以发展得这样快,应用得这么广,是与它的突出优点分不开的。归纳起来,有以下四个方面的优点:
(1)精度高。模拟系统的精度主要取决于元器件的精度,一般模拟器件的精度达到10-3,己很不容易。而数字系统的精度主要取决于字长,16位的字长可达10-4以上。
(2)灵活性大。模拟信号装置一旦参数选定就不易改变,但是数字系统则不然,它的系数可调,甚至还可以具有可编程和自适应的能力。
(3)可靠性高。由于数字系统只有“0” 、“1”两个电平,其受温度、环境以及噪声等的影响比模拟系统小。
(4)时分复用。利用一套装置同时处理几个通道的信号。

与PC的通信
串行通信接口SCI是采用双向通信的的异步串行通信接口,即通常所说的UART口。为减少串口通信时的CPU开销,TMS320F2812的串口支持16级接收和发送FIFO。SCI模块采用标准非归0 数据格式,可以与CPU或其他通信数据格式兼容的异步外设进行数字通信。当不使用FIFO时,SCI接收器和发送器采用双级缓冲传送数据,SCI接收器和发送器有自己独立的使能和中断位,可以在半双工通信中进行独立的操作,或者在全双工模式下同时操作。为了确保数据的完整性,SCI模块对接收到的数据进行中断检测、极性、超限和祯错误检测。通过对16位的波特率控制寄存器进行编程,可配置不同的SCI通信速率。TMS320F2812支持自动波特率检测逻辑。发送和接收可采用中断和查询两种方式。
由于TMS320F2812片内存储空间相对较小,难以做到长时间连续采集。本系统将采集的结果暂时存储在DSP 的片内数据区,再用微机的串口RS-232 实现与DSP 的电平匹配,同时实现全双工通信。为增大传输距离,在这中间又加两片MAX3490(两片MAX3490 之间电压很高,可以传输相当长的距离)。实验所需的电路原理如图2所示:





软件部分
DSP 的编程工具有C 语言和汇编语言两种。一般实时性要求不是特别高的场合,采用C语言编程完全可以满足要求。对于高速实时应用,采用C语言和汇编语言混合编程的方法,能把C语言的优点和汇编语言的高效率有机结合起来。本文涉及的关键程序和相应的流程图如下:
EALLOW;
SysCtrlRegs.HISPCP.all=03;
EDIS;
AdcRegs.ADCtrL3.bit.ADCBGRFDN = 0x3;
AdcRegs.ADCtrL3.bit.ADCPWDN = 1;
// InitAdc();
//采样窗口大小设置寄存器
AdcRegs.ADCtrL1.bit.ACQ_PS=0xf;
//内核时钟分频器
AdcRegs.ADCtrL3.bit.ADCCLKPS=0x1;
//级联排序器工作方式
AdcRegs.ADCtrL1.bit.SEQ_CASC=1;
AdcRegs.ADCMAXCONV.all=0x0001;
AdcRegs.ADCCHSELSEQ1.all=0x0011;
AdcRegs.ADCtrL1.bit.CONT_RUN=1;
//初始化串行通信模块SCI寄存器
EALLOW;
GpioMuxRegs.GPFMUX.all=0xffff;
GpioMuxRegs.GPGMUX.all=0xffff;
EDIS;
SRA.SCICCR.all=0X0007;
SRB.SCICCR.all=0X0007;
SRA.SCICTL1.all=0X0003;
SRB.SCICTL1.all=0X0003;
SRA.SCICTL2.bit .RXBKINTENA=1;
SRB.SCICTL2.bit .TXINTENA=1;
窄带滤波:
for(k=0;k

[/td][/tr][/table]
结束语
本文论述了以32 位定点芯片TMS320F2812 为核心的数据采集系统,充分利用它的片内外设ADC,SCI。利用其快速的转换时间,实时地把采集的数据传输到微机上。12 位的高速ADC 保证了采样的快速准确和同步,初步实现了数据的采集和存储。数据采样率可以通过程序实时根据输入信号的频率进行改变。



            




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2