《微机原理与应用课件第十一章》由会员分享,可在线阅读,更多相关《微机原理与应用课件第十一章(25页珍藏版)》请在金锄头文库上搜索。
1、第十一章 数模(D/A)转换与模数(A/D)转换接口 第一节 概 述一、实时过程控制控制系统的结构及组成第二节 D/A转换 一、数/模转换器的原理(组成)二、八位D/A转换器DAC0832三、12位D/A转换器DAC1210第三节 模拟/数字(A/D)转换一、逐次逼近式模/数(A/D)转换器原理二、逐次逼近式A/D转换器基本组成三、典型模/数转换器ADC0809第十一章 数模(D/A)转换与模数(A/D)转换接口 第一节第一节 概概 述述控制对象多路开关MUX采样保持器S/HI/O接口A/D转换器传感器传感器放大滤波放大滤波计算机执行部件多路开关MUXI/O接口D/A转换器包括A/D和D/A的
2、实时控制系统一、实时过程控制控制系统的结构及组成. 传感器:把控制对象的各种参数的物理量用传感器测量出来,并转换成电信号。. 放大器:把传感器输出的信号(一般为mV或 V)放大到 A/D转换所需的量程范围。. 低通滤波器:抑制干扰,提高信躁比。. 多路开关:对传感器输出的多路信号进行切换,用一路装 置进行测量和控制。5. 采样保持电路:对模拟信号进行采样并保持以保证A/D转 换的正确性。第二节 D/AD/A转换转换 一、数/模转换器的原理(组成)。I1I2I3Ifd1d2d3d4R2R4R8RS1S2S4S3Io+VoVR =5VI4Rf = R/2若d1d2d3d4=1000第一节 D/A转
3、换器接口一、数/模转换原理1、数/模转换器的基本组成:数据输入逻辑电路电子开关基准电压电阻网络模拟电流输出2、T型电阻解码网络:+_D3D2D1D0VRRRR2R2R2R2R2RRV0II3I2I1I0I=I3D3+I2D2+I1D1+I0D0 VR=24R(23D3+22D2+21D1+20D0)2/16二、八位D/A转换器DAC083213141516456781211932010IEDI7DI6DI5DI4DI3DI2DI1DI0ILECSWR1WR2XFER19118217VREFIOUT2IOUT1R1bR1bVccDGND8位D/A转换器8位DAC寄存器8位输入寄存器DAC0832
4、的内部结构图AGNDIE主要技术指标:分辨率: 8位转换时间: 1 S满量程误差:1LSB参考电压: 10V单电源: +5V+15V1. 芯片介绍2. 芯片的输出电路0832-+R数字量输入iVOUTVOUT = - iR0832-+R数字量输入iVOUTR1R2VOUT = iR(1+R2 / R1)0832-+R1数字量输入-+R4VOUTVREFR2R3IOUT1IOUT2双极性输出3. DAC0832与CPU接口方式DAC0832WR2WR1CSXFERVcc5VD7-D0Vo+AIOUT2IOUT1AGNDDGNDVREFILE5V地址总线DAC0832与8位数据总线微机的连接图地址
5、译码WRIO/M单缓冲方式:ILE接高电平;CS、WR1、WR2、XFER接控制输出端(连接方式有多种形式);当对DAC0832进行写操作时(执行OUT指令),数字量直接被转换成模拟量。直通方式:ILE接高电平;CS、WR1、WR2、XFER直接接地。D/A转换器的输出随着总线数据的变化而变化。单缓冲方式的应用例例1 设DAC的口地址为80H, 要求输出05V的锯齿波START: MOV AL,0FFHAGAIN: INC AL OUT 80H,AL CALL DELAY JMP AGAIN阶梯的宽度由延时时间决定例例2 要求DAC输出一三角波,波形下限电压为,上限电压为。下限电压对应的数字量
6、为:0.5*256/5=26=1AH上限电压对应的数字量为:2.5*256/5=128=80HBEGIN: MOV AL,1AHUP : OUT 80H,AL INC AL CMP AL,81H JNZ UP DEC ALDOWN: OUT 80H,AL DEC AL CMP AL,19H JNZ DOWN JMP BEGIN双缓冲方式: 第一种应用情况:在前一个数据转换的同时,CPU将下一个数据先输入至输入寄存器,然后再在某个时刻启动D/A转换。地址译码320H321HDAC0832Vcc5VD7-D0Vo+AIOUT2IOUT1AGNDDGNDVREFILE5V地址总线DAC0832与8位
7、数据总线微机的连接图WR1WR2IOWRCSXFERMOV DX,320HMOV AL,DATAOUT DX,ALINC DXOUT DX,AL-+CS XFER WR2ILE WR1DAC1-+ XFER WR2ILE WR1DAC2-+CS XFER WR2ILE WR1DAC3译码器ABCS1CS2CS3XFERIO/MWRVO1VO2VO3第二种应用情况:在多路DAC系统中,需要同步D/A转换时,采用双缓冲方式。在不同的时刻将要转换的数据分别打入各DAC的输入寄存器,然后由一个转换命令同时启动,各个DAC转换。8/16DAC1210的内部结构图B1/B21516171819204510
8、14131132412D11D10D9D8D7D6D5D4CSWR1WR2XFER23121222VREFIOUT2IOUT1R1bR1bVccDGND12位D/A转换器12位DAC寄存器8位输入寄存器AGND4位输入寄存器D3D2D1D06789LELELE三、12位D/A转换器DAC12101. 芯片介绍主要技术指标:分辨率: 12位转换时间:1 S满量程误差:1LSB参考电压范围: 25V单电源范围: +5V+15V控制引脚CS、 B1/B2、WR1作为输入寄存器的输入控制; WR2 、XFER作为DAC寄存器的输入控制2. DAC1210与8位CPU接口方式D7D0-+RiVOUT地址
9、译码D11D0WR1WR2B1/B2CSXFERABIOWA0IOUT1IOUT2RFBDAC1210 控制DAC1210的转换共要用到3个I/O端口,CS引脚的口地址为220H-221H,其中220H选通8位输入寄存器,221H选通4位输入寄存器;XFER引脚的口地址为222H-223H,任一个地址都可启动D/A转换。若待转换的数字量在BX寄存器的低12位,则完成一次D/A转换的程序如下START: MOV DX,220H MOV CL,4 SHL BX,CL MOV AL,BH OUT DX,ALINC DXMOV AL,BLOUT DX,ALINC DXOUT DX,AL第三节第三节 模
10、拟模拟/ /数字(数字(A/DA/D)转换)转换一、逐次逼近式模/数(A/D)转换器原理 实现A/D转换的方法有多种,而逐次逼近式A/D转换具有速度快,分辨率高等优点获得了广泛的应用。这种A/D转换器的比较过程与天平的称重的过程相似。若一台天平具有32克、16克、 8克、 4克、 2克和1克等6种砝码,需要称量的物体重量为克。称量从最重的砝码试起,过程如下表所示。M=D5*32+D4*16+D3*8+D2*4+D1*2+D0*1=27(克)DAC控制逻辑SAR缓冲器+-VRViCLK输出数据逐次逼近式A/D转换器原理框图二、逐次逼近式A/D转换器基本组成控制逻辑(SAR):移位寄存器、数据寄存
11、器、时序电路及去留码逻辑电路;DAC:产生电子砝码;比较器:对输入电压与电子砝码进行比较,并由控制逻辑决定该砝码的去留。 设转换器的位数n=4,相应的电子砝码分别为、。Vi=3V,则转换过程及结果如表所示。三、典型模/数转换器ADC08091. 芯片简介8路模拟开关控制与时序SAR树状开关电阻网络三态输出锁存缓冲器地址锁存与译码IN7IN0ADDAADDBADDCALEVcc GNDVREF+VREF-OED7D0EOCCLKSTARTADC0809功能方框图主要功能分辨率:8位转换误差:1/2LSB1LSB转换时间:100 S时钟频率:640KHZ测量路数:8路输出:三态缓冲单一5V供电,对
12、应输入模拟电压范围05V2. ADC0809工作时序STARTALE通道地址EOCOEDATA64CLK选择当前转换的通道,即将通道编码送地址锁存器;通过执行OUT指令在START,ALE上产生一个正脉冲,锁存通道编码并启动A/D;A/D转换开始后,EOC变低,经过64个时钟周期后,转换结束,EOC变高;转换结束后,通过执行IN指令设法在OE脚上产生一个正脉冲,打开输出缓冲器的三态门读入转换数据。 直接连接MOV AL,07HOUT 84H,ALCALL DELAY120IN AL,84H若采用中断方式,可用ADC0809的EOC输出端作为CPU的中断申请信号,在中断服务程序中读入转换后的数据
13、。ADC0809具有三态输出缓冲器,可以与CPU直接连接。若地址译码器的输出Y1的地址为84H87H,则采用无条件传送方式从输入通道IN7读入一个模拟量的程序为:译码8分频OEALESTARTADDCADDBADDAD7D0EOCCLOCKA7A0D7D0CLKNcIORIOWY1VccVREF+VREF-GND+5VADC0809直接与微处理器的连接ADC0809IN7IN03. ADC0809与微处理器的连接 通过并行接口芯片同CPU连接ADC 0809通过8255A的接口原理图译码Y1Y0IOWRIORDD7 D0A0A1A7 A2CLK8088总线8255APB4PB2PB1PB0PA
14、PC7WRRDDBA0A1CS问题:用一片8255A并行接口芯片控制ADC0809的转换过程;分析:8255A有三个8位的并行口,可用PB口输出0809的通道选择编码和控制ADC的启动,PC口输入ADC的状态。 PA口作为他用,实现:首先完成CPU与8255的连接,然后根据分析完成ADC与8255的连接+5VCLOCKALESTARTADDCADDBADDAEOCOEVccVREF+VREF-GNDADC0809IN7IN0D7D08分频Y0地址为80H83HY1 地址为84H87H例:对ADC0809的IN0至IN7巡回进行采样一次,并将采样的数据存放在以DATA开始的内存单元中。第一步:程
15、序初始化MOV AL,98H ;8255方式0,PA口输入,OUT 83H,AL ;PB口输出,PC口高四位输入MOV SI,OFFSET DATA ;置内存首址MOV AX,0H ;开关初始编码MOV CX,8第二步:输出通道号启动ADCAGA:MOV AL,AH ;输出开关编码 OUT 81H,AL ADD AL,10H ;启动ADC OUT 81H,AL SUB AL,10H OUT 81H,AL第三步:判ADC转换结束否?结束则读入数据,存入内存。否则再判LOP: IN AL,82H ;检查EOC TEST AL,80H JZ LOP ;EOC=0,继续查询 IN AL,84H ;EO
16、C=1,读入数据 MOV SI,AL ;存入内存第四步:修改循环变量判测量完否?未完继续INC SI ;修改指针INC AH ;修改开关编码LOOP AGA ;未完继续12-3 某8位D/A转换器的端口地址为220H,参考电压为5V,试编程产生如下波形:(1)下限为0V,上限为5V的三角波;(2)下限为,上限为4V的梯形波。(1);三角波 MOV DX,220H MOV AL,0FFH UP: INC AL OUT DX,AL CMP AL,0FFH JNZ UPDOWN: DEC AL OUT DX,AL CMP AL,00H JNZ DOWN JMP UP2);梯形波:下限3DH,上限0C
17、DH MOV DX,220H MOV AL,3CH UP: INC AL OUT DX,AL CMP AL,0CDH JNZ UP CALL DELAY-20MSDOWN: DEC AL OUT DX,AL CMP AL,3CH JNZ DOWN CALL DELAY-20MS CALL DELAY-20MS JMP UP12-5(1)画出DAC1210与8位CPU的硬件连接图,若转换数据存在BUFF开始的单元中,试编写完成一次转换的程序;(2)画出DAC1210与16位CPU的硬件连接图,若转换数据存在BUFF开始的单元中,试编写完成一次转换的程序MOV BX,BUFFMOV DX,220HMOV CL,4 SHL BX,CLMOV AL,BHOUT DX,ALINC DXMOV AL,BLOUT DX,ALINC DXOUT DX,ALD7D0-+RiVOUT地址译码D11D0WR1WR2B1/B2CSXFERABIOWA0IOUT1IOUT2RFBDAC1210D11D0-+RiVOUT地址译码D11D0WR1WR2B1/B2CSXFERABIOWA0IOUT1IOUT2RFBDAC1210MOV AX,BUFFMOV DX,220HOUT DX,AX