摘要:首先介绍了16位定点DSP芯片TMS320LF2407的串行外设接口模块SPI及8位串行LED显示驱动
器PS7219的功能、特点和工作原理;然后讨论了两者的硬件连接和软件编程;最后说明了串行总线接口相比较并
行总线接口的优势。
关键词:TMS320LF2407;PS7219;SPI;接口及编程
O 引言
TMs320U
407是美国TI公司推出的、专为数字电机控制和其它控制应用系统而设计的一款高性能、低功耗、高性价比的16位定点DsP(数字信号处理)芯片。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合在一起,从而成为传统的多微处理器单元和多片设计系统的理想替代品。TMS320LF2407内部包括4个引脚的串行外设接口(sPI)模块。SPI是一个高速、同步串行I/(3口,它允许长度可编程的串行位流(1~16)以可编程的位传输速度移出或移入器件。通常SPI用于DSP处理器和外部外设以及其它处理器之间的通信。典型的应用包括通过诸如移位寄存器、显示驱动器、DAC以及日历时钟等器件所进行的外部I/O或器件的扩展。SPI的主 从操作支持多处理器通信。
SPI模块的特性包括:
1)
两种工作方式:主动或从动工作方式。TMS320LF2407的SPI功能模块是一种真正的同步串行接口,可以工作于主动和从动方式。当SPI工作在主动方式时,SPICLK为时钟信号输出端,与从器件的时钟信号输入,引脚相连接,两者共用2407的时钟信号。SPI数据传输由如下四个外部引脚完成,即SPISOMI(从动输出主动输入)、
sPISIM0(从动输入主动输出)、SPISTE(从动发送使能)、SPICLK(串行时钟输入输出);
2)四种时钟方案:无延时上升沿(sPICLK信号上升沿发送数据,下降沿接收数据)、有延时上升沿(SPICLK信号上升沿半个周期发送数据,上升沿接收数据)、无延时下降沿(SPICLK信号下降沿发送数据,上升沿接收数据)、有延时下降沿(sPICLK信号下降沿半个周期发送数据,下降沿接收数据)。当DSP作为主器件时,时钟模式的选择要参考从器件的工作方式。
3)波特率:125种可编程的波特率。TMS320LF2407的SPI模块灵活的波特率设置为与外设进行通信提供了方便。波特率的设定要参考外设的最大传输频率。通过向波特率寄存器写入设定值,就可以得到不同的波特率。
4)数据字长:1~16个数据位。2407数据字长度可以是1到16位。收发数据的位数由sPI的配置控制寄存器决定。
5)发送和接收可用中断或查询方式完成。
l 串行LED显示驱动器PS'7219概述【2]
PS7219是武汉力源公司生产的新型带SPI接口的8位数字静态显示芯片,在性能上与MAXIM公司的MAX7219完全兼容,特别适合与多种带SPI接口的微处理器实现无缝联接。
P
219的特点包括:
1)串行接口
2)8位共阴极LED显示驱动,显示位数1~8,可数字调节
3)按位进行BCD译码/不译码数字控制
4)16级亮度数字控制
5)提供位闪功能
6)多片PS7219级联实现多个LED显示
其中D15~D12位不用,Dll~D8为内部控制寄存器和8个LED显示数据寄存器的地址,Er7~DO为控制寄存器命令字或8个U、D数码管待显示的数据。因为控制寄存器与显示数据寄存器均独立编址,所以可以通过程序单独对每个寄存器进行操作。一般情况下,程序先送控制命令,后向显示寄存器送数据。Ps7219内部控制寄存器和显示数据寄存器的地址和功能描述如下表2所示。
图1为PS7219工作时序图。由图1司知,在每个CLK的下降沿,一位数据被移人到内部16位移位寄存器中。LOAD用来装载数据,在LO AD 的上升沿16位串行输人数据被锁存到数字或控制寄存器中。
2 硬件电路设计
在TMS320LF2407与PS7219的硬件接口电路设计中,TMS320LF2407作为SPI的主机,PS7219作为从机,即
PS7219只接受来自主机的数据。又由于PS7219为串行输入方式,故其与TMS320LFE407的硬件连接特别简单。把
TMs320LF2407的 I模块的SPICLK、SPISIMO和IOPE0分别与PS7219的CLK、DIN和LO AD 相连,分别用作时钟信号、串行数据输入信号和l6位数据锁定信号。
3 软件设计
3.1 SPI线波特率的设置
由于不同SPI器件的最高工作频率不同,为了使SPI总线高效工作,应了解各个SPI器件最高能接受的频率,再取低频率的SPI器件的最高频率作为通讯波特率。由于PS7219的最高允许时钟频率50oI(}{Z(远低于DSP),因此本设计中SPI总线的通讯波特率为500kbps。
3.2 PS7219与DSP的SPI软件实现
以下用TMS320L
407控制PS7219在4位数码管上显示2006为例说明SPI软件编程。由于Ps7219是在CLK
的下降沿接受SPI线上的数据,因此DSP用无延时的上升沿来发送SPI数据,这样才能配合PS7219的工作时序。
DSP用软件查询的方法来发送数据。整个程序的流程框图如图3所示。
4 结束语
由于SPI系统总线只需3~4根数据线和地址线即可扩展具有SPI接口的各种器件,而并行总线扩展方法需要多根数据线、地址线和控制线。又由于如今SPI器件种类繁多,有SPI语音芯片、LED驱动芯片、A/D转换芯片、D/A转换芯片、EEPROM芯片等,给我们的设计带来了更多的选择。因此在实时性要求不高的场合,SPI总线的使用可以简化电路设计,省掉了很多常规电路中的接口器件,从而提高了设计的可靠性。