DAC0832作为程控放大衰减使用方法详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DAC0832引脚功能电路应用原理图
(一)D/A转换器DAC0832
DAC0832是采用CMOS工艺制成的单片直流输出型8位数/模转换器。
如图4-8 2所示,它由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF 四大部分组成。
运算放大器输出的模拟量V0为:
图4-82
由上式可见,输出的模拟量与输入的数字量()成正比,这就实现了从数字量到模拟量的转换。
一个8位D/A转换器有8个输入端(其中每个输入端是8位二进制数的一位),有一个模拟输出端。
输入可有28=256个不同的二进制组态,输出为256个电压之一,即输出电压不是整个电压范围内任意值,而只能是256个可能值。
DAC0832输出的是电流,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压。
实验线路如图4-84所示。
图4-85
1. 运算放大器
运算放大器有三个特点:
⑴开环放大倍数非常高,一般为几千,甚至可高达10万。
在正常情况下,运算放大器所需要的输入电压非常小。
⑵输入阻抗非常大。
运算放大器工作时,输入端相当于一个很小的电压加在一个很大的输入阻抗上,所需要的输入电流也极小。
⑶输出阻抗很小,所以,它的驱动能力非常大。
2.由电阻网络和运算放大器构成的D/A转换器
利用运算放大器各输入电流相加的原理,可以构成如图10.7所示的、由电阻网络和运算放大器组成的、最简单的4位D/A转换器。
图中,V0是一个有足够精度的标准电源。
运算放大器输入端的各支路对应待转换资料的D0,D1,…,D n-1位。
各输入支路中的开关由对应的数字元值控制,如果数字元为1,则对应的开关闭合;如果数字为0,则对应的开关断开。
各输入支路中的电阻分别为R,2R,4R,…这些电阻称为权电阻。
假设,输入端有4条支路。
4条支路的开关从全部断开到全部闭合,运算放大器可以得到16种不同的电流输入。
这就是说,通过电阻网络,可以把0000B~1111B转换成大小不等的电流,从而可以在运算放大器的输出端得到相应大小不同的电压。
如果数字0000B每次增1,一直变化到1111B,那么,在输出端就可得到一个0~V0电压幅度的阶梯波形。
3.采用T型电阻网络的D/A转换器
从图10.7可以看出,在D/A转换中采用独立的权电阻网络,对于一个8位二进制数的D/A转换器,就需要R,2R,4R,…,128R共8个不等的电阻,最大电阻阻值是最小电阻阻值的128倍,而且对这些电阻的精度要求比较高。
如果这样的话,从工艺上实现起来是很困难的。
所以,n个如此独立输入支路的方案是不实用的。
在DAC电路结构中,最简单而实用的是采用T型电阻网络来代替单一的权电阻网络,整个电阻网络只需要R和2R两种电阻。
在集成电路中,由于所有的组件都做在同一芯片上,电阻的特性可以做得很相近,而且精度与误差问题也可以得到解决。
图10.8是采用T型电阻网络的4位D/A转换器。
4位元待转换资料分别控制4条支路中开关的倒向。
在每一条支路中,如果(资料为0)开头倒向左边,支路中的电阻就接到地;如果(资料为1)开关倒向右边,电阻就接到虚地。
所以,不管开关倒向哪一边,都可以认为是接“地”。
不过,只有开关倒向右边时,才能给运算放大器输入端提供电流。
T型电阻网络中,节点A的左边为两个2R的电阻并联,它们的等效电阻为R,节点B的左边也是两个2R的电阻并联,它们的等效电阻也是R,…,依次类推,最后在D点等效于一个数值为R的电阻接在参考电压V REF上。
这样,就很容易算出,C点、B点、A点的电位分别为-V REF/2,-V REF/4,-V REF/8。
在清楚了电阻网络的特点和各节点的电压之后,再来分析一下各支路的电流值。
开关S3,S2,S1,S0分别代表对应的1位二进制数。
任一资料位Di=1,表示开关Si倒向右边;Di=0,表示开关Si倒向左边,接虚地,无电流。
当右边第一条支路的开关S3倒向右边时,运算放大器得到的输入电流为-VREF/(2R),同理,开关S2,S1,S0倒向右边时,输入电流分别为-VREF/(4R),-VREF/(8R),-VREF/(16R)。
如果一个二进制数据为1111,运算放大器的输入电流
I=-VREF/(2R)-VREF/(4R)-VREF/(8R)-VREF/(16R)
=-VREF/(2R)(20+2-1+2-2+2-3)=-VREF/(24R)(23+22+21+20)
相应的输出电压
V0=IR0=-VREFR0(24R)(23+22+21+20)
将资料推广到n位,输出模拟量与输入数字量之间关系的一般表达式为:
V0=-VREFR0/(2nR )(Dn-12n-1+Dn-2 2n-2+…+D121+D020) (Di=1或0) 上式表明,输出电压V0除了和待转换的二进制数成比例外,还和网络电阻R 、运算放大器反馈电阻R0、标准参考电压VREF 有关。
10.3.3 DAC0832及接口电路
DAC0832是美国资料公司研制的8位双缓冲器D/A 转换器。
芯片内带有资料锁存器,可与数据总线直接相连。
电路有极好的温度跟随性,使用了COMS 电流开关和控制逻辑而获得低功耗、低输出的泄漏电流误差。
芯片采用R-2RT 型电阻网络,对参考电流进行分流完成D/A 转换。
转换结果以一组差动电流IOUT1和I OUT2输出。
DAC0832主要性能参数:①分辨率8位; ②转换时间1μs ;③参考电压±10V ;④单电源+5V~+15v ;⑤功耗20mW 。
1. DAC0832的结构
DAC0832的内部结构如图10.9所示。
DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE ;第二级锁存器称为DAC 寄存器,它的锁存信号为传输控制信号XFER 。
因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。
此外,两级锁存器还可以在多个D/A 转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。
图10.9中LE 为高电平、CS 和1WR 为低电平时,1LE 为高电平,输入寄存器的输出跟随输入而变化;此后,当由低变高时,1LE 为低电平,资料被锁
存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变
LE为高电平,DAC 化。
对第二级锁存器来说,XFER和2
WR同时为低电平时,2
寄存器的输出跟随其输入而变化;此后,当2
WR由低变高时,变为低电平,将输入寄存器的资料锁存到DAC寄存器中。
2. DAC0832的引脚特性
DAC0832是20引脚的双列直插式芯片。
各引脚的特性如下:
WR是否起作用。
CS——片选信号,和允许锁存信号ILE组合来决定1
ILE——允许锁存信号。
WR——写信号1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此1
WR必须和CS、ILE同时有效)。
时,1
WR——写信号2,将锁存在输入寄存器中的资料送到DAC寄存器中进行2
锁存(此时,传输控制信号XFER必须有效)。
WR。
XFER——传输控制信号,用来控制2
DI7~DI0——8位数据输入端。
I OUT1——模拟电流输出端1。
当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。
I OUT2——模拟电流输出端2。
I OUT1+I OUT2=常数。
R FB——反馈电阻引出端。
DAC0832内部已经有反馈电阻,所以,R FB端可以直接接到外部运算放大器的输出端。
相当于将反馈电阻接在运算放大器的输入端和输出端之间。
V REF——参考电压输入端。
可接电压范围为±10V。
外部标准电压通过V REF 与T型电阻网络相连。
V CC——芯片供电电压端。
范围为+5V~+15V,最佳工作状态是+15V。
AGND——模拟地,即模拟电路接地端。
DGND——数字地,即数字电路接地端。
3.DAC0832的工作方式
DAC0832进行D/A转换,可以采用两种方法对数据进行锁存。
第一种方法是使输入寄存器工作在锁存状态,而DAC寄存器工作在直通状
WR和XFER都为低电平,DAC寄存器的锁存选通端得不态。
具体地说,就是使2
到有效电平而直通;此外,使输入寄存器的控制信号ILE处于高电平、CS处于WR端来一个负脉冲时,就可以完成1次转换。
低电平,这样,当1
第二种方法是使输入寄存器工作在直通状态,而DAC寄存器工作在锁存状态。
就是使和CS为低电平,ILE为高电平,这样,输入寄存器的锁存选通信
WR和XFER端输入1个负脉冲时,使得DAC寄存器号处于无效状态而直通;当2
工作在锁存状态,提供锁存数据进行转换。
根据上述对DAC0832的输入寄存器和DAC寄存器不同的控制方法,DAC0832有如下3种工作方式:
⑴单缓冲方式。
单缓冲方式是控制输入寄存器和DAC寄存器同时接收资
料,或者只用输入寄存器而把DAC 寄存器接成直通方式。
此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。
⑵双缓冲方式。
双缓冲方式是先使输入寄存器接收资料,再控制输入寄存器的输出资料到DAC 寄存器,即分两次锁存输入资料。
此方式适用于多个D/A 转换同步输出的情节。
⑶直通方式。
直通方式是资料不经两级锁存器锁存,即1WR ,2WR ,XFER ,
均接地,ILE 接高电平。
此方式适用于连续反馈控制线路,不过在使用时,必须通过另加I/O 接口与CPU 连接,以匹配CPU 与D/A 转换。
4.DAC0832的外部连接
DAC0832的外部连接线路如图10.10所示。
5. DAC0832的应用举例
5.1 DAC0832单缓冲工作方式在单片机中的简单应用(一)
单缓冲型工作方式主要用于一路DAC或多路DAC不需要同步的场合,主要是把DAC0832的两个寄存器中任一个接成常通状态。
如下图所示,ILE引脚接高电平,写选通信号WR1、WR2都和单片机的写信号WR连接。
片选信号CS,数据传送信号XFER都连接到高位地址线A15(P2.7),输入寄存器和DAC寄存器的地址都是7FFFH (因为CS和XFER都是低电平有效,即A15低电平有效,其余地址线A0~A14都为高电平时的地址为DAC0832的最高地址,即其在系统中的地址,即为7FFFH。
) CPU对DAC0832执行一次写操作,则把数据直接写入DAC寄存器,DAC0832的输出也将随之变化。
本例是用DAC0832生成锯齿波,用运算放大器LM324将输出的电流信号转换为电压信号。
C程序如下:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define DAC0832 XBYTE[0X7FFF] //DAC0832在系统中的地址为0X7FFF
void delay(uint x) //延时函数
{uchar i;
while(x)
for(i=0;i<120;i++);
}
void main()
{uchar i;
while(1)
{for(i=0;i<256;i++) //产生锯齿波
DAC0832=i;
delay(1);
}
}
5.2 DAC0832单缓冲工作方式在单片机中的简单应用(二)
如下图所示,本例仍然是利用DAC0832工作在单缓冲方式输出锯齿波,和上例不同的是,这里将片选信号CS,数据传送信号XFER都通过地址锁存器74LS373连接到最低位地址线A0(P2.0)。
所以输入寄存器和DAC寄存器的地址变为FFFEH (因为CS和XFER都是低电平有效,即A0低电平有效,其余地址线A1~A15都为高电平时的地址为DAC0832的最高地址,即其在系统中的地址,即为FFFEH。
)
C程序如下:
C程序如下:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
#define DAC0832 XBYTE[0XFFFE] //DAC0832在系统中的地址变为0XFFFE
void delay(uint x) //延时函数
{uchar i;
while(x)
for(i=0;i<120;i++);
}
void main()
{uchar i;
while(1)
{for(i=0;i<256;i++) //产生锯齿波DAC0832=i;
delay(1);
}
}。