EDN China > 技术文章 > 微处理器与DSP > DSP应用 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) McBSP技术在数据传输中的应用

2011年11月17日 ?? 收藏0
DSP芯片主要完成数字信号的采集、存储、处理与传输的任务。多通道缓冲串口(McBSP)是最重要的数据采集和传输设备之一,是一种典型的可配置外设,通过对其接口参数和数据格式的编程设定,可以实现对具有同步串行口的编码器等外部IC芯片的无缝连接。这里将以TMS32 0VC5502DSP和TLV1572模数转换器为例介绍DSP的多通道缓冲串口(McBSP)在数据传输中的应用。

1 硬件构成

1.1 TMSC320VC5502

DSP芯片采用TI公司的TMS 320 VC5502,它是一种高性能、低功耗、定点数字信号处理器,它主要有以下特点:

1)最高主频能够达到300 MHz,指令周期3.33ns。

2)包括1条32位的程序数据总线,5条16位的数据总线,6条24位的程序地址总线。这种并行的多总线结构,使CPU能够在一个CPU周期内完成一个32程序代码的读、3个16位数据的读和2个16位数据的写。5502还拥有2个乘法累加器,每个累加器都能够在一个周期内执行一个17x17 bit的乘法运算。

3)包含28kx16bit的片上ROM,包括64kBytes的DARAM(8块,每块4 kx16 bit),192 kBytes的SARAM(24块,每块4 kx16 bit)、64 kBytes的一等待片上ROM(32 kx16 bit)和最大可寻址8 Mx16 bit的外部存储空间。16位的外部存储器扩展接口可实现与异步存储器件(SRAM、EPROM)和同步存储器件(SDRAM)的无缝连接。

4)片上外设包含1个六通道的直接存储器访问控制器(DMA)、3个多通道缓冲串行口(McBSP)、1个可编程的数字锁相环时钟发生器、2个64 bit通用定时器、1个64 bit看门狗定时器、1个64 bit DSP/BIOS计数器、8 bit/16 bit主机接口(HPI)、7个通用输入输出口(GPIO)和1个外部标志输出引脚(XF)、1个内部集成电路模块(I2C)、1个通用异步接收/发送器(UART)、1个符合IEEEl941.1标准(JTAG)边界扫描逻辑的JTAG仿真接口。

1.2 McBSP(多通道缓冲串口)

TMS320VC5502 DSP提供了3个高速多通道同步缓冲串口(McBSP),使得TMS320VC5502DSP可以直接和其它C55xDSP、多媒体数字信号编解码器以及系统中的其它设备接口。该串口提供了全双工通信;双缓冲数据寄存器,允许传送连续的数据流;独立的收发时钟和帧信号:可与工业标准的编解码器、模拟接口芯片及其它串行A/D、D/A芯片直接连接;可用128个通道进行收发;具有可编程的采样率发生器;能够向CPU发送中断,向DMA控制器发送DMA事件;可设置帧同步脉冲和时钟信号的极性;传输的字长可以是8位、12位、16位、20位、24位或32位;可将McBSP引脚配置为通用输入输出引脚。McBSP结构框图如图1所示,可以分为数据通道和控制通道2部分。

McBSP结构框图

数据发送引脚DX负责数据的发送,数据接收引脚DR负责数据的接收,发送时钟引脚CLKX、接收时钟引脚CLKR、发送帧同步引脚FSX和接收帧同步引脚FSR提供串行时钟和控制信号。CPU和DMA控制器通过外设总线与McBSP进行通信。当发送数据时,CPU和DMA将数据写入数据发送寄存器(DXR1,DXR2),接着复制到发送移位寄存器(XSR1,XSR2),通过发送移位寄存器输出至DX引脚。同样当接收数据时,DR引脚上接收到的数据先移位到接收移位寄存器(RSR1,RSR2),接着复制到接收缓冲寄存器(RBR1,RBR2),RBR再将数据复制到数据接收寄存器(DRR1,DRR2)中,并通知串口事件通知CPU或DMA读取数据。这种多级缓冲方式使得片内数据通信和串行数据通信能够同时进行。

1.3 TLV1572

A/D转换器用TI公司的10位高速串行逐次逼进型A/D转换器,采用5 V单电压供电,最高采样速率可达1.25 Msps,可与TMS320系列DSP通过McBSP(Multi-channel Buffered Serial Ports,多通道缓冲串口)实现无缝连接。TLV1572的采样速率最高可达1.25 Msps、10位分辨率、单电压供电是3~5V、低功耗(3 V时8 mW、5 V时25 mW)、自动节电功能(最大电流为10μA)、具有内部采样保持功能。TLV1572的功能模块图如图2所示。

TLV1572的功能模块图

TLV1572有2种工作模式,即DSP模式和微控制器模式,这2种工作模式是由它的P3(帧同步输入信号)的电平决定的,FS引脚连接电源VCC,一直为高电平,则TLV1572工作在微控制器工作模式下;如果TLV1572在DSP工作模式下,则FS引脚或者由TMS320 DSP的MCBSP的帧同步信号(FSR)提供,或者由系统外部引入。

1.4 TLV1572与DSP的McBSP缓冲串口的连接

TLV1572与TMS320VC5502 DSP串口连接如图3所示。

TLV1572与TMS320VC5502 DSP串口连接

TLV1572工作在DSP模式下,其典型时序图如图4所示。

典型时序图

在DSP模式下工作时,当TLV1572 A/D的片选信号/CS变低时,FS也必须为低,而且为了确保TLV1572的DSP模式的正确锁定,FS信号电平要被检测2次,一次是在/CS下降沿时检测FS电平(也就是对于/CS下降沿的FS建立时间,最小6 ns),一次是紧接其后的相对于/CS下降沿来说的一个内部延迟检测(也就是对于/CS下降沿的FS保持时间,最小为9 ns)。综上所述,为了保证TLV1572能正确锁定在DSP模式下,在/CS变低后FS要至少维持15ns的时间。

在确保TLV1572工作在DSP模式下后,也就是FS的低电平至少要维持15 ns的时间后,TLV1572 A/D要在每一个SCLK时钟信号的下降沿检测FS的电平状态,一旦FS变高,说明A/D进入复位状态,之后当FS变低时,TLV1572等待DSP锁存第一个0。这里,FS的上升沿对于对SCLK的下降沿来说有一个FS的建立时间(至少10 ns),然后相对应这个SCLK的下降沿,FS有一个保持时间(至少要4 ns)。满足至少上述的14 ns后,FS才能变低。

采样从FS变低后的第一个SCLK的下降沿开始,一直到输出第6个0时的那个SCLK的上升沿,在这个SCLK的上升沿,开始转换并输出相应转换的数据,这里有1 bit的延迟,而DSP对转换数据的采样发生在SCLK的下降沿。经TLV1572转换的数据前导有6个0,之后才是转换的由高位到低位的10 bit数据输出。也就是说TLV1572对一次的数据完整转换需要16个SCLK。如果在第16个SCLK时钟的下降沿检测到FS变高了,则在即后的下一个SCLK,也就是第17个SCLK开始下一次的新的数据的采样与转换,这样就实现了TLV1572的对数据的连续转换。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

编码器? 模数转换器? 数据传输?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈