首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年4月28日星期日
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
基于 TMS320F2812 的数据采集及处理系统

High-Speed Data Acquisition and Processing
System Based on TMS320F2812

烟台大学 光电信息学院 李同彩 陈计信


前言

数据采集及处理系统在众多领域均有广泛的应用,其主要功能是把外界模拟信号的电压参量经过A/D转换器,转换成数字量,并把转换结果存储以便分析处理。

本系统采用TI 的DSP 芯片TMS320F2812 作为信号采集和处理的核心,通过片上自带的12位ADC进行采集。采集后的数据暂时存储在片内存储器中,通过串行异步通信接口SCI 传输到微机,微机将以文件形式存储采样数据。数字处理部分主要是进行简单的窄带滤波。考虑到采样器件可能和微机有较远距离(但< 1200M),在SCI和微机间采用了RS-422传输协议。


TMS320F2812介绍

目前应用最多的是德州仪器公司的TMS320系列和摩托罗拉公司的DSP56000和DSP96000系列。TMS320F28系列芯片是TI最新推出的DSP芯片,特别适用于有大批量数据处理的测控场合,如数据采集,工业自动化控制,电力电子技术应用,智能化仪器仪表及电机,马达伺服控制系统等。其主要特点有:

采用高性能的静态CMOS技术,能在一个周期内完成32*32位的乘法累加运算,或者两个16*16位的乘法累加运算;时钟频率最高可达150MHz即6.67ns的指令周期,外部采用低频时钟、通过片内锁相环倍频,低功耗设计,FLASH 编程电压为3.3伏特。

16通道的12位模数转换器(ADC)含两路采样保持器,一个转换单元,可实现双通道同步采样,最小转换时间为80ns.片上含两个事件管理单元(EVA,EVB),设计用于PWM输出,转速测量、脉宽测量等。通讯接口,含2 个通用异步串口(SCI);2个通用同步串口(SPI),1个CAN总线接口(ECAN),2个McBSP串口(McBSP),56个独立配置的通用多功能I/O(GPIO)。

TMS320F2812应用的大量外设接口简化了电路设计。同时,它提供了足够的处理能力,使一些复杂实时控制算法的应用成为可能。


片内外设ADC

TMS320F2812 的ADC模块是一个12位分辨率的,具有流水线结构的模数转换器,(流水线ADC也称作分级型ADC)是这三种结构(现代模数转换器(ADC)设计最常用的结构分为逐次逼近(SAR)型ADC、 - ADC和流水线ADC三种)中能超过100 MSPS最高采样速率(但精度最低)的ADC,这种流水线结构的ADC分辨率通常最高仅能达到14 bit。TMS320F2812内置双采样保持电路,保持数据采集时窗口有独立的预定标控制。并且允许系统对同一通道转换多次,允许用户执行过采样算法,这较传统的单一转换结果增加了更多的解决方案,有利于提高采样的精度。有多个触发源可以启动ADC 转换。快速的转换时间, ADC 时钟可以配置为25MHz,最高采样带宽为12.5MSPS。用TMS320F2812 搭建数据采集系统时,不必外接ADC,避免了复杂的硬件设计。由于此ADC可以直接对0-3V电压范围采样,也可以经过信号调理后对峰峰值不超过3V的双极性模拟信号进行采样。先把被测信号用示波器或其他方法判断其极性和幅值范围。若为单极性信号则断开偏置电路,双极性时连接到电路上调节电压范围到0-3V。为测试片上ADC的线性,实验中主要是对几个电平信号进行采样,把ADC 采集的结果在程序中计算其对应的模拟量,并且同时用数字万用表测量,计算ADC 的线性和精度。实验数据如表1所示。

表1:实验数据(略)

由上表所得ADC的线性曲线如图1所示:

图1 ADC的线性曲线(略)

采集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所示:

图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<=l-1;k++)
{
wf=(2*pi*k)/l;
re=0.0;
im=0.0;
for(i=0;i<n;i++)
{
re=re+h[i]*cos((float)i*wf);
im=im+h[i]*sin((float)i*wf);
}
d[k]=sqrt(pow(re,2)+pow(im,2)); /*求模(幅度)*/
//db[k]=20.0*log10(d); /*转换为对数表示形式*/
实际采集到的一个波形为:

图(略)


结束语

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

《世界电子元器件》2006.4
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com