"); //-->
摘 要:介绍了TMS320C5402 McBSP的结构及主要特点,给出了通过McBSP扩展成SPI串口与PC机及AT89S51单片机通信的设计方案。该方案充分利用DSP的McBSP接口功能,实现了主机、DSP和单片机之间的实时通信。应用结果表明该方案稳定可靠,实际应用良好。
近年来,DSP在电子、通信和控制领域得到了非常广泛的应用,在DSP应用系统设计中与上、下位机的通信必不可少。目前几乎所有的DSP都提供一个或多个串口,然而,多数DSP芯片提供的是同步串口,在实际的应用中,DSP要能够与外设进行异步串行通信,如与PC机进行串行数据传输就要求DSP系统具UART串行接口。另外,由于单片机控制灵活方便、便于键盘及显示的扩展,使得其与DSP结合的更加紧密。针对这种情况,本文研究并实现了DSP与PC机及单片机通信接口的扩展。
1 SPI接口协议
串行外围设备接口(SPI)是MOTOROLA公司提出的一个同步串行外设接口,以主从方式工作,允许CPU 与各种外围接口器件以串行方式进行通信、交换信息。接口包括4条线:串行时钟线(SCK)、主机输入/从机输出线(MIsO)、主机输出/从机输入线(MOSI)、低电平有效的使能信号线(/SS)。这样,仅需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件。
2 TMS320VC5402与PC机的异步串口通信
2.1 McBSP的功能与特点
TMS320VC5402芯片具有2个高速、全双工、多通道缓冲串行接口(McBSP),其方便的数据流控制可使其与大多数同步串行外围设备接口。McBSP通过6个引脚(BDX、BDR、BCLKX、BCLKR、BFSX 和BFSR)与外设接口。
McBSP串口工作于时钟停止模式时与SPI协议兼容。此时,发送器和接收器在内部得到同步,McBSP可作为SPI的主设备或从设备。发送时钟信号(BCLKX)对应于SPI协议中的串行时钟信号(SCK),发送帧同步信号对应于从设备使能信号(/CS)。在这种方式下对接收时钟信号(BCLKR)和接收帧同步信号(BFSR)不进行连接,因为它们在内部分别与BCLKX和BFSX相连。McBSP工作于SPI模式的主机时,与SPI从设备接口如图1所示。
图1 McBSP作为SPI的主设备
2.2 MAX3111通用异步收发器
MAX3111通用异步收发器是MAXIM 公司为微处理系统设计的通用异步收发器UART,包括振荡器、可编程波特率发生器、可屏蔽的中断源、8字节的接收FIFO缓冲器和两个RS232电平转换器。它应用SPI接口技术直接与主控制器进行通信,通信速率可达230 Kb/s,无需再接入普通的MAX232进行电平转换,即可应用一个芯片实现微控器与PC机或其它设备之间的异步数据传输。
2.3 DSP与MAX3111的接口设计
由于MAX3111是3.3 V器件,DSP的McBSP串行接口工作于SPI模式时可直接与MAX3111连接,实现与RS232设备异步数据传输。此时DSP作为SPI协议中的主设备,发送时钟信号(BCLKX)作为MAX3111的串行时钟输入,发送帧同步脉冲信号(BFSX)作为MAX3111的片选信号(/CS)。BDX与DIN 连接作为发送数据线,BDR与DOUT 连接作为接收数据线。MAX3111的TX 与TIIN连接,RX与R1OUT连接,以便利用其片内的转换
器实现UART到RS232电平的转换。MAX3111的中断信号(IRQ)与DSP的外部中断INTO相连,其接口电路如图2所示。这样硬件上无需任何其它外围器件,由于异步数据的发送和接收由MAX3111以硬件方案实现,所以软件编程只需考虑DSP与MAX3111之间的同步数据通信。
图2 DSP与MAX3111的接口电路
在SPI串行协议中,主设备提供时钟信号并控制数据传输过程,必须对McBSP初始化并设定适当的工作方式才能保证与MAX3111的时序相配合,设计中采用McBSP的时钟停止模式2(CLKSTP=11 b,CLKXP=0) 。
3 TMS320VC5402与AT89S51单片机的串口通信
DSP主机接口HPI具有强大功能的智能外设,主要用于DSP与其它总线或CPU进行连接。DSP与单片机的接口通常采用HPI来实现,但要外加电平转换,硬件电路较复杂。这里采用C5402通过SPI总线与AT89S51单片机进行数据通信,但由于后者不带SPI总线接口,故采用软件模拟SPI串行时钟及输入、输出数据。
图3 DSP与89S5l单片机的接口电路
DSP与AT89S51单片机的接口如图3所示。DSP通过MOSI引脚将要传送的数据写到主机的发送数据寄存器DXR,启动发送过程,在同步时钟BCLKX的控制下将待发的数据从高位到低位逐位送到单片机接收引脚RXD,当RXD接受移位完毕时产生中断,通知主机数据发送完毕。值得注意的是,单片机接收数据时是低位在前,高位在后。对于从机而言,在同步时钟的节拍下将从机移位寄存器SBUF中的数据逐位经MISO移到主机的接收数据寄存器RSR,再拷贝这些数据到接收缓冲寄存器RBR中,最后再送到DRR,当一个完整的数据块接收完后置中断标志,通知从机数据接收完毕。
4 结论
本文介绍了利用TMS320VC5402的2个McBSP扩展与PC机和51系列单片机的通信,硬件设计简单可靠,实用性强,软件上仅需对McBSP进行设置和编程,实现起来非常容易。在足球机器人模型识别与控制过程中完成了PC机、DSP和单片机的实时通信,效果良好。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。