模数和数模转换精选课件.ppt
微机原理与接口微机原理与接口第一页,本课件共有51页11.1 概述(概述(P383)模拟量模拟量I/O接口的作用:接口的作用:实际工业生产环境实际工业生产环境连续变化的模拟量连续变化的模拟量 例如:电压、电流、压力、温度、位移、流量例如:电压、电流、压力、温度、位移、流量 计算机内部计算机内部离散的数字量:离散的数字量:二进制数二进制数工业生产过程的闭环控制工业生产过程的闭环控制模拟量输入模拟量输入(数据采集数据采集)模拟量输出模拟量输出(过程控制过程控制)模拟量模拟量D/A传感器传感器执行元件执行元件A/D数字量数字量数字量数字量模拟量模拟量计算机计算机第二页,本课件共有51页概述概述一、一个实时控制系统(一、一个实时控制系统(P383)控控制制对对象象传感器传感器信号处信号处理理多多路路开开关关采采样样保保持持A/D转转换换I/O接接口口计计算算机机传感器传感器信号处信号处理理多多路路开开关关执执行行机机构构D/A转转换换I/O接接口口 传感器(传感器(Transducer、Sensor)非电量非电量电压、电流电压、电流 第三页,本课件共有51页概述概述一、一个实时控制系统一、一个实时控制系统变送器(变送器(Transformer)转换成标准的电信号转换成标准的电信号信号处理(信号处理(Signal Processing)放大、整形、滤波放大、整形、滤波 多路转换开关(多路转换开关(Multiplexer)多选一多选一采样保持电路(采样保持电路(Sample Holder,S/H)保证变换时信号恒定不变保证变换时信号恒定不变A/D变换器(变换器(A/D Converter)模拟量转换为数字量模拟量转换为数字量D/A变换器(变换器(D/A Converter)数字量转换为模拟量数字量转换为模拟量第四页,本课件共有51页概述概述二、多路模拟开关(二、多路模拟开关(P384)1.作用作用:切换模拟信号切换模拟信号2.产品产品:AD7501、AD7503:多路输入,一路输出;:多路输入,一路输出;CD4051、CD4052CD4052、CD4097:双向切换的多路开:双向切换的多路开关。关。A/DA/D转换器对应于多路输入,一路输出,使多路模转换器对应于多路输入,一路输出,使多路模拟信号轮流与拟信号轮流与A/D转换器接通。转换器接通。D/AD/A转换器对应于一路输入,多路输出,使输出的转换器对应于一路输入,多路输出,使输出的模拟信号轮流分配到各模拟通路,控制相应的机构。模拟信号轮流分配到各模拟通路,控制相应的机构。第五页,本课件共有51页概述概述二、多录模拟开关二、多录模拟开关3.原理原理(以以CD4051为例)为例)CD4051CD4051I/O4I/O4V VEEV VSSI/O6I/O6I/O7I/O7I/O5I/O5I/O2I/O2I/O1I/O1I/O0I/O0I/O3I/O31 13 34 45 56 67 78 82 21616141413131212111110109 91515 O/I O/IV VDDA0A0A1A1A2A2S SI/OI/O电平转换电平转换译码电路译码电路I/O1I/O1I/O2I/O2I/O3I/O3I/O4I/O4I/O5I/O5I/O6I/O6I/O7I/O7S SA2A2A1A1A0A0I/O0I/O0A2A1A2A1:决定决定07通路的哪个开关处于闭合。通路的哪个开关处于闭合。S为低电平时才能选中某一通路为低电平时才能选中某一通路CMOS开关可双向工作,开关可双向工作,即可作为即可作为8 8入入1出,也可作为出,也可作为1 1入入8出。出。第六页,本课件共有51页概述概述三、采样、量化和编码(三、采样、量化和编码(P386)采样:采样:按相等的时间间隔从模拟信号上截取一系列离按相等的时间间隔从模拟信号上截取一系列离散电压瞬时值。散电压瞬时值。例例(P387图图11-5):量化:量化:按分层原理,将截取的值数量化。分层值按分层原理,将截取的值数量化。分层值按分层原理,将截取的值数量化。分层值按分层原理,将截取的值数量化。分层值N越大,越大,越大,越大,量化值越接近于实际值。量化值越接近于实际值。量化值越接近于实际值。量化值越接近于实际值。N也表示用几位二进制也表示用几位二进制位表示模拟信号的数值。位表示模拟信号的数值。编码:编码:将量化的数值用二进制数表示出来。将量化的数值用二进制数表示出来。四、采样保持器(四、采样保持器(P389)1、采样过程、采样过程、采样过程、采样过程:将采样脉冲加到采样器,使得在输出端得将采样脉冲加到采样器,使得在输出端得到一个脉冲序列。到一个脉冲序列。(教材教材P389图图11-6)第七页,本课件共有51页概述概述四、四、采样保持器采样保持器2、采样保持、采样保持:如果模拟信号变化比较快如果模拟信号变化比较快如果模拟信号变化比较快如果模拟信号变化比较快,就要在就要在就要在就要在A/D之之前加上采样保持电路前加上采样保持电路,使得在转换期间保持模入信号不使得在转换期间保持模入信号不变。变。有的有的A/DA/D芯片内就集成有采样保持电路,具体可从芯芯片内就集成有采样保持电路,具体可从芯芯片内就集成有采样保持电路,具体可从芯芯片内就集成有采样保持电路,具体可从芯片使用手册中查到。片使用手册中查到。片使用手册中查到。片使用手册中查到。若若A/D转换器的速度比较模拟信号变化速度高很多倍转换器的速度比较模拟信号变化速度高很多倍转换器的速度比较模拟信号变化速度高很多倍转换器的速度比较模拟信号变化速度高很多倍,则在则在则在则在A/D芯片之前可不加采样保持电路。可将模拟信芯片之前可不加采样保持电路。可将模拟信号直接加到号直接加到A/D转换器上。转换器上。例例例例ADC0809转换时间为转换时间为100s,要求模入信号在要求模入信号在要求模入信号在要求模入信号在100s之内基本不变。之内基本不变。第八页,本课件共有51页概述概述四、四、采样保持器采样保持器(P390图图11-7)(了解)(了解)例例:采样保持芯片采样保持芯片LF398V3 421876524K1KV+V保持保持电容电容保持保持采样采样保持保持Vi偏置调节偏置调节238765+A1A2A330KD1D2S300脉冲变高脉冲变高,采样采样,S合上合上脉冲变低脉冲变低,保持保持,S打打开开第九页,本课件共有51页概述概述四、四、采样保持器采样保持器采样保持器的三个重要指标:采样保持器的三个重要指标:1.1.1.1.孔径时间孔径时间T T T TAPAP:模拟开关从闭合到完全断开的过渡时间。模拟开关从闭合到完全断开的过渡时间。2.2.捕捉时间捕捉时间T TACAC :从保持到采样不是直线跳变从保持到采样不是直线跳变,而是有一而是有一段时间叫捕捉时间。段时间叫捕捉时间。3.3.3.3.保持电压衰减速率:保持电压衰减速率:保持状态下由于漏电流引起的保保持状态下由于漏电流引起的保持电压衰减。持电压衰减。电压电压下降率下降率捕捉捕捉时间时间第十页,本课件共有51页11.2 D/A转换器(转换器(P391)一、一、一、一、D/A转换器原理转换器原理IO=权电阻网络权电阻网络权电阻网络权电阻网络+RfIf8R4R2RRI1I2I3I4S1S2S3S4IOVRd1d2d3d4d1 I1+d2 I2+d3 I3+d4 I1 d1、d2、d3、d4表示对应开表示对应开关关S1 S4的状态。的状态。di=0表示对应开关表示对应开关Si断开断开;di=1表示对应开关表示对应开关Si闭合闭合。设设设设N=d1 1d2d3d4第十一页,本课件共有51页D/A 转换器转换器一、一、D/A转换器原理转换器原理IO=VO=Rf If=Rf IO取取Rf=R/2则:则:VO=RfIO=VR(d12-1+d22-2+d32-3+d42-4)Vo=VR*N/2n ,N=d1d2d3d4,n为位数为位数=VR*(d123+d222+d321+d4)/24第十二页,本课件共有51页D/A转换器转换器二、二、D/A转换的主要性能指标(转换的主要性能指标(P393)1、输入数字量、输入数字量、输入数字量、输入数字量:位数、码制、数据格式和逻辑电平。位数、码制、数据格式和逻辑电平。位数、码制、数据格式和逻辑电平。位数、码制、数据格式和逻辑电平。2、输出模拟量、输出模拟量:电流和电压。多数为电流型,如电流和电压。多数为电流型,如DAC0832即为电流型,靠外接运算放大即为电流型,靠外接运算放大即为电流型,靠外接运算放大即为电流型,靠外接运算放大器转换成电压。器转换成电压。器转换成电压。器转换成电压。3 3、分辨率、分辨率:数据发生数据发生1LSB1LSB变化时所对应的输出电压变化时所对应的输出电压的变化的变化。与输入数字量的位数与输入数字量的位数n的关的关系为:系为:=FSR/2n式中:式中:式中:式中:FSR(Full Scale Range)为为为为D/A转换器满量程输转换器满量程输转换器满量程输转换器满量程输出电压。出电压。出电压。出电压。8位位D/AD/A转换器的分辨率转换器的分辨率=FSR*1/256=0.39%FSR12位位D/AD/A转换器的分辨率转换器的分辨率=FSR*1/4096=0.0244%FSR第十三页,本课件共有51页D/A转换器转换器二、二、D/A转换的主要性能指标转换的主要性能指标4、精度、精度:实际输出值与理论值之间的最大偏差。实际输出值与理论值之间的最大偏差。用最用最大的静态转换误差的形式表示。大的静态转换误差的形式表示。5、线性误差、线性误差:在在D/A转换时,若数据连续转换转换时,若数据连续转换(两相邻两相邻数据间差值为数据间差值为1),则输出的模拟量应该是线性的。,则输出的模拟量应该是线性的。用实际输出值与理想输出值的最大偏差与满量程用实际输出值与理想输出值的最大偏差与满量程值之比的百分数来表示线性误差。值之比的百分数来表示线性误差。这个转换误差应包括非线性误差、比例系数误差以这个转换误差应包括非线性误差、比例系数误差以及漂移误差等综合误差,它反映了实际输出电压与理论及漂移误差等综合误差,它反映了实际输出电压与理论输出电压之间的接近程度。输出电压之间的接近程度。一般用最小量化阶一般用最小量化阶来度量,如来度量,如1/2LSB(Least Significant Bit)。也可用满量程的百分比来度量,如。也可用满量程的百分比来度量,如0.05%FSR第十四页,本课件共有51页D/A转换器转换器二、二、D/AD/A转换的主要性能指标转换的主要性能指标6、建立时间、建立时间 tS (转换时间转换时间):):DAC的输入数字量有满刻度的输入数字量有满刻度值的变化时,其输出模拟信号电压达到满刻度值的变化时,其输出模拟信号电压达到满刻度值值1/2LSB(最低有效位)时所需要的时间。(最低有效位)时所需要的时间。tVO1/2 LSBtSVFULL第十五页,本课件共有51页D/A转换器转换器三、几种数三、几种数/模转换器(模转换器(P394)1.A/D7524VREFAD7524CSWRIO2IO1VDD GND+5V+5VIOW译码器来译码器来VO+VS-VSD7D0RfA/D转换转换8位电流输出型位电流输出型位电流输出型位电流输出型A/D转换器。转换器。I/V转换转换可通过编程,利用数可通过编程,利用数/模转换器输出特定波形。模转换器输出特定波形。第十六页,本课件共有51页D/A转换器转换器三、几种数三、几种数/模转换器模转换器例例1.设设DAC的端口地址为的端口地址为80H,VR=5V,编程输出如,编程输出如图图0V4.98V线性增长的周期性线性增长的周期性锯齿波锯齿波。START:START:MOV AL,0FFHMOV AL,0FFHAGAIN:INC ALOUT 80H,ALCALL DELAYCALL DELAYJMP AGAINJMP AGAIN0v+5v首先计算数字量首先计算数字量NNN=Vo/VR R*2n第十七页,本课件共有51页D/A转换器转换器例例2.2.要求用图要求用图要求用图要求用图11-10电路,形成一个正向和反向电路,形成一个正向和反向三角波三角波,波形下限为波形下限为0.5V,上限为上限为2.5V。分析:分析:1LSB=5V/256=0.019V START:MOV AL,1AH START:MOV AL,1AH UP :OUT 80H,AL UP :OUT 80H,AL INC AL CMP AL,81H CMP AL,81H JNZ UP JNZ UP DEC AL DEC AL下限:下限:0.5V/0.019=26=1AH上限:上限:2.5V/0.019=128=80HDOWN:OUT 80H,ALDOWN:OUT 80H,AL DEC AL DEC AL CMP AL,19H CMP AL,19H JNZ DOWN JNZ DOWN JMP START JMP START+2.5v+0.5v第十八页,本课件共有51页D/A转换器转换器三、几种数三、几种数/模转换器模转换器2.DAC0832(P396)特性:特性:特性:特性:8位电流输出型位电流输出型D/A转换器;引脚图见转换器;引脚图见P397P397内部结构内部结构8位位输入输入寄存器寄存器D7D0&LE1LE2ILECSWR1XFERWR2VREFIOUT2IOUT1RFBAGNDDGNDVCCoooooo8位位DAC寄存器寄存器8位位D/A转换器转换器&4713161718211981211932010转换时间转换时间1s,1s,双缓冲双缓冲输输输输入入入入数数数数据据据据启启启启动动动动转转转转换换换换第十九页,本课件共有51页D/A转换器转换器2.DAC0832工作方式:工作方式:直通式、单缓冲式、双缓冲式。直通式、单缓冲式、双缓冲式。直通式、单缓冲式、双缓冲式。直通式、单缓冲式、双缓冲式。(1)直通式直通式直通式直通式:(2)单缓冲式单缓冲式:将两个寄存器中的一个接成直通方式。将两个寄存器中的一个接成直通方式。将两个寄存器中的一个接成直通方式。将两个寄存器中的一个接成直通方式。CPU只需一次写入即开始转换,控制比较简单。只需一次写入即开始转换,控制比较简单。即:使两个内部寄存器都处于直通即:使两个内部寄存器都处于直通状态。模拟输出状态。模拟输出始终跟随输入变化。始终跟随输入变化。不能直接与数据总线连接,需外加并行接口不能直接与数据总线连接,需外加并行接口(如如74LS373、8255等等)。因此,很少用。因此,很少用。ILE接高电平,接高电平,CS、WR1、WR2、XFER接低电平接低电平第二十页,本课件共有51页D/A转换器转换器2.DAC08322.DAC0832(3)双缓冲式双缓冲式双缓冲式双缓冲式:优点:优点:a)数据接收与数据接收与D/A转换可异步进行;转换可异步进行;b)可实现多个可实现多个DAC同步转换输出同步转换输出分时写入、同步转换。分时写入、同步转换。转换要有两个步骤:转换要有两个步骤:将数据写入输入寄存器,将数据写入输入寄存器,CS=0、WR1=0、ILE=1将输入寄存器的内容写入将输入寄存器的内容写入DAC寄存器,寄存器,WR2=0、XFER=0第二十一页,本课件共有51页D/A转换器转换器MOV DX,320H MOV DX,320H ;指向输入寄存器指向输入寄存器指向输入寄存器指向输入寄存器MOV AL,DATA MOV AL,DATA ;输入被转换的数据输入被转换的数据输入被转换的数据输入被转换的数据OUT DX,AL OUT DX,AL ;数据打入输入寄存器数据打入输入寄存器数据打入输入寄存器数据打入输入寄存器INC DXINC DX ;指向指向指向指向DACDAC寄存器寄存器寄存器寄存器OUT DX,AL OUT DX,AL ;选通选通选通选通DACDAC寄存器,相当于启动寄存器,相当于启动寄存器,相当于启动寄存器,相当于启动D/AD/A ;转换器转换器转换器转换器2.DAC0832(3)双缓冲式双缓冲式:例例1:XFER WR2WR1CSDAC 0832ILEVREF+IOWD7D0320H321H地址总线地址总线地址地址译码器译码器第二十二页,本课件共有51页D/A转换器转换器3路路DAC系统图:系统图:系统图:系统图:2.DAC0832(3)双缓冲式双缓冲式:例例2:需要同步进行需要同步进行D/A转换的多路系统转换的多路系统XFERWR2WR1CSILE+D7D0ILE+D7D0XFERWR2WR1CSILE+D7D0地地址址译译码码80H81H82H83HWRXFERWR2WR1CS第二十三页,本课件共有51页11.3 A/D转换(转换(P401)主要技术指标:主要技术指标:将连续变化的模拟信号转换为数字信号。常用的将连续变化的模拟信号转换为数字信号。常用的A/D转换转换转换转换方法有方法有方法有方法有计数法计数法计数法计数法、逐次逼近法逐次逼近法逐次逼近法逐次逼近法、双斜积分法双斜积分法等。等。精度精度:量化间隔:量化间隔(分辨率分辨率)=Vmax/电平数电平数(即满量程值即满量程值)例:例:某某8位位ADC的满量程电压为的满量程电压为5V,则其分辨率为,则其分辨率为5V/256=19.6mV 量化误差量化误差:用数字(离散)量表示连续量时,由于数字用数字(离散)量表示连续量时,由于数字量量字长有限字长有限而无法精确地表示连续量所造成而无法精确地表示连续量所造成的误差。的误差。(字长越长,精度越高字长越长,精度越高)绝对量化误差绝对量化误差=量化间隔量化间隔/2=(满量程电压满量程电压/2n)/2相对量化误差相对量化误差=(1/2)(1/量化电平数目量化电平数目)100%第二十四页,本课件共有51页11.3 A/D转换转换例:例:满量程电压满量程电压=10V,A/D变换器位数变换器位数=10位,则位,则转换时间转换时间:转换一次需要的时间。精度越高(字长越长)转换一次需要的时间。精度越高(字长越长),转换速度越慢。,转换速度越慢。绝对量化误差绝对量化误差 10/211=4.88mV相对量化误差相对量化误差 1/211*100%=0.049%绝对量化误差绝对量化误差=量化间隔量化间隔/2=(满量程电压满量程电压/2n)/2相对量化误差相对量化误差=(1/2)(1/量化电平数目量化电平数目)100%输入动态范围输入动态范围:允许转换的电压的范围。如允许转换的电压的范围。如05V、010V等。等。第二十五页,本课件共有51页A/D转换转换一、一、A/D转换器原理(转换器原理(P401)逐次逼近式逐次逼近式模模/数(数(A/DA/D)转换器原理)转换器原理 实现实现A/D转换的方法有多种,而逐次逼近式转换的方法有多种,而逐次逼近式A/D转换具有速度快,转换具有速度快,分辨率高等优点获得了广泛的应用。这种分辨率高等优点获得了广泛的应用。这种A/D转换器的比较过程转换器的比较过程与天平的称重的过程相似。若一台天平具有与天平的称重的过程相似。若一台天平具有32克、克、16克、克、8克、克、4克、克、2克和克和1克等克等6种砝码,需要称量的物体重量为种砝码,需要称量的物体重量为27.4克。称量从克。称量从最重的砝码试起,过程如下表所示。最重的砝码试起,过程如下表所示。M=D5*32+D4*16+D3*8+D2*4+D1*2+D0*1=27(克)(克)第二十六页,本课件共有51页A/D转换转换一、一、A/DA/D转换器原理转换器原理DAC控制逻辑控制逻辑SAR缓冲器缓冲器+-VRViCLK输输出出数数据据逐次逼近式逐次逼近式A/D转换器原理框图转换器原理框图逐次逼近式逐次逼近式A/DA/D转换器基本组成转换器基本组成控制逻辑控制逻辑(SAR):移位:移位寄存器、数据寄存器、寄存器、数据寄存器、时序电路及去留码逻辑时序电路及去留码逻辑电路;电路;DAC:产生电子砝码;产生电子砝码;比较器:对输入电压与电子砝码比较器:对输入电压与电子砝码进行比较,并由控制逻辑决定该进行比较,并由控制逻辑决定该砝码的去留。砝码的去留。第二十七页,本课件共有51页微机原理与接口微机原理与接口DAC控制逻辑控制逻辑SAR缓冲器缓冲器+-VRViCLK输输出出数数据据逐次逼近式逐次逼近式A/D转换器原理框图转换器原理框图 设转换器的位数设转换器的位数n=4,则相应的电子砝,则相应的电子砝码分别为码分别为2.5V、1.25V、0.625V、0.3125V。VR=5V,Vi=3V,则转则转换过程及结果如表换过程及结果如表第二十八页,本课件共有51页微机原理与接口微机原理与接口转换时间的计算转换时间的计算逐次逼近法每进行一次比较,即决定一个码逐次逼近法每进行一次比较,即决定一个码的去留(的去留(0或或1)需要)需要8个时钟脉冲,所以个时钟脉冲,所以8位转位转换器完成一次转换大约需要换器完成一次转换大约需要8*8=64个个CLK。第二十九页,本课件共有51页A/D转换转换二、典型的二、典型的A/DA/D转换器(转换器(P404P404)1.ADC0809 8通道(通道(8路)输入、路)输入、8位字长、逐位逼位字长、逐位逼近型、转换时间近型、转换时间100s、内置三态输出缓冲器。、内置三态输出缓冲器。外部引脚(见教材外部引脚(见教材P423)说明如下:)说明如下:第三十页,本课件共有51页A/D转换转换二、典型的二、典型的A/D转换器转换器1.ADC08091.ADC0809引脚引脚D7D0:输出输出数据线(三态)数据线(三态)OE:输出允许(打开输出三态门):输出允许(打开输出三态门)IN0IN7:8通道(路)模拟输入通道(路)模拟输入ADDA、ADDB、ADDC:通道地址(通道选择):通道地址(通道选择)ALE:通道地址锁存:通道地址锁存START:启动转换:启动转换EOC:转换结束,可用于查询或作为中断申请:转换结束,可用于查询或作为中断申请CLK:时钟输入(:时钟输入(10KHz1.2MHz)VREF(+)、VREF(-):基准参考电压:基准参考电压第三十一页,本课件共有51页A/D转换转换1.ADC0809(P404)内部编程结构框图内部编程结构框图START EOC CLK OED7D0ADDCADDBADDAALEIN0IN7比较器比较器8路路模拟模拟开关开关逐次逼近寄逐次逼近寄存器存器SAR树状开关树状开关电阻网络电阻网络三态三态输出输出锁存锁存器器时序与控制时序与控制地址地址锁存锁存及及译码译码D/A模模拟拟输输入入通通道道8选选1第三十二页,本课件共有51页A/D转换转换1.ADC0809工作时序工作时序1 1、选择通道,即通道号送入、选择通道,即通道号送入A A、B B、C C2 2、在、在ALEALE、STARTSTART输入正脉输入正脉冲,锁存通道并启动转冲,锁存通道并启动转换换3 3、转换开始后,、转换开始后,EOCEOC变低;变低;过大约过大约6464个个CLKCLK,转换结,转换结束,束,EOCEOC变高变高4 4、转换结束后,在、转换结束后,在OEOE输入输入高电平就打开输出缓冲高电平就打开输出缓冲器,可以读取转换结果器,可以读取转换结果第三十三页,本课件共有51页A/D转换转换1.ADC0809ADC0809与与PC总线的接口总线的接口 需要考虑如下几方面需要考虑如下几方面输入通道号的确定:由地址线确定;由数据线确定输入通道号的确定:由地址线确定;由数据线确定数据线的连接:直接接数据线的连接:直接接数据线的连接:直接接数据线的连接:直接接CPU;由并行接口芯片;由并行接口芯片8255接至接至CPU 启动转换信号启动转换信号Start的连接:由地址译码信号及写信号的连接:由地址译码信号及写信号;8255的引脚的引脚状态信号状态信号EOC端的连接:接至其中一根数据线;给端的连接:接至其中一根数据线;给端的连接:接至其中一根数据线;给端的连接:接至其中一根数据线;给8259的的中断源引脚中断源引脚 第三十四页,本课件共有51页A/D转换转换1.ADC0809模拟模拟信号信号输入端输入端INi 单路输入单路输入 模拟信号可固定连接到任何模拟信号可固定连接到任何一个输入端一个输入端 地址线根据输入线编号固定连地址线根据输入线编号固定连接接(高电平或低电平高电平或低电平)如图:如图:ADDCADDBADDAIN4ADC0809输入输入+5V 多路输入多路输入 模拟信号按顺序分别连接到输模拟信号按顺序分别连接到输入端入端 要转换哪一路输入,就将其要转换哪一路输入,就将其编号送到地址线上编号送到地址线上(动态选择动态选择)ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输入输入0CPU指定指定通道号通道号输入输入4第三十五页,本课件共有51页A/D转换转换1.ADC0809地址线地址线ADDA-ADDC多路输入时,地址线多路输入时,地址线不能接死,而是要通过一不能接死,而是要通过一个接口芯片与数据总线连个接口芯片与数据总线连接。接口芯片可以选用:接。接口芯片可以选用:锁存器锁存器74LS273,74LS373等(要占用一个等(要占用一个I/O地址)地址)ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809输输入入DB74LS373Q2Q1Q0CP来自来自I/O译译码器码器D0-D7可编程并行接口可编程并行接口8255(要占用四个(要占用四个I/O地址)地址)ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809DB8255PB2PB1PB0CS来自来自I/O译译码器码器D0-D7A1A0A1A0第三十六页,本课件共有51页A/D转换转换1.ADC0809数据输出线数据输出线D0-D7内部已接有三态门,故内部已接有三态门,故可直接连到可直接连到DB上。上。也可另外通过一个输入接口与也可另外通过一个输入接口与DB相连。相连。D0-D7ADC0809DBOE来自来自I/O译译码器码器D0-D7ADC0809DBOE来自来自I/O译译码器码器74LS244+5VDIDOE1E2第三十七页,本课件共有51页A/D转换转换1.ADC0809地址锁存地址锁存ALE和启动转换和启动转换START独立连接:用两个信号分独立连接:用两个信号分别进行控制别进行控制需占用两需占用两个个I/O端口或两个端口或两个I/O数据数据线线(用用8255时时);统一连接:用一个脉冲信号的统一连接:用一个脉冲信号的上升沿进行地址锁存,下降沿上升沿进行地址锁存,下降沿实现启动转换实现启动转换只需占用一只需占用一个个I/O端口或一个端口或一个I/O线线(用用8255时时),参见教材,参见教材P409图图11-23。ADC0809ALE来自来自I/O译译码码1来自来自I/O译译码码2STARTADC0809ALE来自来自I/O译译码器码器START第三十八页,本课件共有51页A/D转换转换1.ADC0809转换结束转换结束EOC软件延时等待软件延时等待(比如延时比如延时1ms)不用不用EOC信号。信号。CPU效率最低。效率最低。软件查询软件查询EOC状态状态:EOC通过一个三态门连到数据总线的通过一个三态门连到数据总线的D0(其他数据其他数据位也可以位也可以)。三态门要占用一个。三态门要占用一个I/O端口地址。端口地址。CPU效效率低率低把把EOC作为中断申请信号,接到作为中断申请信号,接到8259的的IR端。端。在中断服务程序中读入转换结果,效率高。在中断服务程序中读入转换结果,效率高。第三十九页,本课件共有51页A/D转换转换1.ADC0809一个连接实例一个连接实例D0IN0A15 A0D7 D0EOC译译码码器器ADC0809D7-D0ALEADDCADDBADDAOESTARTM/IORDWR第四十页,本课件共有51页A/D转换转换1.ADC0809一个连接实例一个连接实例用延时等待的方法:用延时等待的方法:MOV DX,start_portOUT DX,AL;启动转换启动转换CALL DELAY_1MS;延时延时1msMOV DX,oe_portIN AL,DX;读入结果读入结果用查询用查询EOC状态的方法:状态的方法:MOVDX,start_port OUTDX,AL;启动转换启动转换LL:MOVDX,eoc_port IN AL,DX;读入读入EOC状态状态 AND AL,01H;测试第测试第0位位(EOC状态位状态位)JZLL;没转换完,则循环检测没转换完,则循环检测 MOVDX,oe_port IN AL,DX;读入结果读入结果第四十一页,本课件共有51页A/D转换转换1.ADC0809多通道数据采集系统多通道数据采集系统(1)用定时中断控制采样率用定时中断控制采样率,用地址信号选择通道的方案用地址信号选择通道的方案在在PC/XTPC/XT(以(以(以(以8088为为CPUCPU)机上采用)机上采用ADC0809设计一设计一块块8通道的数据采集卡。通道的数据采集卡。要求:要求:以以200Hz200Hz的速率对每个通道均采集的速率对每个通道均采集1024个数据,也个数据,也个数据,也个数据,也就是每隔就是每隔就是每隔就是每隔5ms对各通道轮流采集一个数据,然后将对各通道轮流采集一个数据,然后将它们存放到以它们存放到以DBUFF开始的数据缓冲区中。开始的数据缓冲区中。第四十二页,本课件共有51页微机原理与接口微机原理与接口分析分析1、每隔、每隔5ms,即控制采样速率,可以用软件延时,即控制采样速率,可以用软件延时和中断方式,本题选用中断,即每隔和中断方式,本题选用中断,即每隔5ms发出发出一次中断,要求采样一次,一次中断,要求采样一次,5ms可以用可以用8253定时,把定时,把8253的输出送给的输出送给8259的的IRi,8259的的INTR送入送入cpu的的INTR,请求,请求cpu进行转换进行转换设设设设82538253的输入时钟频率为的输入时钟频率为1MHz1MHz1MHz1MHz。8253定时常数定时常数=1MHZ/200HZ=5000,工作在方式工作在方式2 2。OUT0OUT0每每每每5ms5ms产生一次中断,在中断服务程序里完成产生一次中断,在中断服务程序里完成产生一次中断,在中断服务程序里完成产生一次中断,在中断服务程序里完成8路路转换。主程序控制转换。主程序控制1024次。次。第四十三页,本课件共有51页2、判断转换结束的方式:延时、查询、判断转换结束的方式:延时、查询EOC电平或用电平或用EOC正跳正跳变请求中断。本题选择查询变请求中断。本题选择查询EOC电平,为了能读取电平,为了能读取EOC电电平,把平,把EOC电平接一个三态门,三态门的使能端提供一个电平接一个三态门,三态门的使能端提供一个地址,另一端接地址,另一端接CPU的一个数据线。的一个数据线。3、流程:初始化所有芯片后,开中断,每次中断都要对八路信、流程:初始化所有芯片后,开中断,每次中断都要对八路信号进行一次采样转换,执行一次中断服务程序后返回主程序,号进行一次采样转换,执行一次中断服务程序后返回主程序,判断是否采集了判断是否采集了1024次,如果还没有则继续等待中断发生,次,如果还没有则继续等待中断发生,可以用跳转指令实现等待可以用跳转指令实现等待 MOV BX,1024AGAIN:CMP BX,0 JNZ AGAIN即不足即不足1024则主程序在这打转,其目的是拖时间,等待再则主程序在这打转,其目的是拖时间,等待再次发生中断请求,再去执行中断服务程序次发生中断请求,再去执行中断服务程序第四十四页,本课件共有51页A/D转换转换1.ADC0809:多通道数据采集系统多通道数据采集系统 (P405)(1)用定时中断控制采样率用定时中断控制采样率,用地址信号选择通道的方案用地址信号选择通道的方案18路路18路路18路路DBUF1024组组REF(+)OE+5VALESTARTIN0IN6IN7ABCADC0809VccCLKEOCD0D7A0A15 A3译码译码A1A28路路输入输入D7308HIORIOW300H307H308H30FH11500KHzREF(-)GNDD0D7第四十五页,本课件共有51页A/D转换转换1.ADC0809:多通道数据采集系统多通道数据采集系统(1)用定时中断控制采样率用定时中断控制采样率,用地址信号选择通道的方案用地址信号选择通道的方案分析:分析:采用查询方式检查转换是否结束。采用查询方式检查转换是否结束。EOCEOC连接到地址连接到地址为为308H端口的数据线端口的数据线端口的数据线端口的数据线D D7上。上。上。上。定时器定时器定时器定时器8253产生中断后,在中断子程序中对产生中断后,在中断子程序中对8路路模拟输入通道分别采样一次。模拟输入通道分别采样一次。8个通道的地址分别为个通道的地址分别为:300H307H第四十六页,本课件共有51页A/D转换转换1.ADC0809:多通道数据采集系统多通道数据采集系统(1)用定时中断控制采样率用定时中断控制采样率,用地址信号选择通道的方案用地址信号选择通道的方案ADINT:ADINT:PROC NEAR PROC NEAR MOV CX,0008H MOV CX,0008H MOV DX,300H MOV DX,300H NEXT:NEXT:OUT DX,AL OUT DX,AL PUSH DX PUSH DX MOV DX,308H MOV DX,308H POLL:POLL:IN AL,DX IN AL,DX TEST AL,80H TEST AL,80H JNZ JNZ POLLPOLLNO_END:NO_END:IN AL,DX IN AL,DX TEST AL,80H TEST AL,80H JZ JZ NO_ENDNO_END中断服务子程序数据采集部分:中断服务子程序数据采集部分:POP DXPOP DXIN AL,DXIN AL,DXMOV SI,ALMOV SI,ALINC DXINC DXINC SIINC SILOOP LOOP NEXTNEXTDEC BX DEC BX ;组数减组数减组数减组数减1 1完整程序见完整程序见P407408第四十七页,本课件共有51页A/D转换转换1.ADC0809:多通道数据采集系统多通道数据采集系统(2)用用8255控制控制ADC0809的方案的方案(程序见教材程序见教材P409)IN0IN7ADDCADDBADDAREF(+)STARTALECLKEOC+5V ADC 0809D7D0PA7PA0PC0PC1PC2PC3OE8255APC7REF(-)数据总线数据总线第四十八页,本课件共有51页A/D转换转换综合举例:综合举例:用一片用一片A/D,一片一片D/A构成边采集边回放显示的电路。构成边采集边回放显示的电路。用查询方式从用查询方式从ADC 0809的的IN3 采集正弦,然后送采集正弦,然后送D/A,要求采集一点要求采集一点,马上送马上送D/A一点,共采集一点,共采集64K点点,通通过示波器回放显示。过示波器回放显示。A/D、D/A与与CPU的连接同前,的连接同前,D/A工作在双缓冲方式。工作在双缓冲方式。CPU通过一片通过一片8255A芯片的芯片的C口的口的PC0脚作为脚作为ADC 0809 转换结束转换结束EOC信号的查询输入端。信号的查询输入端。8255A的端口地的端口地址为址为200H203H。第四十九页,本课件共有51页A/D转换转换综合举例:综合举例:综合举例:综合举例:VREFDAC 0832CSWR1IOUT2IOUT1VCCILEXFERWR2+5V+12V+5VIOR+12V-12V&CSA0YOESTARTALECLKEOCIOWCS220227H500KHZ接接8255A(202H)的的PC0CBAIN3A2A1A0D7D0ADC 080922822FHD7D0 1 1&第五十页,本课件共有51页微机原理与接口微机原理与接口感感谢谢大大家家观观看看第