基于TMS320F2812的信号处理系统的设计
2010-11-04高利兵
高利兵
(中国石油集团测井有限公司吐哈事业部 新疆鄯善)
基于TMS320F2812的信号处理系统的设计
高利兵
(中国石油集团测井有限公司吐哈事业部 新疆鄯善)
根据高分辨感应测井仪井下信息处理的需要,设计了一种基TMS320F2812的信号处理系统。采用DSP芯片TMS320F2812实现井下信息的实时采集处理,将数据通过串行异步通信接口传到PC机,由PC机的串口调试工具对接收信号进行显示和具体分析并将结果反馈给DSP进行控制。文章对硬件和软件设计及其进行了详细描述,该系统具有很高的可靠性,具有高速数据采集功能。
DSP;SCI;采集;信息处理
0 引 言
随着现代科学技术的发展和计算机技术的普及,信号处理系统已应用于越来越多的场合,如:无线通信、语音识别、机器人、遥感遥测和图像处理等领域。数字信号处理器(Digital Signal Processor,DSP)芯片在高速信号处理方面具有速度快、运算性能好等优点。本文设计了一种基于TI公司的TMS320F2812的信号处理系统。充分利用该芯片内部自带了12位,总共16路的AD,使得2812的AD精度理论上可达到12位的精度。
1 系统硬件设计
1.1 总体结构
本文介绍的信号处理系统采用TMS320F2812的模数转换模块(ADC),完成数据的采集及A/D转换,转换后的数据预先存储到片外的RAM中,再经DSP进行前端的数字信号处理,通过串口总线传给PC机,并在PC机上进行存储、显示和分析等。本系统主要由数字信号处理器TMS320F2812、模拟信号的预处理、片外存储器SRAM、RS232通信接口组成。图1为系统结构框图。
图1 系统结构框图
其中,由于该DSP的A/D采样端口的最高采样输入电压是3V,为了能使其正常工作,送入DSP的信号必须经过运放处理后,使其在A/D正常采集电压范围之内,模拟信号的预处理模块的作用就是将输入的信号电压的幅度调节到0~3 V范围内;片外RAM选用ISSI公司的IS61LV51216芯片作数据缓冲;TMS320F2812对输入的信号进行采集、处理,并将其处理结果通过RS232总线接口与PC进行数据通信,通过串口调试工具实时监测发送和接收数据;ADC模块以中断方式实现数据的收/发处理。
1.2 DSP的ADC
DSP采用TI公司的32位定点芯片TMS320F2812,外部采用低频时钟经过锁相环倍频后最高可在150 MHz主频下工作,并带有18 K×16 bit零等待周期片上SRAM和128 K×16 bit片内FLASH。本系统DSP的ADC采用级联成一个16通道的顺序采样模式对数据进行采集、处理。转换结束后采样的通道值就会被保存到相应的结果寄存器(ResultReg0—ResultReg15)中去。其ADC模块框图如图2所示[1]。本系统采用这款DSP的片上ADC模块对待处理的信号进行模数转换。该模块有16个通道,单通道转换的最小的转换时间是80 ns,因此,DSP的最大采样速率可达到12.5 MHz[2]。
根据现场实际需要,本系统采用软件来启动AD转换(SOC=startof conversion)。但是由于一些DSP内部的原因,使得2812的AD精度达不到12位的精度,而且误差比较大,不过这足以满足实际对测井数据的精度的要求,为了提高内部AD的精度,也可从硬件和软件的角度采用补偿措施对其进行校正,使得其精度达到了现场对信号处理的要求。
图2 2812的ADC模块框图
1.3 通信模块设计
DSP的输入/输出电平为TTL电平,即UART串口,这与PC机的RS-232标准串行接口的电气规范不一致,因此DSP与PC机之间的数据通信必须进行电平转换。
选用MAX3232CSE驱动芯片可以很好地解决这个问题。DSP与MAX3232CSE连接如图3所示。
图3 DSP与MAX3232CSE的硬件连接
SCI模块支持多处理器通信,有空闲多处理器模式和地址位多处理器模式两种通信协议,这两种协议允许在多处理器间进行有效的数据传送。同时,SCI还提供了通用异步接受/发送(UART)通信模式,能够与多种带有标准串口的外设进行通信。SCI的接收和发送数据都采用非归零数据格式,数据的基本单元为字符,带有格式信息的数据字符叫一帧,每个帧包括:一个启动位,1~8个数据位,一个奇/偶校验位或无奇/偶校验位,一个或两个停止位。在同一条串行连接线上,多处理器通信模式允许一个处理器向串行线上其他处理器发送数据。但是一条串行线上,每次只能实现一个数据传送[3]。空闲线模式与地址位模式的区别只是数据帧格式有无Addr/data位,具体采用哪种模式可通过SCICCR的的第三位ADDR/IDLE MODE确定,本系统需要处理大的数据块,所以将其配置为空闲线模式:
SciRegs.SCICCR.all=0x0007;//设置为一个停止位,禁止字测试模式
大多数的SCI硬件模块不支持自动波特率检测,而在TMS320F2812处理器上,增强功能的SCI模块硬件支持自动波特率检测逻辑和发送/接受FIFO操作。自动波特率检测逻辑主要解决中断过程中波特率的确定问题[4]。16字的FIFO可极大减少通信中断次数以提高通信速率。通过设置SCIHBAUD,SCILBAUD的值可到64K种不同的波特率,波特率的计算公式为:
本系统的外部晶振20MHz经过PLL5倍频后达100 MHz,该系统中的PC与DSP的通信速率设置为19 200 bps,通过对SCI的进行初始化即可。
计算机端利用串口调试助手实现接收显示,将其设置成与DSP相同的波特率、有无校验位、数据位长度、停止位长度以及数据位数即可正常显示收/发数据。
2 系统软件设计
系统的软件设计包括DSP程序的初始化,采集处理部分。系统上电后,程序要对DSP所有要用到的的外设及时钟根据系统的需要置于初始状态,然后开启定时器CPUTIMER1,在定时器CPUTIMER1中断中进行信号采集和处理,最后将处理的结果经串口送入PC机中,交由PC机程序对数据进行具体的分析处理[5~6]。软件设计的流程图如图4所示。
图4 软件设计的流程图
主程序代码如下:
void main(void)
{
InitSysCtrl();//初始化系统
DINT;//关中断
IER=0x0000;
IFR=0x0000;
InitPieCtrl();//初始化PIE控制寄存器
InitPieVectTable();//初始化PIE向量表
EALLOW;
PieVectTable.ADCINT=&ad;
EDIS;
InitAdc();//初始化ADC
IER|=M_INT13;//使能CPU定时器1
EINT;//使能全局中断INTM
ERTM;//使能实时调试中断DBGM
while(AdcRegs.ADC_ST_FLAG.bit.SEQ1-BSY==0)
{
AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;//软件启动
ADC
}//从空闲模式启动SEQ1
AdcRegs.ADC-ST_FLAG.bit.INT_SEQ1_CLR=1;//清除SEQ1的中断标志位INT-SEQ1
ADResult[i]=3*adcregs.adcreulti/65520;//设置AD的精度为
12位
}
3 结 论
基于DSP的信号处理系统采用TMS320F2812片内自带的12位的AD模块,大大地节省了系统成本,同时也简化了硬件的设计。该系统具有较高的信号采集与处理精度和通用性,可满足现场的需求。
[1] 苏奎峰,吕 强.TMS320F2812原理与开发[M].北京:电子工业出版社,2006
[2] Texas Instruments Inc.TMS320F2812 Fixed-point digital processor[DB/OL].http://www.ic-on-line.cn/IOL/datasheet/tms320f2812.pdf.2009-05
[3] 季小林,高晓蓉.基于TMS320F2812的数据采集系统[J].微计算机信息.2007,23(8)
[4] 孙元敏,尹立新,杨书涛.基于TMS320F2812的高速数据采集处理系统[J].计算机工程.2009,35(2)
[5] 苏奎峰,蔡昭权.TMS320X281X DSP应用系统设计[M].北京:北京航空航天大学出版社,2008
[6] 苏 涛,蔡建隆.DSP接口电路设计与编程[M].西安:西安电子科技大学出版社,2003
P631.8+3
B
1004-9134(2010)06-0069-02
高利兵,男,1982年生,工程师,2004年毕业于西安石油大学机械设计制造及其自动化专业,现在中国石油集团测井有限公司吐哈事业部人力资源部。邮编:838202
2010-02-27编辑:高红霞)