作者:刘洋,赵书俊,赵媛媛 时间:2006-09-03 来源:edi | |
摘要:Max529是MAXIM公司推出的8位8通道串行带输出缓冲的数模转换器集成芯片,可同时对外设提供8路模拟信号输出,并且有3种输出模式可供选择。本文介绍了Max529的主要特性及其在程控增益电路中的应用实例。 关键词:Max529;输出缓冲;数模转换;程控增益 1 引言 Max529是美国MAXIM公司生产的8b串行带输出缓冲的数模转换器集成芯片,可提供+5V单一或5V分离两种供电方式。Max529有3种输出模式:非缓冲模式、全缓冲模式以及半缓冲模式。这3种方式都可对Max529的DAC输出端口进行串行编程。非缓冲模式是通过内部R-2R电阻网络直接与输出端相连,他的优点是可减少功率消耗并避免缓冲器的DC错误;全缓冲模式是在内部R-2R电阻网络和输出管脚之间加缓冲器,在选用全缓冲模式时Max529可提供+5mA/-2mA的输出驱动。半缓冲模式与全缓冲模式相似,并且在提供15mA的单极输出驱动时功耗更低。另外Max529串行数据可以在级联器件之间传送,使Max529可以方便地进行扩充。引脚排列图如图1所示。 图1 引脚排列图 2 Max529功能简介 Max529包含8个带锁存的数模转换器,8个缓冲放大器,2对参考输入电压,可分别实现对相应串行输出口的控制。Max529的缓冲放大器可以通过内部的开关旁路来执行非缓冲、全缓冲、半缓冲3种输出模式。Max529的8个模拟输出端口均可用16b串行数据进行编程控制。 2.1DAC的输出范围 Max529的8个端口OUT0~OUT7的输出电压与他的2对输入的参考电压成一定的函数关系。每对参考电压由2个输入引脚:REFH和REFL组成。OUT0~OUT3的输出由REFH1和REFL1控制;OUT4~OUT7由REFH2和REFL2控制。每对参考电压中REFH必须高REFL。Max529每一端口的DAC输出电压是由送入这一端口8b数字量代码和他的两个输入参考电压决定的。他们的函数关系可用下例说明: OUT5端口的输出电压: OUT5=(REFH2-REFL2)?(nn/256+REFL2) 其中:nn是写入OUT5端口的代码,范围是0~255(00~FFH)。上式中的输入参考电压必须满足如下关系:REFH的电压范围为3V~VDD,REFL在非缓冲和半缓冲模式下可以和VSS一样低,但是在全缓冲模式时REFL-VSS≥115V,Max529的VSS电压范围为-5~0V。另外在Max529所有方式中,必须满足REFH-REFL≤12V。 2.2 Max529缓冲输出模式的选择 Max529有3种输出模式:非缓冲模式、全缓冲模式以及半缓冲模式。这3种输出模式均可通过程序进行方便的选取。另外在进行模式选择时Max529的缓冲区必须成对缴活;A7~A0位为00H,D6位为任意位,D7=1时执行缓冲模式选择操作。全缓冲和半缓冲模式的选择如表2所示。 表1 引脚功能 表2 缓冲输出模式的选择 3 Max529的串行接口部分 当为低,为高电平时,DIN端口的串行数据在CLK的上升沿被锁存。当时钟频率为4MHz时数据可被送入,Max529逻辑输入是CMOS与TTL兼容的。 Max529可通过16b二进制数对其进行编程,前8b为地址位(A7~A0),后8b为数据位(D7~D0)。数据通过串行输入口DIN进入移位寄存器,第一位是A7,最后一位是D0。在CLK的上升沿DIN的数据移位到第一个寄存器(16个寄存器位向一个方向转移),此时保持为低电平,为高电平。因此必须经过16次才能把所有数据装入移位寄存器。在的上升沿,16个移位寄存器中的数据按照被赋予的地址进行传输,此时CLK无效。 Max529的指令也有3种模式:NOP,SETDAC和SETBUFFERMOOLES。 (1)NOP(空指令):当8b地址位(A7~A0)和数据位D7为0,D6~D0为任意时执行NOP指令。当此指令被执行时,寄存器禁止更新,输出保持不变。如表3所示。 表3 空指令模式 注:所有表中的X均为任意 (2)SET DAC(数模转换指令):当地址位A7~A0中任意一位为1时,执行SET DAC指令。SET DAC可把一个或所有DAC寄存器的编码以及他们对应的DAC输出进行刷新。刷新后的值被保存到数据位D7~D0。DAC输出端口OUT0~OUT7的选择由地址位A7~A0决定。DAC数据位代码范围:00000000~11111111(00H~FFH),D7为最高位MSB,D0为最低位LSB。对DAC输出寄存器的赋值,由D7~D0决定。地址A7=OUT7,111,A0=OUT0,当地址位置1时,由D7~D0为相应置1的端口赋值。若置0,则禁止D7~D0为其赋值,其相对输出端口保持原有输出不变(该模式时A0~A7至少有一位为1),如表4所示。 表4 DAC输出模式设置 (3)SET BUFFER MODES(缓冲模式设置指令):当地址位A7~A0为0,数据位D7为1时执行SET BUFFER MODES指令,D6位为任意。当指令被执行时通过数据位D1,D2,D4和D5可使8个缓冲器分成4组分别执行使能与禁能操作。D1控制缓冲器6,7;D2控制缓冲器4,5;D4控制缓冲器2,3;D5控制缓冲器0,1。逻辑1使缓冲器执行全缓冲或半缓冲模式,逻辑0使缓冲器执行非缓冲模式。全缓冲和半缓冲模式的设置由数据位D0和D3执行。D0位控制端口OUT4~OUT7,D3位控制端口OUT0~OUT3,当D0位或D3位被置1时他们控制的端口执行全缓冲模式,置0时则执行半缓冲模式。执行以上方式时D1,D2,D4,D5相应位必须置1。 如表5所示,D6位为任意位,当D5=1时OUT0与OUT1缓冲器使能;D4(2&3),D2(4&5),D1(6&7)与以上相同。D3=1则OUT0~OUT3进入全缓冲模式,D3=0则进入半缓冲模式,D4,D5同时为0则D3位无效。D4=1则OUT4~OUT7进入全缓冲模式,D0=0则进入半缓冲模式,D1,D2同时为0则D0位无效。 表5 设置缓冲模式指令 4 Max529的指令应用实例 (1)将OUT0,OUT2,OUT7赋值为01001110(4EH),保持OUT1,OUT3,OUT4,OUT5,OUT6保持缓冲状态及值不变。代码如下所示: (2)除OUT6外所有输出端口赋值为00000000(00H),保持OUT6缓冲状态及值不变。代码如下所示: (3)所有缓冲器进入非缓冲模式,保持DAC数据不变。代码如下所示: (4)设置OUT0与OUT1为半缓冲模式,OUT2与OUT3为非缓冲模式,同时设置OUT6与OUT7为半缓冲模式OUT4与OUT5为非缓冲模式,保持DAC数据不变。代码如下所示: 5 Max529在程控增益电路中的应用实例 通过单片机87LPC767向Max529发送指令使其工作在全缓冲模式。Max529按照单片传送的数据进行端口寻址,并将从单片机接收到的数字量转化成模拟量输出给可变增益放大器AD600,使AD600按程序指定的增益电压进行输出。AD600的线性增益范围是0~40dB,控制电压与增益之间的关系满足: G(dB)=32VG+20 -625mV≤VG≤+625mV VG=VC1HI-VC1LO 通过控制AD600两对输入增益控制端C1HI,C1LO以及C2HI与C2LO。使每对输入增益控制端的电压差值VG在-625~+625mV范围内变化,从而使输出增益控制在0~40dB。AD600相对于C1HI,C1LO以及C2HI与C2LO的增益输出端分别为A1OP与A2OP。具体电路如图2所示,分别通过Max529的4个输出端口OUT4~OUT7为AD600的两对输入增益控制端C1HI,C1LO以及C2HI与C2LO提供输入电压。单片机87LPC767通过串口P110分别实现对端口OUT4~OUT7的寻址以及对相应端口的赋值,这样就可以通过单片机程序实现程控增益输出。 图2 增益电路 6 结语 Max529DAC转换器拥有8个带缓冲的串行可编程端口,可为多个外设提供程控的模拟电压支持。Max529简单方便的操作、多种工作方式的选择为用户提供了更大的应用空间,也使其比同类的DAC转换器件更具有竞争力与优势。 |
标签: Max529 输出缓冲 数模转换 程控增益 |
文章评论(0条评论)
登录后参与讨论