《ad与da转换》由会员分享,可在线阅读,更多相关《ad与da转换(82页珍藏版)》请在金锄头文库上搜索。
1、1,第九章 A/D与D/A转换,2,工业控制中,常须将采集的模拟量转换为数字量送入计算机进行处理;而计算机输出的数字量常被转换为模拟量,从而进行工业生产控制。,3,A/D:模拟量数字量 (Analog Digital)。实现A/D转换的电路称为A/D转换器,简称ADC。 D/A:数字量模拟量 (Digital Analog)。实现D/A转换的电路称为D/A转换器,简称DAC。,4,9.1 D/A转换,D/A转换工作原理,D/A转换器接口电路,DAC0832及其应用,DAC1210及其应用,D/A转换,5,(1) D/A转换工作原理,数字量,模拟量,T型 电阻 网络,参考电压,求和放大器,R-2
2、R T型电阻网络D/A转换电路,6,电路特征 运算放大器虚地:输入电流近似为0(虚断路),输入电压近似为0(虚短路)。 T型网络只有R和2R两种电阻,整个网络的等效电阻为R。,7,结论 共有n条分支,各支路的电流为:,8,输入的数字量 Di 控制模拟开关 Si : Di = 0时,开关 Si 接地,支电流 Ii 流向地; Di = 1时,开关 Si 接运放,支电流 Ii 流向运放。 输入运放的电流 Ii 为各支路电流之和。,I = D n-1 I n-1 + D n-2 I n-2 + + D1 I 1 + D 0 I0 = (Dn-1 2n-1 + + D1 21 + D0 20) = D,
3、9,D/A的原理 输出电压 V0 = -IRf = -D Rf,故模拟电压输出V0与数字量输入D之间成正比关系。 常将 - 设为,它表示最低位数字量变化时对应的模拟输出增量(分辨力)。 通过调整 Rf 和VREF,可调整D/A的输出范围和满刻度。,10,【例9-1】基准电压VREF = -10V,Rf = R,数字量输入为8位,试分析D/A转换原理。分析: 输出电压 V0 = -IRf = -D Rf = D。 = - = - = 0.039V。 当数字量输入为 0000 0000B时, V0 = 0V 当数字量输入为 0000 0001B时, V0 = 1 = 0.039V 当数字量输入为1
4、000 0000B 时, V0 = 128 = 5V 当数字量输入为1111 1111B 时, V0 = 255 = 9.96V,为什么不是满刻度10V?,11,D/A转换的技术参数 分辨率 表示最低位数字量变化时对应的模拟输出增量。它代表分辨力。 分辨率:常用相对百分值表示,指与最大满量程输出电压的比值。即:分辨率 = /满量程 = / (2n-1) = 1/(2n-1) 分辨率越高,转换时对输入量的微小变化反应越灵敏。它与数字量位数n有关,n越大分辨率越高。 分辨率常用数字量位数表示,有8位、12位等。,12,转换精度 指实际输出值与理论计算值之差。用于衡量D/A转换的精确程度。 转换精度
5、取决于D/A转换器各部件制作的误差。,13,建立时间 指从数字信号输入转换器起,到输出电压或电流达到稳定值所需的时间。它决定了转换速度。 目前1012位单片集成D/A转换器的建立时间多在1s之内。按其建立时间可分为: 低速:100 s 中速:1100 s 高速:50ns 100 s 超高速:100s 、1100s、50ns100s、50 ns)。 按内部是否有数据输入寄存器分:带数据输入寄存器、不带数据输入寄存器。 按与微机系统的连接关系分:位数等于微机系统数据总线、位数大于微机系统数据总线。,(2) D/A转换器接口电路,17,D/A转换器与CPU的数据缓冲 D/A转换器与CPU相连时,可看
6、做是CPU的一个输出外设,需连接地址、数据和控制总线。 数据锁存问题:CPU向D/A转换器输出的数据在数据总线上停留的时间很短,而D/A转换器要求在转换期间数据输入保持稳定。因此,需要数据锁存器来保持CPU输出给D/A转换器的数据,直至转换结束。 对于内部自带数据锁存器的D/A转换器,CPU可直接与其相连;对无数据锁存器的D/A转换器,须在D/A转换器外部另加数据锁存器。,18,D/A转换器与CPU连接的四种情况 8位DAC,片内无输入数据锁存器:必须外置数据锁存器,数据可一次传送给D/A转换器。 8位DAC,片内有输入数据锁存器:无须外置,可直接与CPU相连,数据可一次传送给D/A转换器。
7、DAC多于8位,片内无输入数据锁存器:对于8位PC机,需要外置两级数据锁存器,以便数据总线与DAC相匹配。D/A转换时,数据需分2次传送给锁存器,同时要保证全部数据同时到达DAC进行转换。 DAC多于8位,片内有输入数据锁存器:对于8位PC机, D/A转换时,数据需分2次传送给数据锁存器,同时要保证全部数据同时到达DAC进行转换。,19,内容概要,D/A转换工作原理,D/A转换器接口电路,DAC0832及其应用,DAC1210及其应用,D/A转换,D/A转换器的数据锁存问题 D/A转换器与CPU连接的4种情况,20,总体特性 8位,属DAC0800系列,可与DAC0830、DAC 0831相互
8、替换。 采用CMOS工艺,片内有R-2R T型电阻网络,是电流输出型D/A转换器。要想得到电压形式输出,需外接运算放大器。 内部自带两级8位输入锁存器,可与数据总线直接相连,无需外接锁存器。,(3) DAC0832及其应用,21,内部结构,数据输入,输入锁存允许信号,数据传送控制信号,22,外部引脚,23,DI0 DI7:8位数字输入端。 ILE:输入锁存允许信号,高有效。 WR1:写信号1,输入寄存器写选通信号,低有效。 输入寄存器的锁存信号 LE1 = CS & WR1 & ILE。 当三者同时有效时,LE1也有效,输入寄存器的输出随输入变化。 当WR1无效时,LE1也无效,输入的数据被锁
9、存在输入寄存器中。,24,XFER:数据传送控制信号,低有效。 WR2:写信号2,DAC寄存器写选通信号,低有效。 DAC寄存器的锁存信号LE2 = XFER & WR2 。 当两者同时有效时,LE2也有效,DAC寄存器的输出随其输入而变化。 当WR2无效时,LE2也无效,输入寄存器的数据被锁存在DAC寄存器中。,25,IOUT1:DAC电流输出端1,是数字输入端逻辑电平为1的各位输出电流之和。DAC寄存器的内容为全1时,IOUT1最大;全为0时,IOUT1最小。 IOUT2:DAC电流输出端2。IOUT1+ IOUT2 = 常数。此常数对应于一固定基准电压的满量程电流。 RFB:反馈电阻。制
10、作在芯片内部,用作DAC提供输出电压的运算放大器的反馈电阻。 VREF:基准电源输入端。一般在-1010V范围内。 Vcc:逻辑电源输入端,取值范围为+5 +15V。 AGND:模拟地,为芯片模拟电路接地点。 DGND:数字地,为芯片数字电路接地点。,26,DAC0832的工作方式 (3种) 直通工作方式2个寄存器均直通放行 CS、WR1、WR2、XFER均接地,ILE接电源,故LE1 和 LE2均有效,这样,输入寄存器和DAC寄存器均处于直通放行状态,数据直接送入D/A转换器进行D/A转换。 这种方式不使用缓冲寄存器,不能直接与CPU系统总线相连,可外接8255等接口芯片作为缓冲。,27,2
11、8,单缓冲方式1个直通,1个受控 将WR2 和 XFER均接地,使DAC寄存器处于直通状态;使ILE接高电平,WR1接CPU的IOW,CS接地址译码输出,输入寄存器处于受控状态。,29,输入数据只需一级缓冲即可送入D/A转换电路,故仅需执行一次写操作,即可完成D/A转换。该方式多应用于多个模拟量不同时输出的场合。,MOV AL,Data ;取数字量 OUT PORT,AL ;启动D/A转换,30,两级缓冲方式2个寄存器均受控,31,两级缓冲方式下,需执行两条指令才能实现D/A转换。设2个寄存器的端口地址分别为port1和port2,则:该方式可用于同时需要输出多个模拟量的场合。,MOV DX,
12、port1 OUT DX,AL ;打开输入寄存器 MOV DX,port2 ;AL内容可任意 OUT DX,AL ;打开DAC寄存器,32,【例9-2】用2片DAC0832组成一个模拟输出系统,将内存DATA1和DATA2两个单元的字节数据同时转换成模拟量,产生2个模拟电压输出。,33,解题分析: 两个DAC0832芯片的输入寄存器各占一个端口地址,便于分别写入各自的数据。 两片芯片的DAC寄存器共用一个地址,以确保可同时打开,让数据同时送入两个D/A转换器,以便同时开始转换,使两个模拟量同步输出。,34,MOV AL,DATA1 ;第1个数据 MOV DX,port1 ;第1片0832输入寄
13、存器地址 OUT DX,AL ;将DATA1输出到第1片0832输入寄存器 MOV AL,DATA2 ;第2个数据 MOV DX,port2 ;第2片0832输入寄存器地址 OUT DX,AL ;将DATA2输出到第2片0832输入寄存器 MOV DX,port3 ;两片0832的DAC寄存器地址 OUT DX,AL ;同时打开两片0832的DAC寄存器;同时开始进行转换,35,DAC0832应用举例 D/A转换器输出的模拟量与输入的数字量成正比关系。利用该特性,CPU通过程序向D/A转换器输出不同变化规律的数字量,可得到相应变化的模拟量。 利用D/A转换器可很容易产生各种波形,如方波、三角波
14、和锯齿波等。,36,【例9-3】用DAC0832作为函数波形发生器,使其能产生方波、锯齿波和三角波。设8255的端口地址范围是20020FH。,工作方式?,37,锯齿波程序:,MOV DX,203H ;8255A控制口地址MOV AL,82H ;8255A控制字OUT DX,AL ;设置8255A 的A口为方式0输出MOV DX,200H ;8255A的A口地址MOV AL,00H ;输出数据初值 J: OUT DX,AL ;锯齿波输出INC ALJMP J,负向锯齿波如何实现?,38,三角波程序:利用正、负向锯齿波组合,产生三角波。,MOV DX,203H ;8255A控制口地址, 控制字M
15、OV AL,82H OUT DX,AL ;设置8255A 的A口为方式0输出 S:MOV DX,200H ;8255A的A口地址MOV AL,00H ;正向锯齿波 Z:OUT DX,ALINC ALJNZ Z MOV AL,0FFH ;负向锯齿波 F:OUT DX,ALDEC ALJNZ F JMP S,39,方波程序,MOV DX,203H ;8255A控制口地址MOV AL,82H ;8255A控制字OUT DX,AL ;8255A的A口方式0输出MOV DX,200H ;8255A的A口地址 AGAIN:MOV AL,00HOUT DX,AL ;输出方波“0”CALL DELAY ;方波“0”宽度MOV AL,0FFHOUT DX,AL ;输出方波“1”CALL DELAY ;方波“1”宽度JMP AGAIN,