DSP与串行A/D组成的高速并行数据采集系统 (图)
引言
---tms320vc5402(以下简称c5402)是德州仪器公司1999年推出的定点数字信号处理器(dsp)。与tms320c54x系列的其他芯片相比,c5402以其独有的高性能、低功耗和低价格受到了人们的广泛青睐。c5402增强外设有软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问(dma)控制器、增强型8位并行主机接口(hpi)等。两个可编程的多通道缓冲串口(mcbsp)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简单,串口的工作模式和传送数据的格式可通过编程实现。
---因为c5402内部没有集成a/d,因此在数据采集时需要使用a/d转换芯片,a/d芯片与c5402的接口设计成为一个重要的问题。a/d转换芯片一般有串行a/d和并行a/d。为了充分利用c5402所提供的多通道缓冲串口资源,简化系统设计,本文系统使用了ti公司的高速串行a/d来同时完成两路数据采集,大大提高了串口工作效率。
串行a/d芯片tlv1572
---tlv1572是高速的十位串行a/d转换芯片,可以通过3或4个串行口线直接与dsp或其他数字微处理器串口相连,不需要外加逻辑,但是转换速度受sclk供给时钟的限制。tlv1572与dsp的多通道缓冲串口相连是通过cs、sclk、do和fs四条线完成的,此时dsp的clkr产生移位脉冲,fsr产生帧同步信号,并分别提供给tlv1572。当t-lv1572与其他串口微处理器相连接时fs必须提供高电平,通过cs、sclk、do三条线来完成数据传输。当cs为高时,a/d芯片各管脚处于三态状态。在cs由高变低时,tlv1572检测fs引脚的状态来确定工作模式,若fs为低则为dsp模式,若fs为高则为其他微处理器模式。

图一 tl1572在dsp模式下的转换时序图

图二 tl1572在微处理器模式下的转换时序图
---当tlv1572工作在dsp模式时,必须保证在cs变低时,fs为低电平,并且要锁存一定时间。cs为低时,do跳出三态状态,但是直到fs为高时芯片才脱离休眠状态。tlv1572在每个时钟sclk的下降沿检测fs的状态,一旦检测到fs为高,tlv1572开始采样。在fs的下降沿,a/d芯片通过移位时钟将数据移到do上。在6个前导0传送之后,dsp可以在时钟的下降沿得到a/d转换的数据,如图1所示。在最低位移出之后,a/d芯片自动进入休眠状态,直到fs下一次有效。如果fs在16位传输完成后立即有效,则a/d开始新的数据转换,此时a/d为连续转换。若fs在tlv1572转换数据的过程中变高,则a/d芯片被复位,开始新的数据转换周期。因此可以通过设置fs,改变数据传输的位数。
---当tlv1572工作在非dsp模式下时,fs引脚必须接高电平。在每次转换的过程中都必须提供16个时钟信号,若微处理器无法一次接收16位数据,可以分成8位两次接收,两次接收的时间间隔不能大于100μs,此时cs必须一直处于有效状态。在dsp模式下转换的开始是由fs信号有效来决定的,而在微处理器模式下,数据转换cs有效后的第一个时钟信号上升沿开始的,如图2所示。在微处理器模式下,也可以通过设置cs来改变传送的位数。
c5402的多通道缓冲串口
---c5402提供两个高速、全双工、多通道缓冲串行口mcbsp0、mcbsp1,用数据线d(r/x)、帧同步线fs(r/x)和移位时钟线clk(r/x)实现发送数据和接收数据。mcbsp通过6个引脚(dx、dr、clkx、clkr、fsx和fsr)与外设接口。
(1)clkx(发送时钟输入或输出)
---芯片内部发送以为寄存器(xsr)通过该时钟信号将数据发送到dx引脚。该串口可以通过pcr寄存器的clkxm位配置成使用内部时钟或者使用外部时钟。
(2)fsx(发送帧同步输入或输出)
---fsx是发送开始的标志,串口可以通过pcr寄存器的fxm位配置成输入或输出。
(3)dx(串行数据发送)
---串口数据发送是通过该口进行的。
(4)clkr(接收时钟)
---clkr用来接收外部时钟信号,该时钟信号将dr数据移入接收移位寄存器(rsr)。可以通过pcr寄存器的clkrm位配置成使用内部时钟或者使用外部时钟。
(5)fsr(接收帧同步输入)
---fsr接收帧同步脉冲信号,标志数据接收开始。可以通过pcr寄存器的frm位配置成输入,也可以配置成输出。
(6)dr(串行数据接收)
---串口数据接收是通过该口进行的。接收过程中,数据首先通过移位时钟clkr的作用下移入rsr(接收移位寄存器),然后,rsr中的数据再拷贝到ddr(数据接收寄存器),拷贝完成时,产生rint中断通知cpu来响应或revta中断通知dma响应,同时设置rrdy中断标志位,也可以用查询方式来完成,从数据寄存器中读出数据。clkx、clkr、fsx、fsr即可以由内部采样率发生器产生,也可以由外部设备驱动。mcbsp分别在相应时钟的上升沿和下降沿进行数据检测。每个mcbsp最多可支持128通道的发送和接收,串行字长可选,包括8、12、16、20、24和32位,还支持μ率和a率数据压缩扩展。
系统硬件设计
---在分析了c5402多通道缓冲串口和串行a/d转换器tlv1572工作特点后,可以利用tlv1572工作在dsp模式,使其与c5402进行接口,在同步时钟信号的作用下完成a/d转换的数据传输。图3为整个数据采集系统的硬件原理图,本系统根据c5402的多通道缓冲串口特性,充分利用两个缓冲串口与两片串行a/d tlv1572进行数据传输。
---为了达到与c5402很好匹配,a/d电源和参考电压都接了3.3v。a/d的fs接dsp的fsx和fsr,使数据输入的帧同步信号由dsp产生。sclk接dsp的clkx和clkr,这样数据的输入和输出时钟均来自dsp。c5402与两片a/d进行数据传输时,设置串口中断工作在00模式,即串口数据到达触发中断,这样cpu可以根据哪片a/d传输数据产生相应的串口中断rint0或rint1。当两个串口的数据同时到达,即同时申请中断时,c5402的cpu会根据中断优先级响应rint0中断,然后再响应中断rint1。为了保证数据通信的可靠性,避免数据冲突,在响应rint1中断的过程中,串口0无中断请求。
---c5402芯片内配置有4k
评论