查看: 1353|回复: 0
打印 上一主题 下一主题

8位DA转换器-DAC0832

[复制链接]
跳转到指定楼层
沙发
发表于 2015-4-14 21:34:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图1-1和图1-2分别为DAC0832的引脚图和内部结构图。其主要参数如下:分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为(+10~-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。从图1-1中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号/XFER。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif图1-1中,当ILE为高电平,片选信号 /CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。
对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。
1-1中其余各引脚的功能定义如下:
(1)、DI7~DI0 :8位的数据输入端,DI7为最高位。
(2)、IOUT1 :模拟电流输出端1,当DAC寄存器中数据全为1时,输出电流最大,当 DAC寄存器中数据全为0时,输出电流为0。
(3)、IOUT2 :模拟电流输出端2, IOUT2与IOUT1的和为一个常数,即IOUT1+IOUT2=常数。
(4)、RFB :反馈电阻引出端,DAC0832内部已经有反馈电阻,所以 RFB端可以直接接到外部运算放大器的输出端,这样相当于将一个反馈电阻接在运算放大器的输出端和输入端之间。
(5)、VREF :参考电压输入端,此端可接一个正电压,也可接一个负电压,它决定0至255的数字量转化出来的模拟量电压值的幅度,VREF范围为(+10~-10)V。VREF端与D/A内部T形电阻网络相连。
(6)、Vcc :芯片供电电压,范围为(+5~15)V。
(7)、AGND :模拟量地,即模拟电路接地端。
(8)、DGND :数字量地。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
1-2DAC0832内部结构图
2 DAC0832的工作方式
DAC0832可处于三种不同的工作方式:
1、 直通方式 :当ILE接高电平,file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif、file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif、file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif和file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7~DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即把要产生基本波形的数据存在ROM中,连续取出送到DAC去转换成电压信号。
2、 单缓冲方式 :只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存器数据,DAC就可处于单缓冲工作方式。一般的做法是将file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif和file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif接端口地址译码信号,file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif接CPU的file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif信号,这样就可以通过一条MOVX指令,选中该端口,使file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif和file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif有效,启动D/A转换。
3、 双缓冲方式 :主要在以下两种情况下需要用双缓冲方式的D/A转换。
l  需在程序的控制下,先把转换的数据输入输入缓存器,然后在某个时刻再启动D/A转换。这样,可先选中file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif端口,把数据写入输入寄存器;再选中file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。
l  在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC转换。先用3条输出指令选择3个端口,分别将数据写入各DAC的输入寄存器,当数据准备就绪后,再执行一次写操作,使file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif变低同时选通3个D/A的DAC寄存器,实现同步转换。
3DAC0832的应用
图1-3为单片机和DAC0832直通方式输出连接图,运放输出电路输出电压为 UOUT=-(D/256)*VREF, 例如上图中向DAC0832传送的8位数据量40H(01000000B),则输出电压UOUT=-(64/256)*5V=-1.25V,其输出过程可用MOV  P1 ,  #40H一条指令完成。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
1-3、单片机和DAC0832直通方式输出连接图

资料2ADC804的性能特点
ADC804型8位全MOS file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif转换器。它是中速廉价型产品之一。片内有三态数据输出锁存器,与微处理器兼容,输入方式为单通道,转换时间约为100?s。它的非线形误差为±1LSB。电源电压为单一+5V。
1ADC0804的引脚及其功能
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gifADC0804的典型外部接线图如图2-1所示。被转换的电压信号从file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image021.gif和file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image023.gif输入,允许此信号是差动的或不共地的电压信号,模拟地和数字地分别设置引入端,使数字电路的地电流不影响模拟信号回路,以防止寄生耦合造成的干扰。参考电压file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif可以由外部电路供给,从“file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif”端直接送入。当file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image027.gif电源准确、稳定时,也可作参考基准。此时,由ADC0804片内部设置的分压电路可自行提供file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif参考电压(2.5V),“file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif”端不必外接电源,浮空即可。                       ADC0804片内有时钟电路,只要在外部“CLKR”和“CLK”两端外接一对电阻电容即可产生file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image029.gif转换所需要的时钟,其振荡频率为file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif≈file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image033.gifRC。其典型应用参数为:R=10kΩ,C=150pF,file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif≈640kHz,每秒钟可转换1万次。若采用外部时钟,则外部file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif可从CLK端送入,此时不接R、C。
    file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif是片选端,file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif是控制芯片启动的输入端;file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif是转换结束信号输出端,输出电平高跳到低表示本次转换已经完成,可作为中断或查询信号。如果file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image034.giffile:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif端与file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif端相连,则ADC0804就处于自动循环转换状态。
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image040.jpgfile:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image042.gif为转换结果读出控制端,当它与file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif同时为低电平时,输出数据锁存器DB0~DB7各端上出现8位并行二进制数码,以表示file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image043.gif结果。
2-1ADC0804引脚图
2ADC0804转换器的时序及接口电路
ADC0804转换器的时序如下。file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif=0时,允许进行file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image043.gif转换。file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif由低跳高时file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image043.gif转换开始,8位逐次比较需用8×8=64个时钟周期,再加上控制逻辑操作,一次转换需要66~73个时钟周期。ADC0804与AT89C51单片机的接口电路见图2-2:
file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image045.jpg
2-2、单片机和0804接口电路
0804由于具有三态输出锁存器,可直接驱动数据总线,故与AT89C51接口电路十分简单,直接连接成上图即可。
当file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif与file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif同时有效时便启动file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image043.gif转换,转换结束时产生file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif信号,可供输出查询或中断信号。在file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif和file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image042.gif共同控制下可以读取转换结果数据。
在file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image043.gif转换过程中,如果再次启动转换器,则终止正在进行的转换,进入新的转换,在新的转换过程中,数据寄存器中仍保持上一次的转换结果。
0804提供两个信号输入端file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image049.gif和file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image023.gif,如果输入电压file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image051.gif的变化范围从0V到file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image053.gif,则芯片的file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image023.gif端接地,输入电压加到file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image049.gif端。对于差动输入,输入电压可以从非零开始,即file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image055.gif到file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image053.gif。此时file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image023.gif端应接至等于file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image055.gif的恒定电压上,而输入电压file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image051.gif仍加到file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image049.gif端上。
0804转换器的零点无需调整,而输入电压的范围可以通过调整file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif端处的电压加以改变。file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif端电压应为输入电压的file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image058.gif。例如输入电压范围是0V至2V,则在file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif端应加1V,但当输入电压为0~+5V时,file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif端无需外加任何电压,而由内部电源分压得到。
AD0804按图2-2和单片机相连时, 完成一次A/D采集的应用程序如下:
       AD0804:          MOV   P1,  #0FFH            ;对所有使用到I/O口置1
                          MOV   P3,  #0FFH
                 CLR    P3.0                   ;选片及写信号置低,启动A/D
                          CLR  P3.6
                             NOP
                 SETB   P3.6                   ;完成启动
                 SETB   P3.0   
   WAIT:       JNB    P3.4, WAIT              ;等待A/D结束信号
                 CLR   P3.0                    ;选片及读信号置低,发读信号
                 CLR   P3.7
                 NOP
                 MOV   A, P1                 ;取A/D结果送到A
                             SETB  P3.7                   ;整个过程结束
                             SETB  P3.0
                 RET


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入中科因仑

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表