MAX5121在DSP系统中的应用
2 TMS320LF2407的SPI接口
TMS320LF2407是美国TI公司推出的、专为数字电机控制和其它控制应用系统而设计的一款高性能、低功耗、高性价比的16位定点DSP (数字信号处理)芯片。它将数字信号处理的高速运算功能与面向电机的强大控制能力结合在一起,从而成为传统的多微处理器单元和多片设计系统的理想替代品。TMS320LF2407内部有4个引脚的串行外设接口(SPI)模块。该SPI是一个高速、同步串行I/O口,它允许长度可编程的串行位流(1~16)以可编程的位传输速度移出或移入器件。通常SPI用于DSP处理器和外部外设,以及其它处理器之间的通信。其典型应用包括通过诸如移位寄存器、显示驱动器、DAC,以及日历时钟等器件所进行的外部I/O或器件的扩展。SPI的主/从操作模式均支持多处理器通信。SPI模块的特性包括以下几点:
(1) 有主动或从动两种方式。TMS320LF2407的SPI功能模块是一种真正的同步串行接口,可以工作于主动和从动方式。当SPI工作在主动方式时,SPICLK为时钟信号输出端,可与从器件的时钟信号输入引脚相连接,两者共用TMS320LF2407的时钟信号。SPl数据传输则由如下四个外部引脚完成,即SPISOMI(从动输出主动输入)、SPISIMO(从动输入主动输出)、SPISTE(从动发送使能)、SPICLK(串行时钟输入输出);
(2) 具有四种时钟方案。分别为无延时上升沿(SPICLK信号上升沿发送数据,下降沿接收数据)、有延时上升沿(SPICLK信号上升沿半个周期发送数据,上升沿接收数据)、无延时下降沿(SPICLK信号下降沿发送数据,上升沿接收数据)、有延时下降沿(SPICLK信号下降沿半个周期发送数据,下降沿接收数据)。一般情况下,当DSP作为主器件时,时钟模式的选择还要参考从器件的工作方式;
(3) 有125种可编程波特率。TMS320LF2407中SPI模块灵活的波特率设置可以方便地与外设进行通信,最大可达10MHz。波特率的设定应参考外设的最大传输频率。设计时通过向波特率寄存器写入设定值,可以得到不同的波特率;
(4) TMS320LF2407数据字长度可以是1到16位。收发数据的位数可由SPI的配置控制寄存器决定;
(5) 发送和接收可用中断或查询方式完成。
3 MAX512l与TMS320LF2407的硬件接口
在设计TMS320LF2407与MAX5121的硬件接口电路时,可将TMS320LF2407作为SPI主机,MAX512l作为从机。MAX5121只接受来自主机的数据,然后进行D/A转换并从OUT引脚输出模拟电压。由于MAX5121是在SCLK的上升沿接收SPI线上的数据,因此,DSP应采用无延时的下降沿来发送SPI数据,这样才能配合MAX5121的工作时序。图4给出了TMS320LF2407与MAX512l的硬件接口电路。
4 软件设计
4.1 SPI总线波特率的设置
由于不同SPI器件的最高工作频率有所不同,为了使SPI总线高效工作,应了解各个SPI器件最高能接受的频率,然后取低频率的SPI器件的最高频率作为通讯波特率。由于MAX5121的最高允许时钟频率为6.6 MHz,因此,在TMS320LF2407与MAX512l的应用系统设计中,SPI总线的最高时钟频率不能超过6.6 MHz。
4.2 软件设计
限于篇幅,图5仅给出用TMS320LF2407向MAX5121发送一个16bit DAC数据的软件实现流程图(用软件查询方式发送),以表明出MAX5121在DSP应用系统中的一般编程方法。
5 结束语
利用DSP的SPI接口扩展各种串行接口的元器件应具有接口简单、编程方便的优点。如今的串行接口器件种类繁多(有SPI语音芯片、LED驱动芯片、A/D转换芯片、D/A转换芯片、EEPROM芯片等),这些器件给系统设计带来了更多的选择。因此,在实时性要求不高的场合,串行接口器件的使用可以简化电路设计,提高系统设计的可靠性。
评论