MAX121与TMS320VC5402在 高速数据采集中的接口设计
发布时间:2008/6/3 0:00:00 访问次数:442
概述
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封装。
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所示。
但这种连接方式能提供的时钟最大为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连接,传送时钟,帧同步信号,数据。
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所示。
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, s
概述
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封装。
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所示。
但这种连接方式能提供的时钟最大为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连接,传送时钟,帧同步信号,数据。
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所示。
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, s