微型计算机控制技术第二章ppt课件.ppt
第2章 输入/输出接口与过程通道,2.6 A/D转换器及接口技术,2.6.1 逐次逼近式A/D转换原理 2.6.2 如何选择A/D转换器件 2.6.3 常用A/D转换器 2.6.4 A/D转换器的接口技术,2.6 A/D转换器及接口技术,A/D转换器是把模拟电压或电流转换成数字量的集成电路器件,是模拟量输入通道中的关键器件,其性能对通道的设计和计算机控制系统性能的影响很大。按位数来分:有4位、8位、12位、16位等按结构来分:有单一功能A/D转换器,有多功能的A/D转换器,如AD363,其内部含有16路多路开关、数据放大器、采样保持器及12位A/D转换器。按工作原理来分:有双积分型、逐次逼近型、-调制型及电压频率变换型等。,2.6.1 逐次逼近式A/D转换原理,逐次逼近式种类多、应用广。主要由逐次逼近寄存器SAR、D/A转换器、比较器、时钟及控制逻辑等组成。,2.6.1 逐次逼近式A/D转换原理,转换原理:逐位设定 SAR 寄存器中的数字量,该数字量经过D/A转换后得到电压Uo,将Uo与待转换的输入模拟电压Ui进行比较。根据比较结果,修正SAR中的数字量,逐次逼近输入模拟量。,2.6.1 逐次逼近式A/D转换原理,比较时,先从SAR的最高位开 始,逐次确定各位的数码是“1”还是“0”工作过程如下:如果UiUo,该位的“1” 保留;如果UiUo,该位应予清零。,2.6.1 逐次逼近式A/D转换原理,其逐次逼近类似于对分,一个N位的A/D转换器,只需要比较N次即可,因而转换速度快。,举例:有一个4位A/D转换器,满刻度值5V,若输入 3.5V模拟电压,试分析其逐次逼近的转换过程,量化单位:,当最高位为“1”时,Uo=?,Uo=0.3125V23=2.5V,,Ui Uo,最高位保留。,依次类推,给定输入3.5V电压时对应的逐次比较过程如下:,UO=0.3125VD* Ui=3.5V,UO=0.3125VD* Ui=3.5V,2.6.2 如何选择A/D转换器件,1A/D转换器的位数对于测量或测控系统,模拟信号都是先经过测量装置再经过A/D转换器转换后采进行处理的,也就是说,总的误差是由测量误差和量化误差共同构成的。因此A/D转换器的精度应与测量装置的精度相匹配。量化误差与A/D转换器位数有关。,A/D转换器的分辨率通常用位数n来表示,如8位、12位等。一般把8位以下的A/D转换器称为低分辨率A/D转换器,912位的称为中分辨率的A/D转换器,13位以上的称为高分辨率A/D转换器。,分辨率定义为满刻度电压与2n的比值,即分辨率是A/D转换器对微小输入量变化的敏感程度。假设A/D转换器的位数为n,满量程电压为FSR,则分辨率定义为:,量化单位就是分辨率。,相对分辨率定义为:,A/D转换器分辨率与位数的关系(假设满量程为10V ),分辨率的高低取决于位数的多少,因此,一般用位数来间接表示分辨率。,2A/D转换器的转换速率A/D转换器从启动转换到结束转换,需要一定的转换时间。转换时间的倒数就是转换速率,它是每秒钟完成的转换次数。3采样/保持器对于一般频率较高的模拟信号都要加采样/保持器。如果信号频率不高,A/D转换的时间短,即采用高速A/D器件时,可不使用采样/保持器。采集直流或者变化非常缓慢的信号时,也可以不使用采样/保持器。,4A/D转换器量程表示A/D转换器所能转换的输入电压范围,如-5V+5V,010V,05V等。有些A/D转换器件提供了不同量程的引脚,只有正确使用,才能保证转换精度。5偏置极性有些A/D器件提供了双极性偏置控制。当此引脚接地时,信号为单极性输入方式,当此引脚接基准电压时,信号为双极性输入方式。6数据输出方式A/D转换器件输出的逻辑电平多数为TTL电平,有并行和串行两种输出形式。,7工作温度范围由于温度会对运算放大器和电阻网络产生影响,故只有在一定的温度范围内才能保证额定的精度指标。 8线性度线性度指的是实际A/D器件的转移函数与理想直线的最大偏移。9A/D转换对电源电路的要求A/D转换器对电源的要求较高。这是因为在A/D转换电路中,电源除了完成对A/D转换芯片供电外,还需提供A/D转换的基准电压。基准电源的精度将影响A/D转换结果精度。如何选择合适的电压基准源呢?简单来说,需要电压基准源简单、基准电压稳定。,2.6.3 常用A/D转换器,1. ADC0808/0809ADC0808/0809是采用CMOS工艺的多路8位逐次逼近型A/D转换器,芯片内包括一个8通道多路模拟开关、8位A/D转换器和一个8位数据输出锁存器。,(1)ADC0809主要技术指标。线性误差为1LSB;转换时间为100s;单一电源+5V供电,模拟量输入范围0+5V;功耗15mW;输出具有TTL三态锁存缓冲器;无需进行零位及满量程调整;温度范围-40+85。价格(630元,与厂家和封装形式有关),图2-20 ADC0808/0809原理图,(2)ADC0809的内部结构引脚功能,ADC0809的逻辑结构框图如下图所示,其结构可分为:多路模拟开关;逐次逼近型A/D转换器;输出锁存器,ADC0808/0809原理框图,三态输出锁存器,逐次逼近寄存器,8选1模拟多路开关,地址锁存器译码器,开关数组,比较器,控 制 逻 辑,START,EOC,CLK,ABCALE,OEGND,IN7IN6IN5IN4IN3IN2IN1IN0,D7D6D5D4D3D2D1D0,+VREF-VREF,电阻分压器,Ui,UO,Vcc : 芯片工作电源,+5V GND: 芯片地信号CLK: 时钟信号, 101280KHz,决定A/D转换速率,三态输出锁存器,逐次逼近寄存器,8选1模拟多路开关,地址锁存器译码器,开关数组,比较器,控 制 逻 辑,START,EOC,CLK,ABCALE,OEVccGND,IN7IN6IN5IN4IN3IN2IN1IN0,D7D6D5D4D3D2D1D0,+VREF-VREF,电阻分压器,Ui,UO,+ VREF: + 参考电压,一般接 +5V VREF: 参考电压, 一般接 0V,IN0 IN7 : 8个模拟输入端A、B、C : 地址选择输入端ALE :地址锁存允许, 其上升沿将地址C、B、A锁存,三态输出锁存器,逐次逼近寄存器,8选1模拟多路开关,地址锁存器译码器,开关数组,比较器,控 制 逻 辑,START,EOC,CLK,ABCALE,OEVccGND,IN7IN6IN5IN4IN3IN2IN1IN0,D7D6D5D4D3D2D1D0,+VREF-VREF,电阻分压器,Ui,UO,A、B、C:3位地址输入,C为最高位,A为最低位。通过C、B、A的不同组合选择即可选择接入的模拟量输入通道。,START : 高电平时开始转换;即一个正脉冲完成启动A/D转换器。可与ALE端子连接在一起,当通过软件或硬件输入 一个正脉冲,便启动 A/D。,三态输出锁存器,逐次逼近寄存器,8选1模拟多路开关,地址锁存器译码器,开关数组,比较器,控 制 逻 辑,START,EOC,CLK,ABCALE,OEVccGND,IN7IN6IN5IN4IN3IN2IN1IN0,D7D6D5D4D3D2D1D0,+VREF-VREF,电阻分压器,Ui,UO,EOC :转换结束信号,A/D转换期间为低电平,A/D转换完成后变为高电平,可用作判断转换是否结束。,三态输出锁存器,逐次逼近寄存器,8选1模拟多路开关,地址锁存器译码器,开关数组,比较器,控 制 逻 辑,START,EOC,CLK,ABCALE,OEVccGND,IN7IN6IN5IN4IN3IN2IN1IN0,D7D6D5D4D3D2D1D0,+VREF-VREF,电阻分压器,Ui,UO,OE (OUTPUT ENABLE) : 输出允许信号, 高电平有效, 允许从三态输出锁存器读取数字信号。D7D0:数字量输出端,(3)时序图,2. AD574,AD574是美国模拟器件公司(Analog Devices)生产的12位逐次逼近型A/D转换器。片内配有三态输出缓冲电路,因而可直接与各种典型的8位或16位的微机相连。,(1)AD574主要技术指标AD574是12位逐次逼近型A/D转换器,具有可控三态输出缓冲锁存器,12位数据可以一次读出;内部集成+10.000V电压基准源,内部集成时钟电路,不需外部接线;通过改变外部接线,模拟量输入电压既可以是单极性也是可以是双极性;单极性输入时,允许输入的模拟量范围为0+10V和0+20V;双极性输入时允许输入的模拟量范围为-5V+5V和-10V+10V。,(2)AD574的内部结构,图2-22 AD574内部结构及管脚排列图,(3)AD574芯片引脚功能Vcc:工作电源正端,+12 VDC +15 VDC。VEE:工作电源负端,-12 VDC -15 VDC。VL:逻辑电路供电输入端,+5 VDC。DGND:数字地。各种数字电路(译码器、门电路、触发器等)及+5V电源的地。AGND:模拟地。各模拟器件(放大器、比较器、采样保持器等)及+15V和-15V的地。REF OUT:基准电压源输出端,+10.000 V。REF IN:基准电压源输入端,如果REF OUT通过电阻接至REF IN,可用来调增益。,STS:转换结束信号,高电平表示正在转换,低电平表示已转换完毕。DB0-DB11:12位输出数据线,三态输出锁存,可与主机数据线直接相连。CE:片使能信号(芯片启动),输入,高电平有效。当CE=1时,允许转换或读取结果,到底是转换还是读取结果与 有关。,:片选信号,输入,低电平有效。,必须同时有效,AD574才能工作,否则处于禁止状态。,:数据输出方式选择信号。此引脚为高电平时,12位数据同时有效输出;当此引脚为低电平时,与引脚A0配合,把12位数据分两次输出。,:读/转换信号。,注意:如果此时,A0:转换和读字节选择信号。 此管脚有两个功能: 一是选择字节长度。 在转换之前,当A0=0时,按12位进行A/D转换,转换时间为35s;当A0=1时,按8位进行A/D转换,转换时间为15s,与 状态无关。 二是选择输出方式。 在读周期中,A0=0,高8位数据有效;A0=1,低8位数据有效。,,同时输出12位数据,,与A0状态无关。,表2-9 AD574控制信号状态表,10VIN:模拟电压信号输入端,单极性010V,双极性-5V+5V。20VIN:模拟电压信号输入端,单极性020V,双极性-10V+10V。BIP OFF :双极性补偿,此脚适当连接,可实现单极性或双极性输入。BIP OFF接0V,单极性输入;BIP OFF接10V,双极性输入。,(a)单极性输入,(b)双极性输入,图2-23 AD574A模拟输入电路的外部接法,(1)零点调整在单极性输入时,当输入模拟量Vin为0时,输出数字量为0。当Vin=1LSB/2时,那么D应在0与001H之间。单极性输入零点调整步骤:另Vin=1LSB/2(从10Vin脚输入时为+0.0012V),调整图2-23中的RP1,使D在0与001H之间跳动。,(2)增益调整增益调整在输入为最大的附近调整。在单极性输入时,当输入模拟量Vin=+VFS-1LSB时,D=FFFH。当Vin= =+VFS-2LSB时,那么D应在FFFH与FFEH之间。单极性输入零点调整步骤:另Vin=+VFS-1.5LSB(从10Vin脚输入时为+4.9936V),调整图2-23中的RP2,使D在FFFH与FFEH之间跳动。,2.6.4 A/D转换器的接口技术,无论哪种A/D转换器,也不管其内部结构怎样,在将其与微型计算机连接时,都会遇到许多实际的技术问题。比如: A/D转换器的启动方式,模拟量输入通道的构成,参考电源如何提供,状态检测及锁存,时钟信号的提供方式,以及电源和地线的处理等。,1模拟输入信号,在多数情况下,A/D转换器所接受的模拟输人信号为05V,但允许双极性信号输入的A/D也很多。因此,在连接时一定要弄清输入信号的极性是否与A/D转换器的极性相符,否则要通过外接电路改变输入的极性。也有少数内部带有放大器的A/D可直接接受传感器输出的弱信号,但要注意量程范围。,2数字量输出信号,在一般的控制系统中所用的A/D转换器多为并行数据输出,因此当A/D转换器内部设置数据锁存器及三态输出控制时,可直接挂在CPU的数据总线上;若A/D转换器内部无三态输出控制,就必须通过I/O接口。必须注意的是:当8位微机与8位A/D连接时,可一次并行传送8位数;而若与12位或更多位数A/D转换器连接,数据必须分时传送。,3A/D转换器的启动方式,启动转换信号是A/D转换器开始进行转换的关键信号,根据芯片的要求,它可以是脉冲信号或电平信号。在微机控制系统中,脉冲启动信号可由CPU的地址线及读/写控制信号逻辑组合产生,也可以通过I/O接口用程序控制产生。若采用电平信号启动,一般情况下,在整个A/D转换的过程中,要求启动转换的电平维持不变,这就需要用锁存器保存该电平状态直至转换结束。脉冲的正负、电平的高低应根据具体电路的要求而定。,4转换结束信号的处理方法,转换结束信号一般为电平信号(高电平或低电平),它是A/D转换器的输出信号,该信号已变为有效态(高电平或低电平),即表明A/D转换工作已经结束。根据该信号的状态即可从A/D中读取转换结果。因此转换结束信号是A/D与外界的联络信号。在微机控制系统中,可由此信号向CPU申请中断或通过程序查询该信号的状态,以便读取A/D转换结果。,5时钟信号的连接,时钟信号是A/D转换器的又一个重要信号,整个转换过程都是在时钟控制下完成的。若A/D转换器带有内部振荡器,一般不需要任何附加电路,如AD574A等。若芯片要求提供外部时钟,可根据芯片提供的参数要求,使用单独的振荡器。更多的场合是利用CPU的时钟经过分频后产生。,6电源和地线的连接,A/D转换器的电源分为两类:一类是芯片工作所必须提供的电源,另一类是芯片所需的基准电源。工作电源一般为+5V,可由直流电源直接供电。但也有一些芯片,需要为内部的模拟电路提供电,如AD574A除了5V外,尚须15V电源。基准源作为A/D的比较基准,直接影响到A/D转换器的精度,要求较高,一般要经过稳压以提高电源精度,或采用专用的精密电源模块供电。,在任何一个控制系统中,接地处理都占着很重要的位置。处理不好就是一个大的干扰源。在有A/D转换器组成的采集系统中,有许多接地点,包括数字地(逻辑电路的返回端),模拟公共地(模拟电路的返回端)、信号地,有的还有信号的屏蔽地等,不少的A/D、D/A转换器芯片都单独提供模拟地和数字地的引脚,对这些地线的处理原则采用“一点接地”,这样可以避免地环流。,2.6.5 A/D转换器的程序设计及应用举例,1. A/D转换器与微机的数据交换方式(1)程序查询方式。 (2)定时方式。 (3)中断方式。 A/D转换器的程序设计主要分为三步:(1)启动A/D转换;(2)用上述数据交换方式(查询、定时或中断)等待A/D转换结束;(3)读取转换结果。,2. A/D转换器应用设计实例,利用51单片机和ADC0809设计一个8路数据采集系统设计要求:1)采用中断方式读取转换结果。2)转换结果存放在30H37H 8个单元中。,图2-27 ADC0809与AT89S51单片机的接口电路,ADC0809的8个通道所对应的口地址是:FEF0FEF7H。,ORG 0000H AJMP MAIN ORG 0003H AJMP INT ORG 0030HMAIN: MOV R0, #30H MOV R2, #08H SETB IT0 SETB EA SETB EX0 MOV DPTR, #0FEF0H MOVX DPTR, AHERE: SJMP HERE,INT:MOVX A, DPTR ;读数据MOV R0, A ; INC R0 ;指向下一缓存 INC DPTR ;指向下一通道 DJNZ R2, RTN ; 8 次未完就继续采集,已完就关中断、停采集 CLR EA CLR EX0 RETIRTN: MOVX DPTR,A RETI, 中断方式读取数据,主程序和中断服务程序流程图,(2)AD574应用实例,利用AT89S51单片机、8255A和AD574设计一个8路12位AD转换板。模拟信号单极性输入、数据按12位形式输出。,图2-28 利用AD574组成的8路12位AD转换板,该模板采集数据的过程如下:1)通道选择将模拟量输入通道号写入8255A的端口C低4位(PC3-PC0),可以依次选通8路通道。2)采样保持控制 把AD574A的转换结束信号STS通过反相器连到LF398的信号采样/保持端,当AD574A未转换期间或转换结束时STS0,使 LF398处于采样状态,当AD574A转换期间STS1,使LF398处于保持状态。,3)启动AD574A进行A/D转换通过8255A的端口PC6-PC4输出控制信号启动AD574A。4)查询AD574A是否转换结束读8255A的端口A,查询是否已由高电平变为低电平。5)读取转换结果若已由高电平变为低电平,则读8255A端口A、B,便可得到12位转换结果。,2.6.6 V/F转换器及应用,V/F转换器是又一种间接型A/D转换器。它把电压信号转换为频率信号,再通过一定的处理手段转换为数字量。特点:(1)接口简单,占用微机的硬件资源较少, (2)抗干扰性能好。(3)易于远距离传送。,1V/F变换器的原理,V/F变换器实际上是一个电压控制的振荡器,即振荡频率随控制电压变化而变化的振荡电路。 它多采用电荷平衡技术,电荷平衡式V/F转换器电路结构如2-31所示。,图2-31电荷平衡式V/F转换器,运放A1与RC电路组成一个积分器。A2为零电压比较器。IR为恒流源,设计时应使IRUinmaxR。它与模拟开关S组成积分器反充电回路。模拟开关S受单稳态触发器控制,整个回路可视为振荡频率受输入电压Uin控制的多谐振荡器。,根据电荷平衡原理可得:,输出频率:,式中Iin为输入电流,IR为恒流源,t0为反向时间,t0+T1=T。,可以看出,当输入电压增大时,积分时间缩短,因而单稳态触发器的翻转时间t0也缩短。导致输出频率加快;反之,如果输入电压减小,输出频率也随之减小,输出频率与输入电压成正比。,