1、第11章 D/A和A/D转换,11.1 概述 11.2 D/A转换原理 11.3 DAC0832及应用 11.4 A/D转换原理 11.5 ADC0809及应用,主要知识点,掌握D/A和A/D的基本概念 掌握D/A接口芯片DAC0832 掌握A/D接口芯片ADC0809,在许多工业生产过程中,参与测量和控制的物理量,往往是连续变化的模拟量,例如温度、压力、流量、位移、电压、电流等,而计算机只能处理数字量的信息。,11.1 概述,外界的模拟量要输入计算机,必须要经过A/D(Analog to Digit)转换器,将其转换成计算机所能接受的数字量,才能进行运算、加工处理。若计算机的控制对象是模拟量
2、,也必须先把计算机输出的数字量经过D/A(Digit to Analog)转换器,将其转换成模拟量形式的控制信号,才能去驱动有关的控制对象。,11.1 概述,11.1.1 模拟量输入与输出通道,1.模拟量输入组成(1)传感器将一些被测的非电物理量转换成电量(电压和电流)的器件,如将温度、流量、压力等转换成对应的电量。传感器也称为一次仪表。,11.1.1 模拟量输入与输出通道,(2)信号处理将传感器送来的微弱电量信号进行放大、滤波或极性转换。(3)多路开关就是一个可控的电子开关,用于对输入量的选择。,11.1.1 模拟量输入与输出通道,(4)采样保持器将输入到A/D转换器被转换的电量在转换期间保
3、持不变。,11.1.1 模拟量输入与输出通道,11.1.1 模拟量输入与输出通道,(5)A/D转换器将电量转换成数字量,以便计算机存储和处理。,2.模拟量输出组成(1)数据锁存器存放将被转换的数字量,在数字量被转换过程,保持数据的稳定。(2)D/A转换器将数字量转换成电量。(3)放大驱动将D/A输出的电量放大到能驱动被控对象。,11.1.1 模拟量输入与输出通道,3.模拟信号的采样、量化和编码(1)模拟信号的采样和保持模拟量是连续变化的,而计算机进行采样时有间隔的,因此,采样信号就在时间上是离散的,为保证采样的正确性,采样频率应是模拟量最高频率的两倍。f2fmax fmax:模拟量频率实际应用
4、时,采样频率大于模拟量最高频率的5-10倍。,11.1.1 模拟量输入与输出通道,(2)量化采样的信号一定要量化(即数字化)后才能进入计算机。量化的最小单位:q=(模拟量的幅值)/2n-1n:为量化的二进制位数例:模拟量幅值为0-5V,而量化的二进制为8位,则:q=5V/28-1=5V/255=0.0196V,11.1.1 模拟量输入与输出通道,如用16位二进制量化,则:q=5V/216-1=5V/65535=0.00007629V注:量化的位数越多,分辨率越高。(3)编码二进制编码一般用:原码、补码和移码。,11.1.1 模拟量输入与输出通道,11.2 数模(D/A)转换器,D/A转换器是计
5、算机或其他数字系统与模拟量控制对象之间联系的桥梁,它的任务是将离散的数字信号转换为连续变化的模拟信号。在工业控制领域中,D/A转换器是不可缺少的重要组成部分。,11.2.1 D/A转换的基本原理为了把一个数字量变为模拟量,必须把每一位的数码按照权来转换为对应的模拟量,再把各模拟量相加,这样,得到的总模拟量便对应于给定的数据。,11.2 数模(D/A)转换器,D/I是数字变电流电路,将输入的数字(bitn-bit1)转换位电流I,运放将电流变为电压Vo,所以,Vo正比于D。Vo=IRf,11.2.1 D/A转换原理,11.2.1 D/A转换原理,R-2R-T电阻解码网络,1,11.2.1 D/A
6、转换原理,0,11.2.1 D/A转换原理,当输入1000B时,11.2.1 D/A转换原理,输入1000B等效电路,11.2.1 D/A转换原理,11.2.1 D/A转换原理,当输入0100B时,11.2.1 D/A转换原理,输入0100B等效电路,11.2.1 D/A转换原理,11.2.1 D/A转换原理,当输入0010B,11.2.1 D/A转换原理,输入0010B等效电路,11.2.1 D/A转换原理,11.2.1 D/A转换原理,当输入0001B,11.2.1 D/A转换原理,输入0001B等效电路,11.2.1 D/A转换原理,从上可见,流过S点的电流符合二进制规律。,11.2.1
7、 D/A转换原理,1.分辨率指最小输出电压(对应的输入数字量只有最低有效位为1与最大输出电压(对应的输入数字量为全1)之比。 如:N位的D/A,其分辨率为:1/2N-1注:位数越多,分辨率越高。,11.2.2 D/A转换器的主要指标,2.稳定时间指D/A转换器加上满刻度的变化(如输入从全0变为全1)时,其输出达到稳定(一般达到满刻度值1/2LSB)所需的时间。3.输出形式电压型D/A 输出为0-5V或0-10V等电流型D/A 输出为0-10mA或4-20mA等,11.2.2 D/A转换器的主要指标,4.绝对精度对于给定的满刻度数字量(全1),D/A实际输出的电压与理论值之间的误差,一般应小于1
8、/2LSB。5.相对精度在满刻度已校准的条件下,在整个刻度范围内对应于任一输入数字量的模拟量输出与理论输出之差。,11.2.2 D/A转换器的主要指标,11.2.3 D/A转换器输出,1.电流型D/A连接成电压输出方式,反相输出:Vout=-IR,同相输出可调:Vout=IR(1+R2/R1),2.单极性和双极性输出方式,11.2.3 D/A转换器输出,单极性输出方式,双极性输出方式,1DAC0832 (1)DAC0832的逻辑结构,11.3 典型D/A转换器,11.3.1 DAC0832结构及引脚,11.3.1 DAC0832结构及引脚,D7-D0:数据线 nCS:片选信号 nWR1:数据写
9、入信号1,有效时将数据写入数据寄存器。 ILE:输入寄存器允许信号,与nWR1及nCS共同选通输入寄存器。 nXFER:从输入寄存器向DAC寄存器传送数据的控制信号。 nWR2:DAC寄存器选通信号,与nXFER共同选通DAC寄存器。,11.3.1 DAC0832结构及引脚,Rfb:内用于外接D/A输出增益调整电位器,或接放大器输出端部反馈电阻引脚。 Vref:D/A转换的参考电压,-10V+10V,该电压的精度决定了转换的精度。 Iout1:转换器输出电流端,DAC寄存器为全1时,输出电流最大,为全0时,输出电流为0。 Iout2:输出电流端,Iout1+Iout2=常数 AGND:模拟信号
10、地 DGND:数字信号地,DAC0832有三种工作方式,11.3.2 DAC0832工作方式, 直通方式 单缓冲方式 双缓冲方式,11.3.2 DAC0832工作方式,1.直通方式在此方式下,只要CPU数据上D7-D0,D/A转换器马上进行数模转换,nCS、nWR1、nWR2、nXFER均接地,ILE接高。,11.3.2 DAC0832工作方式,2.单缓冲方式在此方式下,只要CPU数据送入输入寄存器,D/A转换器马上进行数模转换,nWR2、nXFER均接地。,11.3.2 DAC0832工作方式,3.双缓冲方式在此方式下,CPU数据送入输入寄存器,D/A转换器不进行数模转换,只有将数据送入DA
11、C寄存器,才进行转换。,11.3.3 D/A转换器接口,11.3.3 DAC0832应用,例:让DAC0832输出一个锯齿波,采用单缓冲方式 ,设接口地址为30H。,11.3.3 DAC0832应用,1.逻辑图,11.3.3 DAC0832应用,2.程序1:MOV AL,00H NEXT:OUT 30H,AL ;输出数据,进行D/A转换INC AL ;输出数据递增JMP NEXT,11.3.3 DAC0832应用,程序2:MOV AL,00HUP:OUT 30H,AL ;输出数据,进行D/A转换INC AL ;输出数据递增JNZ UP DOWN:DEC ALOUT 30H,ALJNZ DOWN
12、JMP UP,11.3.4 DAC1210应用,11.4 A/D模数转换器,11.4.1 概述由于应用特点和要求的不同,需要采用不同工作原理的A/D转换器,目前常用的有:积分型、逐次比较型、并行比较型、-调制型、电容阵列逐次比较型、压频变换型。其中应用最为广泛的是积分型、逐次比较型、并行比较型的A/D转换器。,11.4.1 概述,1.积分型假设有一个计数器,计数脉冲频率为f,计数的时间间隔为t,在t内加入计数器中的脉冲数目为N,则:N=ft(1)用被转换的电压控制时间间隔t,使t正比于V(被转换电压),在t时间间隔内,用频率恒定的计数脉冲去计数。,11.4.1 概述,(2)用被转换的电压控制计
13、数脉冲频率,使f正比于V,在恒定的时间间隔t,进行计数。使t正比于V(被转换电压),在时间间隔t内,用固定脉冲频率为f的计数脉冲去计数。,2.逐次比较型 其实质是逐次把设定的SAR寄存器中的数字量经D/A转换后得到电压Vc,与待转换的模拟电压Vx进行比较。比较时,先从SAR寄存器的最高位开始,逐次确定各位的数码应是“1”还是“0”,直到SAR寄存器的最低位。,11.4.1 概述,11.4.2 双积分A/D转换原理,11.4.2 双积分A/D转换原理,11.4.2 双积分A/D转换原理,双积分A/D转换器优点:抗干扰和电源噪音能力强,精度高。双积分A/D转换器缺点:速度慢。,11.4.3 逐次比
14、较A/D转换原理,例:有一个4位A/D逐次比较转换器,满量程为5V(即Vx最大值),被转换电压Vx为2.35V,逐次比较转换过程如下。,11.4.3 逐次比较A/D转换原理,11.4.3 逐次比较A/D转换原理,1,0,0,0,1,0,0,0,Vc=2.64V,11.4.3 逐次比较A/D转换原理,0,1,0,0,0,1,0,0,Vc=1.32V,11.4.3 逐次比较A/D转换原理,0,1,1,0,0,1,1,0,Vc=1.98V,11.4.3 逐次比较A/D转换原理,0,1,1,1,0,1,1,1,Vc=2.31V,逐次比较A/D转换器优点: 精度高,转换速度快。逐次比较A/D转换器缺点:
15、 抗干扰能力不强。,11.4.3 逐次比较A/D转换原理,1分辨率是指ADC可转换成数字量的最小模拟电压值。如一个8位的ADC,输入最大电压为5V,则分辨率为5V/28-1=0.0196V。如一个12位的ADC,输入最大电压为5V,则分辨率为5V/212-1=0.001221V。,11.4.4 A/D主要技术指标,2精度是指在同一个输入电压下,实际的输出值和理论值之间的差。精度分为绝对精度和相对精度。绝对精度:对于一个给定的输出值,实际上所需输入的电压值与理论上应输入的电压值之差。,11.4.4 A/D主要技术指标,相对精度:在整个转换范围内,任一个输出的值所对应的输入电压与理论输入电压之差。
16、注:精度和分辨率是不同概念。 “精度”是用来描述物理量的准确程度的。 “分辨率”是用来描述刻度划分的。,11.4.4 A/D主要技术指标,3转换时间从转换启动开始到转换结束所经历的时间称为转换时间。4量程指所能转换的电压或电流的范围,如:0-5V,0-10V,4-20mA等。,11.4.4 A/D主要技术指标,11.5 ADC0809及应用,ADC0809是CMOS的8位8路单片A/D转换,采用逐次比较方式。,11.5.1 ADC0809结构及引脚,11.5.1 ADC0809结构及引脚,IN7-IN0:8路模拟量输入,同一个时刻只能其中的一路转换。 ADDC、ADDB、ADDA:8路模拟量输
17、入选择线。 D7-D0:数据线 REF(+)、REF(-):参考电压,需高精度。 START:转换启动信号。,11.5.1 ADC0809结构及引脚,EOC:转换完成信号。 OE:数据输出使能。有效时,数据送上D7-D0。 CLK:工作时钟,500KHz-1.2MHz。 ALE:地址锁存。,11.5.2 ADC0809的接口,A/D转换的程序如下:ORG 1000H START:MOV AL, 98H ;8255A初始化,方式0,A口输入,B口输出OUT 0FFH, AL ;送8255A方式字MOV AL, 0BH ;选IN3输入端和地址锁存信号OUT 0FDH, AL ;送IN3通道地址MO
18、V AL, 1BH ;STARTPB4 = 1OUT 0FDH, AL ;启动A/D转换,11.5.2 ADC0809的接口,MOV AL, 0BHOUT 0FDH, AL ;STARTPB4 = 0 TEST:IN AL, 0FEH ;读C口状态AND AL, 10H ;检测EOC状态JZ TEST ;如果未转换完, 再测试;转换完则继续IN AL, 0FCH ;8255A的A口读转换结果HLT ;,11.5.2 ADC0809的接口,11.5.3 ADC0809应用,2程序按要求编写的控制程序如下。程序中8255A的端口地址为1C0H1C3H,ADC0809的8个模拟通道的端口地址为1C8
19、H1CFH。CPU采用程序查询方式读取转换的数据。,11.5.3 ADC0809应用,DATA1 SEGMENTORG 2000HAREA DB 200DUP(?)DATA1 ENDSSTACK1 SEGMENTDB 50 DUP(?)STACK1 ENDSCODE1 SEGMENTASSUME DS:DATA1,SS: STACK1,CS:CODE1,11.5.3 ADC0809应用,START:MOV AL, 92H;置8255A方式字,0方式,PA、PB口输入 MOV DX, 1C3H OUT DX, ALMOV AX, DATA1 ;数据段寄存器赋值MOV DS, AXMOV SI,
20、200 ;地址指针指向缓冲区MOV BL, 8 ;大循环计数通道个数MOV DX, 1C8 ;IN0开始转换 LOP1: MOV CX, 18H ;每个通道采样24次 LOP2: IN AL, DX ;启动转换PUSH DX ;启动通道地址MOV DX, 1C1H,11.5.3 ADC0809应用,LOP3: IN AL, DX ;检测EOCTEST AL, 01HJZ LOP3MOV DX, 1C0HIN AL, DX ;读入转换后的数字量MOV SI, AL ;存入缓冲区INC SI ;修改缓冲区指针POP DX ;恢复通道地址LOOP LOP2 ;采样24次INC DX ;修改通道地址D
21、EC BL ;修改大循环计数值JNZ LOP1 ;转换8个通道HLT,11.5.3 ADC0809应用,例2:设计一个模拟量采集显示系统,从ADC0809采集8路模拟量,每采集一路就送8255上显示,8255采用方式0输出,8259中断电平有效,中断类型为20H,采用全嵌套方式,正常EOI。1.逻辑图,11.5.3 ADC0809应用,11.5.3 ADC0809应用,2.端口地址8255端口地址:F0H-口AF1H-口BF2H-口CF3H-控制8259端口地址:40H和41H,11.5.3 ADC0809应用,0809端口地址:80H-OE81H-EOC82H-START83H-ALE,11
22、.5.3 ADC0809应用,3.控制字8259控制字:ICW1:00010011B=13HICW2:00100000B=20HICW4:00000001B=01H8259命令字:OCW2:00100000B=20H(EOI),11.5.3 ADC0809应用,8255控制字:10000000B=80H,11.5.3 ADC0809应用,4.程序,MOV AL,80H ;初始化8255方式0输出 OUT 0F3H,AL MOV AX, OFFSET PINTR ;初始化中断入口 MOV 008CH,AX ;IR3的类型码为23H MOV AX,SEG PINTR ; 向量表中的地址23H*4=
23、8CH MOV 008EH, AX MOV AL,13H ;初始化8259 OUT 40H,AL MOV AL,20H OUT 41H,AL MOV AL,01H OUT 41H,AL,11.5.3 ADC0809应用,MOV CL,08H ;采集次数 MOV BL,00H ;采集的通道号 MOV AL,BL OUT 83H,AL ;给出采集通道号 NOP NOP OUT 82H,AL ;启动ADC0809 STI ;CPU开中断 WAIT DEC CL ;计数值减1 JZ L1 ;通道采完停止 INC BL ; 通道号加1 MOV AL,BL,L:,11.5.3 ADC0809应用,OUT 83H,AL NOP NOP OUT 82H,AL JMP L HLT,L1:,11.5.3 ADC0809应用,11.5.3 ADC0809应用,