目前生产的D/A转换器的型号很多,按分辨率有8位、10位、12位、16位等;按速度分又有低速、高速等。但是,无论是哪种型号的芯片,它们的基本原理和功能是一致的,其芯片的引脚定义也是基本相同的。一般都有数据输入端和模拟量的输出端。其中模拟量的输出端又有单端输出和差动输出两种。D/A芯片所需参考电压VREF由芯片接电源提供。为了使D/A转换器能连接输出模拟信号,CPU传输给D/A转换器的数据一定要进行锁存保持,然后再与D/A转换器相连接。有的D/A转换器芯片内部带有锁存器,那么此时D/A转换器可作为CPU的一个外围设备端口而挂在总线上。在需要进行D/A变换时。CPU通过片选信号和写控制信号将数据写至D/A转换器。
DAC0832是国内使用较为普遍的8位D/A转换器,它采用CMOS/Si-Cr工艺制成,分辨率为8位,功耗只有20mW,绝对精度为±(1/2)LSB,建立时间为1μs,单一电源供电,电源电压范围从+5~+15V。芯片内有R-2R梯形电阻网络,用于对参考电压产生的电流进行分流,完成数/模转换,转换结果以一组差动电流IOUT1和IOUT2输出。当需要转换为电压输出时,可外接运算放大器。由于DAC0832片内有输入数据寄存器,故可直接与8088、8086等处理器的数据总线相连。
1.内部结构
图9-5所示是DAC0832内部结构图,从图中可以看出,DAC0832内部有一个8位输入寄存器和一个8位DAC寄存器,它们可以分别被予以选通。
图9-5 DAC0832内部结构图
①当为高电平时(ILE=1,,),输入寄存器的输出端信号跟随DI7~DI0变化。
②当由高变低时(ILE=0,或,或),输入寄存器锁存DI7~DI0的当前值。
③当LE2为高电平时(,),DAC寄存器的输出信号跟随输入寄存器的输出信号变化。
④当由高变低时(,或),DAC寄存器锁存当前输入寄存器输出值。
DAC寄存器输出信号直接送D/A转换器进行转换。
2.引脚说明
图9-6给出了DAC0832的引脚图,其中有8条数据线、5条控制线,它们的作用分别如下:
(1)8条数据线
DI7~DI0:8位数字量输入数据线,DI0是最低位,DI7是最高位。
图9-6 DAC0832的引脚图
(2)5条控制线:片选信号输入端,输入低电平有效。
ILE:输入锁存允许信号,输入高电平有效。它与CS、WR1配合使输入寄存器的输出随输入变化。 :写信号1,输入低电平有效。当、W、ILE均为有效时,其数据写入8位输入锁存器。 :写信号2,输入低电平有效。当其有效时,在传送控制信号的作用下,可将锁存在输入寄存器的8位数据送到DAC寄存器。
在使用DAC0832时,和信号的宽度应不小于500ns,待转换的数字量保持时间应在90ns以上。:传送控制信号,输入低电平有效。
(3)其他引脚
IOUT1:模拟电流输出端1,当DAC寄存器各位均为1时,输出电流最大;当DAC寄存器各位均为0时,输出电流为0。
IOUT2:模拟电流输出端2,IOUT1与IOUT2的和为一常数,一般单极性输出时IOUT2接地,在双极性输出时接运放。
RFB:内部反馈电阻引出端,外部的运算放大器输出端可以直接接到RFB端。
VREF:参考电压输入端,可以在-10~+10V范围内选择。
VCC:数字电源端,可以在+5~+15V范围内选用,用+15V工作最佳。
AGND:模拟信号地。
DGND:数字信号地。(www.xing528.com)
3.工作方式
DAC0832有三种工作方式:
(1)双缓冲方式
通常采用的连接方式为:ILE固定接+5V,CPU的信号复连到和W,用作为输入寄存器的片选信号,作为DAC寄存器的片选信号,分别接到两个I/O端口地址译码输出。
双缓冲方式的优点是:在D/A转换的同时,可以接收下一个待转换的数据,从而提高转换效率。对于多路D/A转换接口,要求同步进行D/A输出时,必须采用双缓冲方式。
(2)单缓冲方式
采用单缓冲方式是令两个寄存器中的一个处于直通状态,例如把、接地(数字信号地),使DAC寄存器处于直通状态,ILE接+5V,接CPU的,接I/O端口地址译码器。只针对端进行一次写入操作,数据写入后即开始D/A转换。
(3)直通方式
当ILE接+5V,、、、都接地(数字信号地)时,DAC0832处于直通方式,输入端DI7~DI0一旦出现数字信号就立即进行D/A转换,由于输入不使用缓冲寄存器,所以不能和计算机系统的数据线直接相连。
在进行D/A(A/D)转换时,要正确处理芯片的接地问题。D/A转换器(A/D转换器)的内部主要是模拟电路,而运算放大器内部则完全是模拟电路,在设计D/A(A/D)转换电路时,比如要有其他的门电路、译码器等协同工作,它们是数字电路,因此,就存在“模拟”和“数字”两个系统,为了避免干扰,应当把系统的“数字地”连在一起,“模拟地”连在一起,然后再把“数字地”和“模拟地”连接到一个共地点。
4.DAC0832的应用
(1)DAC0832与8086微处理器的连接
DAC0832片内有两个寄存器作为输入和输出之间的缓冲,可以直接接在CPU的总线上,其连接电路如图9-7所示。
图9-7 DAC0832与PC总线的连接
从图9-7不难看出,DAC0832工作在单缓冲方式。从b点输出为双极性模拟电压,当D/A转换器输入端的数据从00H~0FFH变化时,b点输出将在-5~+5V之间变化。如果想要单极性0~+5V输出,那么只要使VREF接-5V电源,然后直接从运算放大器N1的a输出端输出即可。在图中的b输出端接一个680~0.1μF的电容是为了平滑D/A转换器的输出,同时也可以提高抗脉冲干扰能力。运算放大器可选LF353。
(2)DAC0832的输出驱动程序
由于DAC0832芯片是挂在I/O扩展总线上的,因此在编制DAC0832驱动时,只要把DAC0832看成是一个输出端口就行了。向该端口送一个8位的数据,在b输出端口就可以得到一个相应的输出电压。由图9-7得出DAC0832的端口地址为279H,如要在b点输出端产生周期为1s的锯齿波,则用8088汇编语言书写的程序如下:
以上程序不难看懂,所得的波形如图9-8所示。按理说其下降沿应呈阶梯形,但255级的级数较多,因此可近似看做一条光滑的直线。通过改变延时时间,可以调节锯齿波的周期。若需要输出的波形是锯齿波或三角波、倒三角波、梯形波、不同占空比的矩形波,甚至组合波形,都可以仿照上例稍加变化一一编程生成。
图9-8 D/A转换b点输出的锯齿波形
利用D/A转换器可以产生频率比较低的任意波形。这些波形是由程序产生的,所产生的波形最高频率受CPU执行指令速度的限制。
在图9-7中,DAC0832芯片与微机总线直接连接。但是,当微机应用系统中需要多片D/A转换器时,这种直接连接将会对数据总线构成较大的负载,应增加数据总线驱动器,减小数据总线的负载。图9-9是用8片DAC0832构成的8路8位D/A转换器电路,该图利用74LS244作为数据总线驱动器,译码器采用两片74LS138,8片DAC0832的端口地址范围为208H~20FH。图中引线经两个反相器才与DAC0832的相连,是为了增加引线的负载能力。
图9-9 8路8位DAC0832转换器连接示意图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。