并行输入D/A芯片DAC0832接口技术

三、并行输入D/A芯片DAC0832接口技术

(一)DAC0832概述

1.DAC0832特性

DAC0832是以CMOS工艺制造的8位并行输入DAC,由于其片内有输入数据寄存器,故可以直接与单片机接口。其价格低廉、接口简单,在单片机控制系统中广泛应用。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片还有DAC0830、DAC0831,它们可以相互代换。DAC0832主要特性有如下几点:

(1)分辨率8位。

(2)电流建立时间1μs。

(3)数据输入可采用双缓冲、单缓冲或直通方式。

(4)输出电流线性度可在满量程下调节。

(5)逻辑电平输入与TTL电平兼容。

(6)单一电源供电(+5~+15V)。

(7)低功耗,约为200m W。

(8)可与所有单片机或微处理器直接接口,需要时亦可不与微处理器连接而直接使用。

2.DAC0832的引脚功能

DAC0832的引脚如图7-34(a)所示。

(1)D7~D0:8位数字量数据输入线。

(2)ILE:数据锁存允许信号,高电平有效。

(3)输入寄存器选择信号,低电平有效。

(4)输入寄存器的“写”选通信号,低电平有效。

(5)数据转移控制信号线,低电平有效。

(6)DAC寄存器的“写”选通信号,低电平有效。

(7)RFB:内部反馈电阻对外引脚,用以输入来自片外运算放大器的反馈信号。

(8)VREF:基准电压(可为-10~+10V),基准电压决定了DAC输出电压的范围。

(9)IOUT1和IOUT2:电流输出线。DAC0832属电流输出型,两输出电流之和为常数。当要得到与输入数字量成正比的电压输出时,可把此两引脚输出的电流信号转换成电压形式。

(10)VCC:工作电源,在+5~+10V之间。

(11)DGND:数字地。

(12)AGND:模拟地。

D/A转换芯片输入是数字量,输出是模拟量。模拟信号很容易受到电源和数字信号等干扰而引起波动。为提高输出的稳定性和减少误差,模拟信号部分必须采用高精度基准电源VREF和独立的地线,一般把数字地和模拟地分开。模拟地是模拟信号及基准电源的参考地;其余信号的参考地,包括工作电源、数据、地址、控制等数字逻辑地都是数字地。

图7-34 DAC0832结构

3.DAC0832的内部结构

DAC0832的内部逻辑结构如图7-34(b)所示。DAC0832主要由两个8位寄存器(8位输入寄存器和8位DAC寄存器)和一个8位D/A转换器组成。使用两个寄存器的好处是可使DAC转换输出前一个数据的同时,将下一个数据传送到8位输入寄存器,以提高数/模转换的速度。在一些场合(例如绘图仪的单片微机控制),能够使多个数模转换器分时输入数据之后,同时输出模拟电压。

图7-34(b)中,输入寄存器的输出随输入变化;时,数据锁存在寄存器中,不再随数据总线上的数据变化而变化。欲使则8位输入寄存器将输入数据锁存。

欲使应同时为低,这时,8位DAC寄存器的输出随寄存器的输入变化。则输入寄存器的信息锁存在DAC寄存器中。图7-34(b)中的RFB是片内电阻,为外部运算放大器提供反馈电阻,用以提供适当的输出电压;VREF端由外部电路提供-10~+10V的参考电源;IOUT1与IOUT2是两个电流输出端。

欲将数字量D7~D0转换为模拟量,只要使DAC寄存器为不锁存状态,而ILE=1,端接负脉冲信号,即可完成一次转换;或者端接负脉冲信号,可达到同样目的。

4.DAC0832输出量转换电路

在D/A芯片中,有许多芯片输出量是电流,而实际应用中常常需要的是模拟电压。DAC0832为电流输出型D/A转换器,要获得模拟电压输出时,通常通过运算放大器进行变换。图7-35(a)是反相电压输出电路,输出电压VOUT=-iR;图7-35(b)是同相电压输出电路,输出电压VOUT=iR(1+R2/R1),增益可调。

图7-35 D/A转换输出电路

在过程控制应用中,有时对控制量的输出要求是单极性的,在给定值时,若要求的偏差不改变控制量的极性,这时可采用单极_输出电路。图7-36为DAC0832和运放组成的单极性D/A转换电路。图中,均接地,8位DAC0832芯片内的8位DAC寄存器处于跟随状态,其输出随输入的变化而变化。ILE恒接高电平,则输入信号由端接负脉冲信号,即可完成一次转换。当基准电压VREF为+5V时,输出电压VOUT的范围是0~5V;当基准电压VREF为+10V时,输出电压VOUT的范围是0~10V。

图7-36 单极性输出D/A转换电路

在随动系统中,例如对马达的控制,由偏差所产生的控制量不仅大小有所不同,而且控制量的极性也会不同,这时要求D/A转换器有双极性输出。图7-37是D/A芯片双极性输出电路。通过运放A2将单向输出变为双向输出。由VREF为A2运放提供一个偏移电流,该电流方向应与A1运放输出电流方向相反,且选择R4=R3=2R2。使得由VREF引入的偏移电流恰为A1运放输出电流的1/2。因而A2运放输出将在A1运放输出的基础上产生位移。双极性输出电压与VREF及A1运放输出VOUT1的关系是:-VOUT=2VOUT1+VREF。图7-37中,当输入数字量从00H~FFH变化时,对应的模拟电压VOUT的输出范围是-5~+5V。

图7-37 双极性输出D/A转换电路

(二)DAC0832与89C51单片机接口

DAC0832系列转换器与MCS-51系列单片机有3种基本的接口方法,即直通方式、单缓冲方式和双缓冲方式。三种方式中,直通方式最便捷,但容易受到干扰;而后两种方式都具有缓冲功能,抗干扰能力强,其中双缓冲方式可用于多路转换通道的同步转换控制。

从图7-34(b)DAC0832功能框图可以看出,数据输入通道由输入寄存器和DAC寄存器构成两级数据输入锁存,由3个门电路组成控制逻辑,产生信号,分别对两个寄存器进行控制。当时,数据进入锁存器被锁存;当时,锁存器的输出跟随输入变化而变化。这样,在使用时便可根据需要,设置时,对数据输入采用双缓冲方式;当采用的是单缓冲方式;当时,采用的是直通方式。

1.直通式工作方式应用

图7-38为直通式工作方式的连接方法。输入到DAC0832的D7~D0数据不经控制直达8位DAC。

图7-38 DAC0832直通式电压输出电路

_结合图7-34(b)DAC0832的功能框图,ILE接高电平,则使得两个寄存器为不锁存状态,即直通方式,数据线上的数据字节直通DAC转换并输出。

2.单缓冲工作方式应用

实际应用中,如果只有一路模拟量输出或几路模拟量不需要同时输出的场合,应采用单缓冲方式。在这种方式下,DAC0832的两个输入寄存器中有一个(多数为DAC寄存器)处于直通方式,而另一个处于受控的锁存方式。如图7-39所示,ILE接+5V,片选信号都连到地址线P2.7。这样,输入寄存器和DAC寄存器的地址都是7FFFH。连接,CPU对DAC0832执行一次“写”操作,把一个数据直接写入DAC寄存器,DAC0832的输出模拟信号随之发生变化。此方式下,受制于同一组外部信号。当执行“写”命令时,DAC0832相应的控制信号时序如图7-40所示。

图7-39 一路D/A输出连线图(单路模拟量输出)

图7-40 DAC0832时序图

下面几个程序将在运放输出端VOUT产生程控波形。

(1)产生连续方波的程序。参考程序如下:

(2)产生连续梯形波的程序。参考程序如下:

3.双缓冲工作方式应用

对于多路D/A转换接口,要求同步进行D/A输出时,必须采用双缓冲同步方式。在这种方式下,输入寄存器和DAC寄存器都工作在锁存状态,分别由单片机进行控制。通过指令把要转换的数字量送至第一级输入寄存器后,锁存数据;然后再通过指令使有效,将数据锁存到第二级DAC寄存器并送至D/A转换器。也可在不同时刻分别把要转换的数据存入不同的D/A转换芯片的输入寄存器中,然后再用同一条指令发出控制信号,让多个芯片同步进行D/A转换。

如图7-41所示是一个两路同步输出的D/A转换接口电路(略去模拟电压输出电路)。单片机的口线P2.5控制第一片DAC0832的输入锁存器,则DAC0832(1)的地址为DFFFH;口线P2.6控制第二片DAC0832的输入锁存器,则DAC0832(2)的地址为BFFFH;口线P2.7同时控制二片DAC0832的第二级DAC寄存器,则地址为7FFFH。在执行MOVX输出指令时,CPU自动输出控制信号。

执行以下几条指令后,就能完成两路D/A的同步转换输出。

图7-41 DAC0832的双缓冲同步方式接口电路