第七章模拟量输入输出通道A/D和D/A在控制系统中的地位一、D/A转换器及接口技术二、A/D转换器及接口技术20:331D/A转换器可直接将来自单片机的二进制数字量转换成模拟量,推动执行机构动作,以控制被控实体的工作过程。因此,D/A转换器是单片机在模拟环境中应用的数据转换接口。D/A转换的基本原理D/A转换器的性能指标MCS-51和D/A接口一、D/A转换器及接口技术20:332一、D/A转换器及接口技术D/A转换的基本原理——“按权展开,然后相加”把输入数字量中的每位都按其权值分别转换成模拟量,并通过运算放大器求和相加。D/A转换器内部须有一个解码网络,以实现按权值分别进行D/A转换。解码网络加权电阻网络——每位二进制数的D/A转换通过相应加权电阻实现。T型电阻网络——并行输入数字量,每位代码同时被转换成模拟量。001122112222aaaaDnnnn20:333加权电阻网络——每位二进制数的D/A转换通过相应加权电阻实现。原理:通过相应加权电阻网络,按位分别实现D/A转换。缺点:加权电阻大小差别很大,精确制造这么大的电阻困难极大。例如:设某12位D/A转换器最高位电阻为10KΩ,则最低位电阻为211×10KΩ=20MΩ。因此,二进制加权电阻网络工程上不被用来制造D/A转换器1、D/A转换的基本原理20:334T型电阻网络——并行输入数字量,每位代码同时被转换成模拟量。工作原理输入数字量:b3b2b1b0→B输出电压:Vout若Vout∝B,则该电路可认为是D/A转换器1、D/A转换的基本原理20:335证明:Vout∝B若b3b2b1b0=1111B,根据克希荷夫定律(A点为虚拟地)有因S3S2S1S0受b3b2b1b0控制,故得通式:选取Rf=R和考虑A点虚拟地,且Irf=-Iout1,可得对n位T型电阻网络,上式变为20:336分辨率定义:能分辨的最小输出电压增量,常为满量程的2-n。例如:10V满量程的8位DAC芯片,分辨率=10*2-8=39mv10V满量程的16位DAC芯片,分辨率=10*2-16=153µv转换精度定义:实际输出值和理论值的接近程度。通常DAC的转换精度为分辨率的一半,即为LSB/2。偏移量误差输入数字量为0时,输出模拟量对0的偏移值。可通过VREF和电位计来调整线性度DAC的实际转换特性曲线和理想转换特性曲线之间的最大偏差。通常不超过±(1/2)LSB。2、D/A转换器的性能指标20:337建立时间(转换速度)DAC中的输入代码有满度值的变化时,其输出模拟信号电压(或电流)达到满度值±(1/2)LSB时所需的时间。温度灵敏度(温度系数)在满刻度输出的条件下,温度每升高1度,输出变化的百分比。电源抑制比满量程电压变化的百分数与电源电压变化的百分数之比。工作温度范围较好的在-40~85℃,较差的在0~70℃之间。2、D/A转换器的性能指标20:338DAC0832由NSC(美国国民半导体公司)研制,是DAC0831的姐妹产品DAC0832内部结构8位输入寄存器:存放CPU送来的数字量(/LE1高电平时输出=输入,低电平锁存)8位DAC寄存器:存放待转换数字量(/LE2高电平时输出=输入,低电平锁存)8位D/A转换电路:8位电子开关和T型电阻网络3、MCS-51和D/A接口20:3393、MCS-51和D/A接口DAC0832引脚功能(20条)DI7-DI0(8条):来自CPU的输入数字量电源线(4条):Vcc(+5V~+15V);VREF(-10V~+10V);DGND(数字地);AGND(模拟地)控制线(5条):/CS(片选线);ILE(输入允许线);/WR1、/WR2(写命令线);/XFER(传输控制线)输出线(3条):Rfb(运放反馈线,和运放的Vout相连接);Iout1(数字量全1时为最大值,数字量全0时为最小值)Iout2Iout1+Iout2=常数20:3310DAC的应用按数字量位数,D/A转换器通常可分为8位、10位、12位等三种,在单片机应用系统中应用广泛,主要有3种:(1)DAC用作单极性电压输出(2)DAC用作双极性电压输出(3)DAC用作控制放大器3、MCS-51和D/A接口20:33113、MCS-51和D/A接口DAC用作单极性电压输出根据前述关系:有式中,B=b7*27+b6*26+……+b1*21+b0*20VREF/256——常数显然,当B=全0时,则Vout=0当B=全1时,则Vout=-最大值即有:Vout=0~-最大值20:3312DAC用作双极性电压输出由克希荷夫定律(G点虚拟地)有解上述方程组得上述关系可列成表格3、MCS-51和D/A接口20:33133、MCS-51和D/A接口DAC用作控制放大器图中G点为虚拟地,故有如下方程成立解上述方程组得选R=Rfb后得到式中,20:3314MCS-51对8位DAC接口以8位DAC为例,讨论MCS-51对DAC的接口电路原理和接口程序设计。(1)直通方式(2)单缓冲方式(3)双缓冲方式3、MCS-51和D/A接口20:3315直通方式DI7~DI0可直通地到达8位DAC寄存器,进行D/A转换。常用于不带微控制器的控制系统中。注意:该方式的特点是/WR1、/WR2、/CS和/XFER都接地。当/CS=0、/WR1=0、ILE=1时,DAC内部的8位输入寄存器和DI7-DI0直通。当/WR2=0、/XFER=0时,DAC内部的8位输入寄存器和8位DAC寄存器直通。因此,DI7-DI0上数字量可直接输入,并被转换为相应模拟电压3、MCS-51和D/A接口20:3316单缓冲方式单片机应用系统中,DAC用作单缓冲电压输出的电路图图中,DAC0832的选口地址为FEH通过编程可分别实现如下输出波形:1)锯齿波2)三角波3)方波3、MCS-51和D/A接口20:33171)锯齿波2)三角波循环256次,Vout从0到负最大后又回到03、MCS-51和D/A接口20:33183、MCS-51和D/A接口3)方波20:3319双缓冲方式例题:请编出能把内部RAM以DA1和DA2为始址的数据块中数据以图表形式在示波器屏幕上显示的程序。3、MCS-51和D/A接口20:33203、MCS-51和D/A接口求解:DA1为始址的数据块(块长为30)→1#DAC0832DA2为始址的数据块(块长为30)→2#DAC0832指针分配:R0—FDH(0#区),FEH(1#区)R1—DA1始址(0#区),DA2始址(1#区)R2—块长(0#区)端口分配:FDH—1#0832数字量口FEH—2#0832数字量口FFH—0832启D/A口20:33213、MCS-51和D/A接口相应程序为若把Vx和Vy接到示波器,则可看到两条曲线显示在屏幕上。若改变DA1和DA2为始址数块中内容,则曲线形状跟着改变。20:3322MCS-51对12位DAC接口为了提高D/A转换精度,可采用10位或12位的D/A转换器。以12位DAC1208为例。DAC1208的内部结构和原理先送高8位(/LE1=0),后送低4位(/LE2=0),再启动D/A转换(/LE3=0)3、MCS-51和D/A接口20:3323MCS-51对DAC1208的连接例题:设内部RAM的DA和DA+1单元内存放一个12位数字量(DA中为高8位,DA+1中为低4位),4位输入寄存器地址是FEH,8位输入寄存器地址是FFH,12位DAC寄存器地址是FCH或FDH,试编写把12位数字量送到DAC进行转换的程序。3、MCS-51和D/A接口20:33243、MCS-51和D/A接口20:3325A/D转换器是一种能够把输入模拟量转换成与它成正比的数字量,以便为单片机所接收。A/D转换器是单片机在模拟环境中应用的数据转换接口。A/D转换的步骤:采样过程+量化过程1、A/D转换的基本原理2、A/D转换器的性能指标3、MCS-51和A/D接口二、A/D转换器及接口技术20:3326A/D转换器的类型1、A/D转换的基本原理常用的A/D转换器特点计数器式1)结构简单,造价低2)转换速度慢,用于仪器/仪表双积分式1)转换精度高2)转换速度慢,用于仪器/仪表逐次比较式1)精度高,速度快2)结构不太复杂,应用广泛并行A/D式1)精度高,速度极快2)结构复杂,造价高逐次比较式并行A/D式20:3327逐次比较式A/D转换器工作过程:1、控制电路先令N位寄存器最高位为“1”,经N位D/A转换网络后产生Vs电压。2、比较器对Vi和Vs进行比较。若Vi≥Vs,则比较器输出使N位寄存器最高位=1若ViVs,则比较器输出使N位寄存器最高位=03、同样比较次高位及其后各位,比较完成后控制电路令DONE=1()4、CPU查询/响应DONE上中断,可从N位寄存器获得相应数字量1、A/D转换的基本原理举例:若满量程输出=5V(8位A/D)20:3328并行A/D转换器工作过程:1、VREF经23-1次分压成:作为比较器C7,C6,…C1的标准输入电压2、比较器C7,C6,…C1把输入电压Vx和标准电压比较。若Vx≥标准电压,则相应触发器Q置位若Vx标准电压,则相应触发器Q复位3、触发器Q端经异或门送M3、M2、M1输入端,并由M3、M2和M1输出数字量。1、A/D转换的基本原理演示:Vx=7/14VREFVREF……VREF131411420:33292、A/D转换器的性能指标转换速度定义:完成1次A/D转换所需时间的倒数,但通常以转换时间来表征例如:逐次逼近式A/D转换时间约100μs转换精度模拟误差:由电阻、电容和基压波动而引起的误差。数字误差:丢失码误差(某位触发器坏死造成的误差)。量化误差:和数字量位数有关,位数↑,误差↓。例如:设3位A/D转换器的I/O外特性为:显然,输入模拟量为0.5V、1.5V…6.5V时,量化误差最大为±0.5V。因此,量化误差为分辨率的一半0V1V2V3V4V5V6V7V000B001B010B011B100B101B110B111B20:33303、MCS-51和A/D接口ADC0809由NSC(美国国民半导体公司)研制,是8位A/D芯片,可以和单片机直接接口,是ADC0808的姐妹产品ADC0809内部结构1、地址锁存和译码器:控制8路模拟开关中哪一路输入比较器20:3331ADC0809引脚功能(28条)1)IN7-IN0(8条):用于输入被转换模拟电压2)地址线和控制线(4条)ADDA、ADDB和ADDC:输入地址码,指示IN7-IN0中哪一路和Vin相连。ALE:控制地址码的输入3)数字量输出线和控制线(11条)2-1-2-8:数字量输出线,2-1为最高位START:启动脉冲输入线,上升沿清零SAR,下降沿启动A/D转换EOC:转换结束输出线;OE:输出允许线4)电源线(5条)CLOCK:时钟(640K)脉冲输入线;Vcc:+5V;GND:地线,VREF(+)和VREF(-):参考电压输入线3、MCS-51和A/D接口20:3332MCS-51和A/D接口MCS-51对A/D的接口必须弄清如下三个问题:(1)要给START线送一个正脉冲(2)从EOC线上获取状态信息(是A/D转换的结束标志)(3)给OE线一个高电平,就可提取A/D后的数字量。MCS-51和A/D的接口通常有两种工作方式:中断法:把EOC上信号取反后作为中断请求信号;查询法:对EOC上信号进行查询,当它为低电平时表示A/D转换已完成,便可从ADC芯片取走A/D后的数字量。分以下两个问题进行讨论:一、MCS-51对ADC0809接口二、MCS-51对AD574A接口3、MCS-51和A/D接口20:3333MCS-51对ADC0809接口ADC0809内部有一个8位三态输出锁存器,可以锁存A/D转换后的数字量,故A/D芯片本身就可看作一个输入设备。电路连接及工作过程3、MCS-51和A/D接口1)CPU给STA