微型计算机控制技术第二章3课件_第1页
微型计算机控制技术第二章3课件_第2页
微型计算机控制技术第二章3课件_第3页
微型计算机控制技术第二章3课件_第4页
微型计算机控制技术第二章3课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章输入/输出接口与过程通道2.6A/D转换器及接口技术2.6.1逐次逼近式A/D转换原理2.6.2如何选择A/D转换器件2.6.3常用A/D转换器2.6.4A/D转换器的接口技术2.6A/D转换器及接口技术A/D转换器是把模拟电压或电流转换成数字量的集成电路器件,是模拟量输入通道中的关键器件,其性能对通道的设计和计算机控制系统性能的影响很大。按位数来分:有4位、8位、12位、16位等按结构来分:有单一功能A/D转换器,有多功能的A/D转换器,如AD363,其内部含有16路多路开关、数据放大器、采样保持器及12位A/D转换器。按工作原理来分:有双积分型、逐次逼近型、∑-△调制型及电压频率变换型等。2.6.1逐次逼近式A/D转换原理转换原理:逐位设定SAR寄存器中的数字量,该数字量经过D/A转换后得到电压Uo,将Uo与待转换的输入模拟电压Ui进行比较。根据比较结果,修正SAR中的数字量,逐次逼近输入模拟量。2.6.1逐次逼近式A/D转换原理比较时,先从SAR的最高位开始,逐次确定各位的数码是“1”还是“0”工作过程如下:如果Ui≥Uo,该位的“1”保留;如果Ui<Uo,该位应予清零。2.6.1逐次逼近式A/D转换原理其逐次逼近类似于对分,一个N位的A/D转换器,只需要比较N次即可,因而转换速度快。UO=0.3125V×D*Ui=3.5V步骤SAR内容转换后电压UO(V)UiUO比较该位去留8421(1)10002.5Ui>UO保留(2)11003.75Ui<UO去掉(3)10103.125Ui>UO保留(4)10113.4375Ui>UO保留结果1011误差:3.5V-3.4375V=0.0625VUO=0.3125V×D*Ui=3.5V2.6.2如何选择A/D转换器件1.A/D转换器的位数对于测量或测控系统,模拟信号都是先经过测量装置再经过A/D转换器转换后采进行处理的,也就是说,总的误差是由测量误差和量化误差共同构成的。因此A/D转换器的精度应与测量装置的精度相匹配。量化误差与A/D转换器位数有关。A/D转换器的分辨率通常用位数n来表示,如8位、12位等。一般把8位以下的A/D转换器称为低分辨率A/D转换器,9~12位的称为中分辨率的A/D转换器,13位以上的称为高分辨率A/D转换器。A/D转换器分辨率与位数的关系(假设满量程为10V)位数级数相对分辨率绝对分辨率82560.391%39.1mV1010240.0977%9.77mV1240960.0244%2.44mV14163840.0061%0.61mV16655360.0015%0.15mV分辨率的高低取决于位数的多少,因此,一般用位数来间接表示分辨率。2.A/D转换器的转换速率A/D转换器从启动转换到结束转换,需要一定的转换时间。转换时间的倒数就是转换速率,它是每秒钟完成的转换次数。3.采样/保持器对于一般频率较高的模拟信号都要加采样/保持器。如果信号频率不高,A/D转换的时间短,即采用高速A/D器件时,可不使用采样/保持器。采集直流或者变化非常缓慢的信号时,也可以不使用采样/保持器。4.A/D转换器量程表示A/D转换器所能转换的输入电压范围,如-5V~+5V,0~10V,0~5V等。有些A/D转换器件提供了不同量程的引脚,只有正确使用,才能保证转换精度。5.偏置极性有些A/D器件提供了双极性偏置控制。当此引脚接地时,信号为单极性输入方式,当此引脚接基准电压时,信号为双极性输入方式。6.数据输出方式A/D转换器件输出的逻辑电平多数为TTL电平,有并行和串行两种输出形式。2.6.3常用A/D转换器1.ADC0808/0809ADC0808/0809是采用CMOS工艺的多路8位逐次逼近型A/D转换器,芯片内包括一个8通道多路模拟开关、8位A/D转换器和一个8位数据输出锁存器。IN3IN2IN4IN1IN5IN0IN6ADDAIN7ADDBSTARTADDCEOCALED3D7OED6CLKD5VCCD4VREF+D0GNDVREF-D1D2ADC0809(1)ADC0809主要技术指标。线性误差为±1LSB;转换时间为100μs;单一电源+5V供电,模拟量输入范围0~+5V;功耗15mW;输出具有TTL三态锁存缓冲器;无需进行零位及满量程调整;温度范围-40℃~+85℃。价格(6~30元,与厂家和封装形式有关)(2)ADC0809的内部结构引脚功能ADC0809的逻辑结构框图如下图所示,其结构可分为:①多路模拟开关;②逐次逼近型A/D转换器;③输出锁存器ADC0808/0809原理框图三态输出锁存器逐次逼近寄存器8选1模拟多路开关地址锁存器译码器开关数组比较器控制逻辑STARTEOCCLKABCALEVccOEGNDIN7IN6IN5IN4IN3IN2IN1IN0D7D6D5D4D3D2D1D0+VREF-VREF电阻分压器UiUOVcc:芯片工作电源,+5VGND:芯片地信号CLK:时钟信号,10~1280KHz,决定A/D转换速率三态输出锁存器逐次逼近寄存器8选1模拟多路开关地址锁存器译码器开关数组比较器控制逻辑STARTEOCCLKABCALEOEVccGNDIN7IN6IN5IN4IN3IN2IN1IN0D7D6D5D4D3D2D1D0+VREF-VREF电阻分压器UiUO+VREF:+参考电压,一般接+5V-VREF:-参考电压,一般接0VA、B、C:3位地址输入,C为最高位,A为最低位。通过C、B、A的不同组合选择即可选择接入的模拟量输入通道。CBA所选通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7START:

高电平时开始转换;即一个正脉冲完成启动A/D转换器。可与ALE端子连接在一起,当通过软件或硬件输入一个正脉冲,便启动A/D。三态输出锁存器逐次逼近寄存器8选1模拟多路开关地址锁存器译码器开关数组比较器控制逻辑STARTEOCCLKABCALEOEVccGNDIN7IN6IN5IN4IN3IN2IN1IN0D7D6D5D4D3D2D1D0+VREF-VREF电阻分压器UiUOEOC:转换结束信号,A/D转换期间为低电平,A/D转换完成后变为高电平,可用作判断转换是否结束。三态输出锁存器逐次逼近寄存器8选1模拟多路开关地址锁存器译码器开关数组比较器控制逻辑STARTEOCCLKABCALEOEVccGNDIN7IN6IN5IN4IN3IN2IN1IN0D7D6D5D4D3D2D1D0+VREF-VREF电阻分压器UiUOOE(OUTPUTENABLE):

输出允许信号,高电平有效,允许从三态输出锁存器读取数字信号。D7~D0:数字量输出端2.AD574AD574是美国模拟器件公司(AnalogDevices)生产的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-22AD574内部结构及管脚排列图(3)AD574芯片引脚功能Vcc:工作电源正端,+12VDC~+15VDC。VEE:工作电源负端,-12VDC~-15VDC。VL:逻辑电路供电输入端,+5VDC。DGND:数字地。各种数字电路(译码器、门电路、触发器等)及+5V电源的地。AGND:模拟地。各模拟器件(放大器、比较器、采样保持器等)及+15V和-15V的地。REFOUT:基准电压源输出端,+10.000V。REFIN:基准电压源输入端,如果REFOUT通过电阻接至REFIN,可用来调增益。STS:转换结束信号,高电平表示正在转换,低电平表示已转换完毕。DB0-DB11:12位输出数据线,三态输出锁存,可与主机数据线直接相连。CE:片使能信号(芯片启动),输入,高电平有效。当CE=1时,允许转换或读取结果,到底是转换还是读取结果与有关。:片选信号,输入,低电平有效。必须同时有效,AD574才能工作,否则处于禁止状态。:数据输出方式选择信号。此引脚为高电平时,12位数据同时有效输出;当此引脚为低电平时,与引脚A0配合,把12位数据分两次输出。:读/转换信号。注意:如果此时A0:转换和读字节选择信号。此管脚有两个功能:

一是选择字节长度。在转换之前,当A0=0时,按12位进行A/D转换,转换时间为35μs;当A0=1时,按8位进行A/D转换,转换时间为15μs,与状态无关。二是选择输出方式。在读周期中,A0=0,高8位数据有效;A0=1,低8位数据有效。,同时输出12位数据,与A0状态无关。操作0××××禁止×1×××禁止100×0启动12位转换100×1启动8位转换101+5V×12位数据并行输出101地0输出高8位数据101地1输出低4位数据,尾随4个0表2-9AD574控制信号状态表10VIN:模拟电压信号输入端,单极性0~10V,双极性-5V~+5V。20VIN:模拟电压信号输入端,单极性0~20V,双极性-10V~+10V。BIPOFF:双极性补偿,此脚适当连接,可实现单极性或双极性输入。BIPOFF接0V,单极性输入;BIPOFF接10V,双极性输入。(a)单极性输入(b)双极性输入图2-23AD574A模拟输入电路的外部接法(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.4A/D转换器的接口技术无论哪种A/D转换器,也不管其内部结构怎样,在将其与微型计算机连接时,都会遇到许多实际的技术问题。比如:A/D转换器的启动方式,模拟量输入通道的构成,参考电源如何提供,状态检测及锁存,时钟信号的提供方式,以及电源和地线的处理等。1.模拟输入信号在多数情况下,A/D转换器所接受的模拟输人信号为0~5V,但允许双极性信号输入的A/D也很多。因此,在连接时一定要弄清输入信号的极性是否与A/D转换器的极性相符,否则要通过外接电路改变输入的极性。也有少数内部带有放大器的A/D可直接接受传感器输出的弱信号,但要注意量程范围。2.数字量输出信号在一般的控制系统中所用的A/D转换器多为并行数据输出,因此当A/D转换器内部设置数据锁存器及三态输出控制时,可直接挂在CPU的数据总线上;若A/D转换器内部无三态输出控制,就必须通过I/O接口。必须注意的是:当8位微机与8位A/D连接时,可一次并行传送8位数;而若与12位或更多位数A/D转换器连接,数据必须分时传送。3.A/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.5A/D转换器的程序设计及应用举例1.A/D转换器与微机的数据交换方式(1)程序查询方式。(2)定时方式。(3)中断方式。A/D转换器的程序设计主要分为三步:(1)启动A/D转换;(2)用上述数据交换方式(查询、定时或中断)等待A/D转换结束;(3)读取转换结果。2.A/D转换器应用设计实例利用51单片机和ADC0809设计一个8路数据采集系统设计要求:1)采用中断方式读取转换结果。2)转换结果存放在30H~37H8个单元中。图2-27ADC0809与AT89S51单片机的接口电路ADC0809的8个通道所对应的口地址是:FEF0~FEF7H。

ORG0000HAJMPMAINORG0003HAJMPINTORG0030HMAIN:MOVR0, #30HMOVR2, #08HSETBIT0SETBEASETBEX0MOVDPTR,#0FEF0H

MOVX@DPTR,AHERE:SJMPHEREINT:MOVXA,@DPTR;读数据MOV@R0,A;INCR0;指向下一缓存INCDPTR;指向下一通道DJNZR2,RTN;8次未完就继续采集,已完就关中断、停采集CLREACLREX0RETIRTN:MOVX@DPTR,ARETI►中断方式读取数据

PA7

┇┇PA0PB0

/STBA8255DB7┇ADC0809DB0

STARTALEEOC8086CPUD7│D074LS048259INTRAINTRIR3VX主程序关中断8259初始化8255A,B口初始化开中断启动A/D执行主程序

中断服务程序入口保护现场读入数据恢复现场返回主程序和中断服务程序流程图(2)AD574应用实例利用AT89S51单片机、8255A和AD574设计一个8路12位AD转换板。模拟信号单极性输入、数据按12位形

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论