三防平板8位并行D/A转换器DAC0832及应用
(1)概述。DAC0832是美国国家半导体公司采用CMOS工艺生产的8位并行D/A转换器集成电路芯片,具有与微控制器连接简单、转换控制方便、价格低廉等特点,因而得到了广泛的应用。DAC0832引脚如图1所示,主要性能如下。
图1 DAC0832引脚分布图
● 分辨率为8位;
● 转换时间为1 μs;
● 参考电压为±10 V;
● 单电源为+5~+15 V;
● 功耗为20 mW。
各引脚含义如下。
● DI7~DI0:8位数字量输入信号,其中DI0为最低位,DI7为最高位。
● ILE:输入寄存器的允许信号,高电平有效。
● :片选信号,低电平有效。
● :数据写入输入寄存器的控制信号,低电平有效。
● :数据传送信号,它用来控制何时允许将输入寄存器中的内容锁存到8位并行DAC的寄存器中进行D/A转换。
● :DAC寄存器的写选通信号,DAC寄存器的锁存信号,当和同时允许时,为高电平,DAC 寄存器的输出随寄存器的输入变化,在端的下降沿时将输入寄存器的8位数字量锁存到DAC寄存器并开始D/A转换。
● VREF:参考电压输入端。
● RFB:芯片内部反馈电阻的接线端,可直接作为运算放大器反馈电阻。
● IOUTl:电流输出端1。
● IOUT2:电流输出端2。
● VCC:电源输入端。
● AGND:模拟地,一般情况下,它可与数字地相连,要求较高的场合应分开。
● DGND:数字地。
三防平板中DAC0832的内部结构如图2所示,主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器以及门控电路等组成。由于内部无参考电源,故需要外接。DAC0832输出是电流型信号,如要获得电压输出需外加转换电路。由于DAC0832采用了8位输入寄存器和8位DAC 寄存器二次缓冲方式,这样可以在 D/A 转换器输出的同时输入下一个数据,以便提高转换速度。DAC0832的输入数据为8位,其逻辑电平与TTL电平兼容,故可以直接与处理器的数据总线相连。
图2 DAC0832的内部结构
(2)接口方式及工作原理。根据DAC0832的、、、控制端的不同组合接法,可以有如下三种工作方式,如图3所示。
三防平板在直通型工作方式下,、、、连接数字地,ILE接高电平+5 V,芯片处于直通状态。只要输入数字量 D0~D7,就立即进行 D/A 转换,并输出转换结果。此方式不易实现接口控制,用得较少。
在单缓冲型工作方式下,两个寄存器中的一个处于直通状态,另一个处于受控锁存器状态或两个寄存器同步受控。该方式适用于只有一路模拟输出或有多路输出时,但不要求多路同时输出的场合。图4所示为单缓冲型工作方式下DAC0832与51系列微控制器(单片机)的一种连接方法,即单缓冲异步接口,只要在 DAC0832输出端配置一个单极性电压运算放大器,可实现单极性的D/A转换输出。当模拟量输入在00~FFH时,电压的输出量为0~+VREF或0~-VREF。单极性电路输入数据与输出电压关系如表1所示。
图4 单缓冲异步接口
表1 单极性电路输入数据与输出电压关系
对多路D/A转换接口,三防平板要求同步进行D/A转换输出时,必须采取双缓冲同步接口方式,电路如图5-11所示。数字量的输入锁存和 D/A 转换输出分两步完成,即微控制器数据总线分时向各路DAC输入待转换的数字量并锁存到各路的输入寄存器中,然后对所有的DAC发出控制信号,使各个DAC输入寄存器中的数据实现D/A转换输出。
图5 双缓冲同步接口
在实际应用中,有时不仅需要单极性输出,三防平板还需要双极性输出。DAC0832输出端配置有两级运算放大器,可实现双极性单缓冲工作电路,如图5-12所示。由于图中的VREF为5 V,所以电路中第1级运算放大器输出为单极性电压0~-5 V,第2级运算放大器输出为双极性电压±5 V。双极性输入数据与输出电压关系如表5-2所示,输出信号的最大电压幅值由D/A的参考电压VREF决定。
表2 双极性电路输入数据与输出电压关系
双极性单缓冲方式工作电路的输入寄存器选择信号及数据传送信号都与片选信号相连,两级寄存器的写信号、可由微控制器AT89S51的端控制,使两个寄存器同时选通及锁存。当片选信号选中DAC0832后,只要发出控制信号,DAC0832就能一步完成数字量的输入锁存和 D/A 转换输出。DAC0832具有数字量的输入锁存功能,所以数字量可以直接从P0口送入。由于DAC0832是电流型输出,需要配置运算放大器将电流输出转换为电压输出形式。另外,通过编写不同的软件,利用该电路可以分别产生锯齿波、三角波、方波和正弦波等信号。
(3)三防平板正弦波信号发生器的设计与实现。设计一个由微控制器和 DAC0832组成的一个正弦波信号发生器,其产生正弦波最简单的办法是将一个周期内转换的电压幅值(-5 V~+5 V)按照8位D/A转换分辨率分为256个数值并列成表格,然后依次将这些数字量送入D/A转换器进行转换。三防平板只要循环输入数值,经过双极性运算放大器就可以产生连续的正弦波。正弦波信号发生器的硬件部分设计可以参照图5.12所示的电路,工作在双极性单缓冲方式下,端口地址为7FFFH。软件可以采用C语言编写,输出正弦波电压信号的程序如下。
#INCLUDE <ABSACC.H>
#INCLUDE <REG51.H>
#DEFINE DAC0832 XBYTE[0X7FFF]
#DEFINE UCHAR UNSIGHED CHAR
UCHAR CODE TABSIN[256]=
{0X80,0X83,0X86,0X89,0X8D,0X90,0X93,0X96,0X99,0X9C,0X9F,0XA2,0XA5,0XA8,0XAB,0XAE,0XB1,0XB4,0XB7,0XBA,0XBC,0XBF,0XC2,0XC5,0XC7,0XCA,0XCC,0XCF,0XD1,… ,0X5A,0X5D,0X60,0X63,0X66,0X69,0X6C,0X6F,0X72,0X76,0X79,0X7C,0X80};
void main(void)
{
UCHAR I;
while(1)
{
for(I=0;I<256;I++)
DAC0832=TABSIN[I];
}
}
这种方式同样也适用于其他一些波形信号的发生器。