1max512l型d/a转换器
max5121是美国maxim公司生产的12位低功耗电压输出型串行数模转换器(dac)。该器件具有灵活的三线串行接口,可以与spi、qspi和microwire串行口实现无缝联接。在使用内部基准参考电压源时,其最大输出电压为2.0475v。
max5121内部带有一个+1.25v基准参考电压源,如用户需要,也可外接片外参考电压。此外,它内部还包括一个16位的串行移位寄存器、一个输入寄存器、一个dac寄存器和一个输出放大器。其输出电压的计算公式为:
式中,vref是基准电压,code是在0x000~0xfff范围内的输入数字量,vos为片外输入模拟电压。
max5121数模转换器具有两种工作模式,即正常工作模式(电流500μa)和关断工作模式(电流3μa)。当处于关断工作模式时,out输出变为高阻态,但输入寄存器内容将被保存,以便max5121被唤醒后能“回忆”起进入关断模式前的输出状态。
max512l采用+3v单电源供电,封装为16pinqsop封装形式。
1.1max5121的内部结构及引脚功能
max5121的内部结构框图如图1所示。表1所列是该芯片的引脚功能说明。
1.2max512l的串行接口命令
max512l的编程控制由16位串行字组成,即3位控制位、12位数据位和1位子位。图2所示是其16位串行字格式,表2所列是其串行接口命令及功能描述。
1.3max5121的工作时序
max512i在工作时,首先将cs置为低电平以使能max5121,然后从sclk的上升沿开始将din上的串行数据一位接一位移入max5121内部的16bit串行移位寄存器。当cs为高电平后,串行移位寄存器中的数据将被装入max5121内部的输入寄存器或送入dac寄存器,具体取决于16位串行字中c2、c1、c0这三位的取值。max5121的最高串行工作时钟频率为6.6mhz。图3是max5121的串行口工作时序。
2tms320lf2407的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)发送和接收可用中断或查询方式完成。3max512l与tms320lf2407的硬件接口
在设计tms320lf2407与max5121的硬件接口电路时,可将tms320lf2407作为spi主机,max512l作为从机。max5121只接受来自主机的数据,然后进行d/a转换并从out引脚输出模拟电压。由于max5121是在sclk的上升沿接收spi线上的数据,因此,dsp应采用无延时的下降沿来发送spi数据,这样才能配合max5121的工作时序。图4给出了tms320lf2407与max512l的硬件接口电路。
4软件设计
4.1spi总线波特率的设置
由于不同spi器件的最高工作频率有所不同,为了使spi总线高效工作,应了解各个spi器件最高能接受的频率,然后取低频率的spi器件的最高频率作为通讯波特率。由