摘要:在嵌入式数据传输系统中经常会遇到DSP芯片与模/数转换器接口的问题,为提高信号的采样、传输速度与精度,增强系统可靠性,给出了基于DSP芯片的多通道缓冲串口(McBSP)在数据传输中作为接收器的原理、硬件与软件设计方法。选用TI公司的C5000系列定点DSP TMS 320VC5502芯片与TI公司的10位高速串行逐次逼进型转换器模/数转换芯片TLV1572进行无缝连接,通过TLV1572对模拟数据进行采样,后经A/D转换为数字信号,DSP的McBSP串口进行接收,实现了不经任何转换的实时数据传输。该系统设计方案电路简单,可靠性好,易于实现,具有一定的通用性。
关键词:多通道缓冲串口;TMS320VC5502;模/数转换器;数据传输
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部分。
数据发送引脚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读取数据。这种多级缓冲方式使得片内数据通信和串行数据通信能够同时进行。