摘 要:主从式双DSP系统中,主从芯片之间可靠的数据传输是整个系统稳定工作的保证。本文给出了数字信号处理器TMS320C6711D与TMS320LF2407A之间的高速异步串行通讯设计方法,介绍了串行通讯接口的硬件设计、寄存器参数配置方法、软件流程及初始化代码。
关键词:DSP;McBSP;SCI
TMS320C6711是TI公司TMS320C6000系列32位浮点DSP,它具有专用硬件逻辑的CPU、片内存储器、片内外设,支持汇编和C语言的单独或混合编程。该系列DSP最主要的特点是采用了VLIW体系结构,因此可以单周期发射多条指令,实现很高的指令级并行效率。其计算和处理速度非常快,系统单指令周期可达到6.67ns,被广泛用于DSL、无线基站、雷达声纳、数字图像处理等方面。在TMS320C6711中有2个多通道缓冲串行接口McBSP,McBSP不仅可以配制成串行接口,还可以独立配制成通用的输入(GPI)、输出(GPO)和输入输出端口(GPIO)。其优点是数据处理能力强大,但控制接口少,片内集成外部设备少,控制能力较弱。
TI公司的TMS320LF2407为16位定点DSP微控制器,内嵌有看门狗定时器(WDT)、CAN总线控制器、模数转换器(ADC)、串行外设接口(SPI)、异步串行口(SCI)等多种外设模块,并有大量输入输出引脚(GPIO),可以满足控制系统多方面的控制需求。但由于TMS320LF2407的指令周期最短为25ns(40MHz主频),对于数据处理运算量特别大的系统,其运算速度略显不足。
多数数字图像处理应用系统既要求系统有强大的数据处理能力,以满足对图像处理的实时性要求,又要求系统有强大的控制能力,以便实现对外部众多设备的控制。在实际应用系统中,将TMS320C6711作为处理器完成数字图像的实时处理,TMS320LF2407作为控制器完成系统的控制功能,便可兼顾系统的数据处理能力与外部设备控制能力。这样的系统要求在TMS320C6711和TMS320LF2407之间建立有效的数据交换通道,本文所介绍的设计思想就是基于以上工程需要提出的。
1 系统结构
本系统为嵌入式数字图像处理系统,系统结构如图1所示。数字图像数据由下位机TMS320C6711处理,处理结果采用异步串口通讯的方式传送给上位机TMS320LF2407,TMS320LF2407将采集到的模拟量、开关量等参数,与通过异步串口接收到的图像处理结果一起通过CAN总线向远程监控终端发送。

TMS320C6711的多通道缓冲串行接口McBSP与TMS320LF2407的SCI模块,通过特定的软硬件设计可以支持使用标准格式的异步数字通讯。通讯数据的格式为:一个起始位、数据(长度可通过编程在16位~8位内可选)位、可供选择的奇/偶/非极性位、一个或两个停止位,如图2所示。

1.1 McBSP接口
McBSP的结构框图如图3所示。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.2 SCI接口
SCI模块支持CPU和其他使用标准格式的异步设备间的通讯。它具有SCIRXD(串行数据接收端)和SCITXD(串行数据发送端)两个I/O引脚。在全双工模式下具有一个发送器(包括SCITX2BUF及其主寄存器TXSHF)、一个接收器(包括SCIRXBUF及其RXSHF)。发送器在SCITXBUF存放要发送的数据,并每次一位地将数据移位至SCITXD引脚;接收时则每次一位地将SCIRXD引脚上的数据移入,载入SCIRXBUF和SCIRXEMU给CPU读取。具有一个可编程的波特率发生器,可得到超过65 000种不同的可编程速率。SCI为接收器和发送器提供独立的中断请求和中断向量:如果RX/BKINT ENA位(SCICTL2.1)被置位,当SCI接收到一个完整的帧,并把RXSHF中的数据传送到SCIRXBUF时,这个动作置位RXRDY标志(SCIRXST.6)并启动一个中断。如果TX INT ENA位(SCICTL2.0)被置位,则在任何时候,只要SCITXBUF中的数据送到TXSHF,发送器中断就会被认定,表示CPU可以向SCITXBUF写。这个动作置位TXRDY标志位,并启动一个中断。
2 硬件实现
当TMS320C6711D与TMS320LF2407A进行标准异步串行通讯时,TMS320LF2407A的SCI接口可直接支持该通讯,只需将SCI接口通过内部特殊功能寄存器配置为串行接口模式即可。而TMS320C6711D的McBSP除通过内部特殊功能寄存器配置成串行接口外,在硬件设计上还应将DR和FSR短接,并与SCI的串行数据发送引脚(SCITXD)相连。这是由于标准异步串行通讯中数据线上既包含了帧同步信息,也包含了数据信息。SCI的串行数据接收引脚(SCIRXD)与McBSP的DX相连。
由于TMS320C6711D与TMS320LF2407A的接口电压均为3.3V,二者引脚可直接相连,不需要电平转换。McBSP与SCI的串行异步通讯接口电路如图4所示。





