摘 要:文章着重介绍了模/数转换芯片MAX121,并给出在实际设计过程中与TMS320VC5402 的高速接口设计,最后给出了编程实例。
关键词:TMS320VC5402;MCBSP:MAX121
概述
TMS320VC5402是TI公司的第五代DSP专门基于数字信号处理的低功耗的DSP芯片,工作频率高达10ns,在数字信号处理中应用广泛。该芯片提供了2个MCBSP,既可以工作在SPI模式又可以工作在通用串口模式,在系统设计中应用灵活。MAX121是MAXIM公司推出的带有专用DSP接口的14位具有片上T/H、低漂移、低噪声、低功耗快速转换的模拟/数字转换器,功耗只有210mW,转换时间为2.9
s,78dB的SIND,可以和TMS320系列DSP、ADSP系列和Motorola系列单片机进行连接,设计简单。
MAX121芯片介绍
MAX121功能框图
图1 功能方框图(略)
MAX121芯片的功能方框图如图1所示。它有16脚和20脚模式,16脚有DIP和SO封装,20脚有SSOP封装。
图2 (略)
图3 (略)
MAX121工作参数
VDD对DGND 0.3~+6V;VSS对DGND +0.3~ 7V;
AIN对AGND 15V; AGND对DGND 0.3V;
数字输入对DGND(CS、CONVST、MODE、CLKIN、INVCLK、INVFRM)-0.3(Vdd+0.3V);
数字输出对DGND(SFRM、FSTRT、SCLK、SDATA) +0.3(Vdd+0.3V);
强度超出上述极限参数可能导致器件的永久性损坏。这些参数只是极限参数,并不意味着在极限参数条件下,或者任何其它超出技术规范规定的工作条件下器件能有效工作。
MAX121的工作原理
如图2,当转换开始时,缓冲器与AIN端断开,对输入信号采样。在转换结束时,缓冲器输入端又连接到AIN端,而且保持电容跟踪输入电压。无论何时,只要转换没有进行,T/H就处于跟踪模式。在转换开始以后,保持模式启动时间接近10ns(窗口延迟)。从一次转换到下一次转换延迟变化的典型时间为30ps(窗口抖动)。
电路时钟频率
MAX121工作时需要一个与TTL、CMOS电平兼容的时钟,时钟频率的范围从0.1~5.5MHz。为满足2个时钟周期400ns采集时间的要求,最大时钟频率限制在5MHz。由于内部T/H电压下降速率的限制,所有模式的时钟频率不应低于0.1MHz。
输出数据
转换结果以16位串行数据流输出,前14位为数据位(首先为MSB),后2位为零。输出数据为二进制补码形式。在CLKIN的上升沿,数据在SDATA端同步输出。输出数据可用FSTRT或者SFRM输出来分帧。要求每次转换最少为18个时钟周期,以获得有效输出。
高速接口设计及编程
MAX121共有三种工作方式:
1 )由/CONVST控制转换;
2 )/CS控制转换;
3 )连续模式。
三种模式中第一种是用于和DSP以及其他微处理器连接,第二种用于多个器件组合应用,第三种MAX121工作在连续转换状态下,应用于数据的连续采样。
在方式1中,有两种时钟提供方式,其一由CLKR提供时钟,原理框图如图4所示。
图 4(略)
但这种连接方式能提供的时钟最大为3.2MHz,另外可由外部电路提供时钟,最高可达系统的最大时钟5.5MHz,实现高速连接,根据设计要求,在实际使用时选择第二种连接方式。具体电路设计如
5所示。
CLKIN(14)外接一有源振荡器,提供5MHz的时钟;
MODE(16)接+5v电源,/CS接地:选择工作模式;
/CONVST(13)接TMS320VC5402的XF引脚,由DSP的通过XF控制数据转换;
SCLK(12),FSTRT(10),SDATA(11)分别和DSP的BLCKR0,BFSR0,
BDR0连接,传送时钟,帧同步信号,数据。
图 5(略)
CLKIN是MAX121的输入时钟,而SCLK使数据移位进入处MAX121,CLKIN由外部时钟振荡器驱动(5MHz)。TMS320VC5402的XF引脚(通用I/O口)驱动MAX121输入端为低,启动一次转换。TMS320VC5402的BCLKR0(接收时钟)端配置为输入,并由MAX121的SCLK输出端驱动。MAX121的SDATA输出端数据在时钟的上升沿改变状态,而在时钟下降沿,数据被锁存到TMS320VC5402的DR输入端。这样可提供1/2个时钟周期,以满DR输入端所需要的数据建立和保持时间。MAX121
SCLK和SDATA之间的最大时滞在+25时为65ns,所以1/2个时钟周期足以满足要求的建立和保持时间,工作时序如图6所示。
图 6(略)
MAX121的FSTRT输出驱动TMS320VC5402的BFSR0输入,以对数据分帧。FSTRT输出的下降沿指示MSB已准备好,可被锁存。在下一个时钟下降沿,MSB被锁存在TMS320VC5402。使用这种接口,配置TMS320VC5402可接收16位,于是14位数据被时钟同步移入DSP,同时跟随两位尾随的0。
主要程序如下:
WRITEMCBSP .macro VALUE SUBADDRESS;设置MCBSP的宏函数
STM SUBADDRESS SPSA
STM VALUE SPSD
.endm
……
TINT0 B START
BRINT0BRECEIVE
……
.text
……
SSBX INTM
STM #K_PRD, PRD;初始化内部定时器
STM #K_TCR, TCR
WRITEMCBSP #K_SPCR1,SPCR1;设置MCBSP控制寄存器
WRITEMCBSP #k_SPCR2, SPCR2
WRITEMCBSP #K_PCR, PCR
WRITEMCBSP #K_SPCR1, SPCR1
WRITEMCBSP #K_RCR1, RCR1
WRITEMCBSP #K_RCR2, RCR2
RSBX INTM
ANDM #0FFEF,TCR ;开启定时器,当产生中断时,响应START程序
WRITEMCBSP #K1,SPCR1 ;启动MCBSP口
WRITEMCBSP #K2H, SPCR2
……
START:
RSBX XF;启动MAX121,开始转换数据;当产生BRINT0时响应RECEIVE
……
RECEIVE:
LDM RDRR, A
ST A ,*SAMPLE
SSBX XF
RETE
……
RETE
结论
该设计部论的硬件部分和软件部分都已经得到实验验证,并将其应用到研发之中,与同类A/D比较,与DSP等有简易的接口,应用方便,而且有着较高的分辨率,实用性很强。
|