TI公司的TMS320LF2407型DSP微控制器内嵌的异步串行口(SCI)支持CPU与其它使用标准格式的异步外设之间的数字通讯,通过RS-232接口可以方便地进行DSP之间或与PC机之间的异步通信。而串行外设接口(SPI)是一个高速同步串行输入/输出(I/O)端口,常用于DSP控制器和外部器件或其它控制器间的通讯。本设计正是通过TMS320LF2407所带有的SCI模块进行两台DSP的数据传输通信。同时还利用了DSP2407的SPI模块和I/O口作了显示以及键盘扩展电路,以便能实时监控数据的收发。此实例电路结构简单易懂,非常适合刚接触DSP的初学者使用,具有很好的参考价值。
二 硬件原理设计
此设计主要包含两大模块:一是DSP之间的串行通讯模块:二是DSP与显示器及键盘的串行显示接口模块。以下分别详细介绍每一模块的硬件原理及软件设计。
2.1 SPI外设显示接口模块:SPI是一个高速同步串行输入/输出端口,它允许一个具有可编程串行外设接口长度(1到16位)的串行位流,以可编程的位传送速率从设备移入或移出。本设计利用SPI口外接4片74LS164作为4位LED显示器的静态显示接口,把LF2407的SPISIMO引脚作为数据输出线,SPICLK引脚作为移位时钟脉冲。74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。其中A,B(第1、2脚)为串行数据输入端,两个引脚按逻辑与运算规律输入信号,用同一个输入信号时可并接。CLK(第8脚)为时钟输入端,可连接到串行口的SPICLK端。
2.2 串行通讯接口(SCI)模块:
SCI模块的接收器和发送器是双缓冲的,每一个都有它单独的使能和中断标志位。两者可以单独工作,或者在全双工方式下同时工作。SCI使用奇偶校验,超时,帧出错监测确保数据的准确传输。SCI 的两个外部引脚SCITXD(数据发送端)和 SCIRXD(数据接收端)在不用来通讯时可作普通的I/O。SCI有一个16位的波特率选择寄存器,在40M的晶振下,可以设定从76bps~1875Kbps不同的波特率。图2是TMS320LF2407的串行通讯接口电路。该电路采用了符合RS-232标准的驱动芯片MAX232进行串行通讯。MAX232芯片功耗低,集成度高,+5V供电,具有两个接收和发送通道。由于TMS320LF2407采用 +3.3V供电,所以在MAX232 与TMS320LF2407之间必须加电平转换电路。本设计系统采用了一个二极管(1N4007)和三个电阻进行电平转换。整个接口电路简单,可靠性高。
图2 TMS320LF2407的串行通讯接口电路
三 系统软件及通讯协议设计
软件及通讯协议设计主要包括了DSP系统初始化,SPI初始化,SCI初始化,SCI发送接收数据,SPI显示数据五大部分。
3.1 DSP系统初始化
此部分程序设计主要是为了使DSP进入正常的工作状态。其主要的设计步骤如下图示。
3.2 SPI与SCI初始化
TMS320LF2407的SPI和SCI初始化包括以下几大部分:把相对应的I/O口配置成具有SPI,SCI的特殊功能;时钟模式的选定;波特率选择;发送接收数据长度选择;内部相对应的时钟使能。所有设置都是通过相对应的SPI,SCI控制寄存器实现的。具体步骤如下图示。
3.3 SCI发送接收数据及SPI显示: 通讯协议采用异步串行通讯方式,波特率为9600bps,数据包括8位数据位、无、奇偶校验位、1个低电平起始位和1个高电平停止位。采用地址位多处理器模式。通讯软件设计采用查询方式,即查询到相应标志位满足条件时,就发送一个数据并送往SPI模块显示。具体设计步骤如图5所示。
四 结束语
本应用实例已通过调试,若要实现DSP与PC机之间的通信,只需要在PC机上使用MSCOMM控件,使端口传输和接收数据,方便地为应用程序提供串行通信功能。通过实际运行表明,利用TMS320LF2407的SPI,SCI模块实现DSP之间或与PC机的通信,与传统的C51单片机相比,其电路简单,设置灵活,运行速度更快,性能可靠稳定。