1 引言
随着信息技术革命的深入和计算机技术的飞速发展,DSP技术也正以极快的速度被应用到科技和国民经济的各信领域。在很多工程开发设计中,由于要求实现单片DSP与单片DSP、多片DSP芯片以及及其它处理芯片之间的通信,因此,怎样更高效、更便捷的实现这些通信,已成为广大DSP应用者首先要解决的一个问题。
本文根据笔者在工程应用和调试方面用TI的DSP TMS320C5402与NEC的μPD780308单片机进行通信的经验,介绍并讨论了将TMS320C5402 DSP的多通道缓冲串行口McBSP(MulTI-channel Buffered Serial Port)配置为SPI模式(即时钟停止模式),从而实现DSP与其它单片处理器之间的通信设计方法同时给出了实现方法的部分程序代码。
2 多通道缓冲串行口McBSP
多通道缓冲串行口McBSP的功能是提供器件内外数据的串行交换。同以前的串口相比,McBSP串口具有相当大的灵活性。表1给出了有关TMS320C5402的McBSP管脚说明。其中串口接收、发送时钟和同步帧信号既可由外部设备提供,又可由内部时钟发生器提供,从而大大的提高了通信的灵活性。
表1 TMS320C5402的有关McBSP管脚说明
管脚说明说 明
DR数据输入端
DX数据输出端
CLKR接收数据位时钟
CLKX发送数据位时钟
FSR接收数据帧时钟
FSX发送数据帧时钟
CLKS外部提供的采样率发生器时钟源
3 SPI协议中的McBSP时钟停止模式
SPI协议是以主从方式工作的,这种模式通常有一个主设备和一个或多个从设备,其接口包括以下四种信号:
(1)串行数据输入(也称为主进从出,或MISO);
(2)串行数据输出(也称为主出从进,或MOSI);
(3)串行移位时钟(也称为SCK);
(4)从使能信号(也称为SS)。
图1为设备的SPI接口示意图。该接口在工作时,主设备通过提供移位时钟和从使能信号来控制信息的流动。从使能信号是一个可选的高低电平,它可以激活从设备(在没有时钟提供的情况下)的串行输入和输出。在没有专门的从使能信号的情况下,主从设备之间的通信则由移位时钟的有无来决定,在这种连接方式下,从设备必须自始至终保持激活状态,而且从设备只能是一个,不能为多个。
TMS320C5402提供的时钟停止模式可用于SPI协议通信,当McBSP被配置为时钟停止模式时,发送器和接收器在内部是同步的,即可将发送数据帧时钟(FSX)用作从使能(即SS),而将发送数据位时钟(CLKX)用作SPI协议中SCK。由于收数据位时钟(CLKR)和接收数据帧时钟(FSR)在内部与FSX和CLKX是相连的,因此,该管脚不能用于SPI模式。
当McBSP被配置为一个主设备时,传送输出信号(BDX)被用作SPI协议的MOSI信号,而接收输入信号(BDR)则被用作MISO信号。图2所示为McBSP用作主设备时的SPI接口示意图。
同样地,当McBSP被配置为一个从设备时,BDX被用作MISO信号,BDR则被用作MOSI信号。图3为McBSP用作从设备的SPI接口示意图。
当TMS320C5402的McBSP被用于时钟停止模式时,寄存器SPCR1的CLKSTP位域和引脚配置寄存器的CLKXP位的配置如表2所列。
表2 时钟停止模式配置
CLKSTPCLKXP说 明
0XX不可用时钟停止模式。时钟被激活用于非SPI模式
100时钟开始于上升沿(无延迟)
110时钟开始于上升沿(有延迟)
101时钟开始于下降沿(无延迟)
111时钟开始于下降沿(有延迟)
全部评论