1四、典型D/A转换DAC0832芯片8位并行、中速(建立时间1us)、电流型、低廉(10~20元)①引脚和逻辑结构②DAC0832与微机系统的连接③应用举例21.引脚和逻辑结构20个引脚、双列直插式8位输入寄存器8位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7~DI0CSWR1WR2XFERILELELEIOUT1&&&RFB3Vcc芯片电源电压,+5V~+15VVREF参考电压,-10V~+10VRFB反馈电阻引出端,此端可接运算放大器输出端AGND模拟信号地DGND数字信号地8位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7~DI0LEIOUT1LECSWR1WR2XFERILE&&&8位输入寄存器RFB4DI7~DI0数字量输入信号其中:DI0为最低位,DI7为最高位8位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7~DI0LEIOUT1LECSWR1WR2XFERILE&&&8位输入寄存器RFB58位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7~DI0LEIOUT1LECSWR1WR2XFERILE&&&8位输入寄存器RFB0011ILE输入锁存允许信号,高电平有效CS片选信号,低电平有效WR1写信号1,低电平有效LE1当ILE、CS、WR1同时有效时,LE=1,输入寄存器的输出随输入而变化WR1,LE=0,将输入数据锁存到输入寄存器6LE2XFER转移控制信号,低电平有效WR2写信号2,低电平有效•当XFER、WR2同时有效时,LE2=1DAC寄存器输出随输入而变化;•WR1,LE=0,将输入数据锁存到DAC寄存器,数据进入D/A转换器,开始D/A转换VREF8位DAC寄存器8位D/A转换器IOUT2RFBAGNDVCCDGNDDI7~DI0LEIOUT1LECSWR1WR2XFERILE&&&8位输入寄存器RFB00178位DAC寄存器8位D/A转换器VREFIOUT2RFBAGNDVCCDGNDDI7~DI0LEIOUT1LECSWR1WR2XFERILE&&&8位输入寄存器IOUT1模拟电流输出端1当输入数字为全”1”时,输出电流最大,约为:全”0”时,输出电流为0IOUT2模拟电流输出端2IOUT1+IOUT2=常数255VREF256RFBRFB82.DAC0832与微机系统的连接1)单缓冲工作方式一个寄存器工作于直通状态,另一个工作于受控锁存器状态2)双缓冲工作方式两个寄存器均工作于受控锁存器状态,91)单缓冲工作方式:一个寄存器工作于直通状态,一个工作于受控锁存器状态在不要求多相D/A同时输出时,可以采用单缓冲方式,此时只需一次写操作,就开始转换,可以提高D/A的数据吞吐量。10+-Voport数据线地址译码PC总线IOWA0~A9D0~D7+5VCSDAC0832DI0~DI7IOUT1IOUT2RFBXFERWR2WR1ILE单缓冲工作方式:输入寄存器工作于受控状态DAC寄存器工作于直通状态11PC总线I/O写时序A15~A0CLKIOWT4T1T2T3TwD7~D0port转换一个数据的程序段:MOVAL,data;取数字量MOVDX,portOUTDX,ALD/A转换IOUT2DI7~DI0LEIOUT1LECSWR1ILE&WR2XFER&输入寄存RFB-+VoIOWA9~A0D7~D0+5VPC总线port地址译码DAC寄存12port数据线地址译码PC总线IOWA0~A9D0~D7+5VXFERDAC0832DI0~DI7+-VoIOUT1IOUT2RFBCSWR1WR2ILE单缓冲工作方式:输入寄存器工作于直通状态DAC寄存器工作于受控状态13PC总线I/O写时序A15~A0CLKIOWT4T1T2T3TwD7~D0port转换一个数据的程序段:MOVAL,data;取数字量MOVDX,portOUTDX,ALIOUT2DI7~DI0LECSWR1ILE&输入寄存VoD7~D0+5VPC总线portWR2IOWA9~A0XFERD/A转换LEIOUT1RFB-+DAC寄存地址译码&142)双缓冲工作方式:两个寄存器均工作于受控锁存器状态DAC0832PC总线数据线WR1IOWDI0~DI7D0~D7+5VILE+-VoIOUT1IOUT2RFBWR2CS地址译码A0~A9XFERVREF-5Vport1port2DGNDAGND15转换一个数据的程序段:MOVAL,data;取数字量MOVDX,port1OUTDX,AL;打开第一级锁存MOVDX,port2OUTDX,AL;打开第二级锁存IOUT2DI7~DI0LECSWR1ILE&输入寄存VoD7~D0+5VPC总线port2WR2IOWA9~A0XFERD/A转换LEIOUT1RFB-+DAC寄存地址译码&port116当要求多个模拟量同时输出时,可采用双重缓冲方式。思考:相应的程序如何编写?地址译码port1XFERWR2CSWR1ILE+D/A转换DI7~DI0Vo1port2XFERWR2CSWR1ILE+D/A转换DI7~DI0Vo2port3DAC0832DAC0832D7~D0A9~A0IOWPC总线+5v+5v17codeSEGMENTASSUMECS:code,DS:codedatav1DB11h,12h,13h,14h,15h,16h,17h,18h,19h,1Ahdatav2DB21h,22h,23h,24h,25h,26h,27h,28h,29h,2Ahstart:MOVAX,codeMOVDS,AXLEASI,data_v1LEABX,data_v2MOVCX,10next:MOVAL,[SI];取V1的数据OUTport1,AL;打开第一片0832第一级锁存MOVAL,[BX];取V2的数据OUTport2,AL;打开第二片0832第一级锁存OUTport3,AL;打开两片0832的第二级锁存INCSIINCBXLOOPnextMOVAH,4CHINT21HcodeENDSENDstart编程:利用上图,将datav1和datav2处的两组数据,一一对应转换成模拟量同时输出。183.应用举例(调幅)例1连线如图,计算当数字量为0CDH时的输出Vo。DAC0832PC总线数据线WR1IOWDI0~DI7D0~D7+5VILE+-VoIOUT1IOUT2RFBWR2DGNDCS地址译码A0~A9XFERVREF-5Vport1port2转换一个数据的程序段:MOVAL,0CDHMOVDX,port1OUTDX,ALMOVDX,port2OUTDX,AL19调幅分析:当数字量为0FFH=255时,IOUT1=Vo=-IOUT1×RFB=-FBREF256R255V256255VREF所以:当数字量为0CDH=205,VREF=-5V时:Vo=-=4V256205VREF数据线WR1IOWDI0~DI7D0~D7+5VILE+-VoIOUT1IOUT2RFBWR2DGNDCS地址译码A0~A9XFERVREF-5Vport1port220注意:Vo的输出与参考电压VREF、以及输出的连接方法(同相还是反相)有关。数据线WR1IOWDI0~DI7D0~D7+5VILE+-VoIOUT1IOUT2RFBWR2DGNDCS地址译码A0~A9XFERVREF-5Vport1port24V上例中,若VREF接的是-10V,则Vo=8V-10V8V10V若VREF接的是10V,则Vo=-8V-8V21例2利用上例连线图,编程输出一锯齿波。tVo4V0V22调频:codeSEGMENTASSUMECS:codestart:MOVCX,8000H;波形个数MOVAL,0;锯齿谷值next:MOVDX,port1;打开第一级锁存OUTDX,ALMOVDX,port2;打开第二级锁存OUTDX,ALCALLdelay;控制锯齿波的周期INCAL;修改输出值CMPAL,0CEH;比较是否到锯齿峰值JNZnext;未到跳转MOVAL,0;重置锯齿谷值LOOPnext;输出个数未到跳转MOVAH,4CH;返回DOSINT21H;子程delay(略)codeENDSENDstartVo4V0VCDH234V0VVot实际输出的波形图tVo4V0V不是24第三节模/数转换器一、A/D转换器的基本原理(自学)二、A/D转换器的技术指标(自学)三、A/D转换器及其连接四、典型A/D转换器25一、A/D转换器的基本原理(自学)模拟输入量数字输出量0000010100110000010100111v2v3v4v5v6v7vA/D转换器模拟输入量数字输出量26工作原理特点计数式结构简单、原理清楚转换速度慢、精度低,实际少用双积分式精度高、转换速度慢逐次逼近式转换速度较快、精度较高实际常用高速并行式转换速度快,价格高27C为计数器控制端:C=1,开始计数;C=0,停止计数。计数式A/D转换由8位D/A转换器、8位计数器和比较器组成。8位计数器D7-D08位D/A转换器A-+CLKEOCS开始转换转换结束C比较器ViV0CLR模拟输入电压D/A转换器输出电压数字量输出D0~D7计数时钟S=0,使8位计数器清“0”,S=1,使计数器准备计数。28•启动信号S:S端:使8位计数器清“0”,S端:计数器准备计数。•8位D/A转换器:数字量00H0V电压输出Vo。当ViVo时,C=1,计数器从0开始计数,只要ViVo,C=1,计数器不断计数,当Vo≥Vi时,C=0,计数器停止计数。•D7-D0为Vi所对应的数字量。实现了A/D转换。C的表示A/D转换结束,可以作为中断请求信号或作为查询用。29...A/D转换时间ViV0t0S启动EOC结束计数式A/D转换时间图30双积分式A/D转换•积分法A/D转换种类:双斜率、单斜率、多斜率三种。仅介绍双斜率法(又称为双积分法)。•双积分式A/D转换器组成:积分器A1;零电压比较器A2;计数器;控制逻辑;标准电压等。31A1-+VXVNS1A2-+S2CV01控制逻辑控制逻辑............A/D启动A/D结束清0溢出进位比较器T1T2A/D启动A/D结束V01t0t1t2t3V01m模拟输入标准电压双积分式A/D转换32•A/D转换通过采样和测量进行二次积分来完成的。•工作过程如下:采样和测量•计数器清“0”,启动脉冲将开关S2瞬时接通,积分器A1输出Vo1=0V,•采样:开关S1接通模拟输入VX,S2断开,积分器(Vx为负)进行正向积分,采样开始,积分器Vo1稍高于地几个毫伏,比较器A2输出1,计数器开始计数,计数器产生溢出,计数器各位清“0”,采样结束。双积分式A/D转换•测量:•将S1倒向标准电压VN,测量开始,•VN为正电压,进行反向积分。•Vo1高于地电位,比较器输出为1,计数器又开始计数,直到Vo1=0为止,输出A/D结束信号。33采样阶段的正向积分。设正向积分时间为T1,则积分输出:V01=-=-=t=t2时,v01m=T1RC121)(ttdtVx111TRCT21)(ttdtVxVx21)(1TTdtVxTRC1Vx34分析测量阶段反向积分:设反向积分时间为T2,则:v01=v01m+[-Ndt]•t=t3时,v01=00=v01m-Ndt即=NT2,T2=T1/vN•若计数时钟频率为f,则根据计数N可以求得计数时间T。T1=N1/f,T2=N2/f.N1,VN已知,N2=N1N•N2∝,N2就为A/D转换结果。321ttVRC321ttVRCVxRCT1RCVVxVVxVx35逐次逼近式A/D转换•逐次逼近式A/D转换是用得最多的一种方法。•组成:8位D/A转换器、比较器、控制逻辑,逐次逼近寄存器.•工作过程:从最高位开始通过试探值逐次进行测试,直到试探值经D/A转换器输出Vo与VX相等或达到允许误差范围为止。则该试