串行接口的d/a转换器通过串行接口输入数据。常用的串行接口有i2c、spi等形式,数据信号通过串行的方式写入d/a转换器。串行接口减少了d/a转换器的引脚,可采用较小的封装,在设计体积小、重量轻的系统时,采用此类器件尤为合适。
图1为12位串行接口的数模转换器ad7233的结构图。片内的稳压管提供了参考电压,输入的数据格式为二进制补码,输出电压范围为-5v到+5v,其数模转换部分由r-2r梯形电阻网络和输出放大器组成。输入数字量与对应的输出电压如表1所示。如希望输入的为二进制原码,则可在输入数据之前将最高位为求反。
图1 12位串行接口的数模转换器ad7233的结构图
表1 输入数字量与对应的输出电压
输入数字量
输出电压
0111 1111 1111
5v•(2047/2048)
0000 0000 0001
5v•(1/2048)
0000 0000 0000
0v
1111 1111 1111
-5v•(1/2048)
1000 0000 0001
-5v•(2047/2048)
1000 0000 0000
-5v•(2048/2048)=-5v
ad7233的数据接口结构如图2所示,其接口信号为帧同步信号-sync、输入串行信号sdin、串行时钟信号sclk和数据装入dac锁存器信号-ldac。图3为ad7233的数据写入时序图,-sync由高变低表示一个新的数据将传送到ad7233,此时由16个sclk信号的下降沿将sdin端的数据串行地移入器件的输入移位寄存器。内部的门控信号保证了只有16位的数据能移入,在16位数据装入后-sync变高。16位数据的前4位为无效数据,后12位数据高位在前,低位在后。
图2 ad7233的数据接口结构
图3 ad7233的数据写入时序
将输入移位寄存器中的12位数据装入dac锁存器有2个模式。在-sync信号变低后检查-ldac的状态,如果-ldac为0,采用自动装入模式,在最后一位的串行数据装入时,即第16个sclk脉冲的下降沿,dac锁存器数据更新,模拟输出信号也随之发生变化。在-sync信号变低后检查-ldac的状态,如果-ldac为1,由-ldac信号控制数据的装入,当16个数据移入输入移位寄存器后,dac锁存器数据的更新由-ldac信号的下降沿同步。这种模式通常用在多个d/a转换器的系统中,可通过串行通信将数据分别装入d/a转换器的输入移位寄存器,然后通过同一个-ldac信号同步地更新模拟输出信号。应注意的是,在传输下一个数据之前,必须将-ldac信号置为高电平。
ad7233与微处理器的连接方式可参考spi、i2c等内部总线接口,不同的是,ad7233增加了帧同步信号-sync和dac锁存器信号-ldac。