DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 157|回复: 0
打印 上一主题 下一主题

基于TMS320F2812的数据采集及处理系统

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 17:31:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

                    前言

数据采集及处理系统在众多领域均有广泛的应用,其主要功能是把外界模拟信号的电压参量经过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 保证了采样的快速准确和同步,初步实现了数据的采集和存储。数据采样率可以通过程序实时根据输入信号的频率进行改变。



            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-19 01:30 , 耗时 0.079067 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表