《微型计算机接口技术》第7章 模拟量输入输出控制接口_第1页
《微型计算机接口技术》第7章 模拟量输入输出控制接口_第2页
《微型计算机接口技术》第7章 模拟量输入输出控制接口_第3页
《微型计算机接口技术》第7章 模拟量输入输出控制接口_第4页
《微型计算机接口技术》第7章 模拟量输入输出控制接口_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1第7章模拟量输入输出接口

2概述7.1D/A转换器的工作原理7.2典型D/A转换器芯片及其应用7.3A/D转换器的工作原理7.4典型A/D变换器芯片及其应用目录3概述自然界中存在的大都是连续变化的模拟量,如温度、湿度、速度、流量、压力等等。要用计算机来处理这些模拟量,必须先把这些模拟量转换成计算机能够识别的数字量,经过计算机分析和处理后的数字量又需要转换成相应的模拟量,才能实现对受控对象的有效控制,这就需要一种能在模拟量与数字量之间起桥梁作用的电路—模数和数模转换电路。能将模拟量转换成数字量的电路称为模数转换器(简称A/D转换器或ADC),与此相反,能将数字量转换为模拟量的电路称为数模转换器(简称D/A转换器或DAC)。A/D和D/A转换器是数字控制系统中不可缺少的组成部分,是用计算机实现工业过程控制的重要接口电路。随着单片机技术的发展,A/D转换器和D/A转换器已经集成到高性能的单片机的芯片内部,如AVR系列单片机和PIC系列单片机。(但80C51系列内部不含ADC和DAC)47.1D/A转换器的工作原理D/A转换器的作用就是把数字量转换成模拟量。数字量是用代码按数位组合起来表示的,必须将每一位的代码按其位权的大小转换成相应的模拟量,然后再将这些模拟量相加,即可得到与数字量成正比的总模拟量,从而实现数模转换。57.1.1权电阻型D/A转换器图7.2权电阻型D/A转换器电路原理图Vo∞A1-++RΣVREF

基准电压IΣS1d1I122RS3d3I3RS2d2I22RS0d0I023RRf电路简单,但电阻的阻值太多,难以批量生产,这是它的最大不足之处。67.1.2T型R-2R网络型D/A转换器图7.3R—2R电阻型D/A转换器电路原理图Vo∞A1-++IVREF基准电压IΣS1d1I12Rd3I32RS3S2d2I22RS0d0I02RRfRRR2R77.1.3D/A转换器的基本技术指标包括:分辨率、转换误差、转换速度等1、分辨率分辨率反映了数字量在最低位上变化1位时输出模拟量的最小变化。一般用相对值表示。对于8位D/A转换器来说,分辨率为最大输出幅度的0.39%,即为1/256。而对于10位D/A转换器来说,分辨率可以提高到0.0978%,即1/1024。对于一个n位的D/A转换器,分辨率可表示为:分辨率=1/2n。82、转换误差转换误差是指D/A转换器实际输出的模拟电压与理论输出模拟电压间的最大误差。通常要求D/A转换器的转换误差小于½LSB,这里LSB是指最低一位数字量变化所带来的幅度变化。D/A转换器的转换精度通常用分辨率和转换误差来描述。93、转换速度转换速度即每秒钟可以转换的次数,其倒数为转换时间。转换时间是指D/A转换器在输入数字信号开始到输出的模拟电压达到稳定值所需的时间。或转换器的输入变化为满度值(输入由全0变为全1或由全1变为全0)时,其输出达到稳定值所需的时间。转换时间也称建立时间,它是反映D/A转换器工作速度的指标。转换时间越小,工作速度就越高。107.2典型D/A转换器芯片及其应用国家半导体公司的DAC0830系列(包括DAC0830、DAC0831和DAC0832)是典型的CMOS工艺实现的8位D/A转换器,可直接与各种微处理器或单片机方便连接,内部采用R-2R梯形电阻网络和双缓冲结构,单电源、低功耗,转换速度适中(输出电流建立时间约1uS)。由于DAC0832芯片的功能齐全,本节以该芯片为例,详细介绍该芯片的工作原理和应用方法。117.2.1DAC0832的引脚功能与内部结构八位输入寄存器由八个D锁存器组成,用来作为输入数据的缓冲寄存器,八位输人数据只有经过DAC寄存器才能送到D/A转换器去转换,它的八个数据输入可以直接和微机的数据总线相连,LE1为其控制输入。LE1=1时,接收信号,IE1=0时,锁存信号。12DAC0832的内部结构八位DAC寄存器它也由八个D锁存器组成,DAC寄存器的输出直接送到八位D/A转换器进行数模转换,它的控制端为LE2,当LE2=1时,输出跟随输入,而当LE2=0时,锁存状态。13DAC0832的引脚功能D0~D7:8位数据输入端,D0为最低位,D7为最高位。IOUT1:DAC电流输出1。此输出信号一般作为运算放大器的一个差分输入信号(通常接反相端)。IOUT2:DAC电流输出2,此输出信号一般作为运算放大器的一个差分输入信号(通常接正相端)。IOUT1+IOUT2=常数。Rfb:反馈电阻输入端。可外接运算放大器的反馈电阻,另一端接到运算放大器的输出端。Vref:参考电压输入,可在+10V~-10V之间选择。147.2.2DAC0832的输出方式D/A转换的结果若是与输入二进制码成比例的电流,称为电流DAC,若是与输入二进制码成比例的电压,称为电压DAC。DAC0832的输出为电流型。在实际应用中,通常需要将输出电流转换成输出电压。图7.6到图7.8给出了实现DAC0832的单极性电压输出和双极性电压输出的电路图。15单极性输出电路其输出电压为Vo=-iR。图7-6单极性反相输出电路图7-7单极性同相输出电路Vo=iR(1+))1617双极性输出电路

图7-8这里,VREF为A2提供一个偏移电流,且VREF的极性选择应使偏移电流方向与A1输出的电流方向相反。再选择R4=R3=2R2,以使偏移电流恰好为A1输出电流的1/2。从而使A2的输出特性在A1的输出特性基础上,上移1/2的动态范围。由电路各参数计算可得最后的输出电压表达式为:V0=-2V1-VREF。设V1为(0~-5)V,选取VREF为+5V,则Vo=(0~10)V-5V=(-5~+5)V18197.2.3DAC0832的应用使用D/A变换器可以产生各种信号波形。例如,当DAC0832与8088CPU连接时,通过编程向其输入数字量,可以在Iout引脚产生电流,然后通过运算放大器可以产生电压VOUT,从而产生方波、三角波、锯齿波等。图7-9给出了DAC0832的一种典型连接。如果设DAC的输入寄存器的地址为08F0H,则产生各种波形的程序段如下。20使用D/A变换器可以产生各种信号波形图7-9给出了DAC0832的一种典型连接。如果设DAC的输入寄存器的地址为08F0H,则产生各种波形的程序段如下。21使用D/A变换器可以产生各种信号波形(2)三角波程序

MOVDX,08F0H

MOVAL,00H ;最小值L1:OUTDX,ALINCALJNZL1MOVAL,0FFH ;最大值L2:OUTDX,ALDECALJNZL2JMP L1HLT(1)锯齿波程序

MOVDX,08F0HMOVAL,00HL1:OUTDX,AL INCAL;电压上升

JMPL1;FFH~00H有一个跳变

HLT22237.3A/D转换器的工作原理在计算机控制系统中,模拟量输入通道的任务是把被控对象的模拟信号(如温度、压力、流量和成分等)转换成计算机可以接收的数字信号。A/D转换后,输出的数字信号可以用8位、10位、12位、14位和16位等多种二进制表示。7.3.1A/D转换的基本概念7.3.2A/D转换器的工作原理247.3.1A/D转换的基本概念1.采样2、采样保持3、量化与编码25量化与编码方法量化的方法一般有两种:只舍不入法和有舍有入法(或称四舍五入法)。利用二进制数码来表示各个量化电平的过程称为编码。(1)只舍不入的方法Δ表示最低有效位1位所代表的模拟电压。例如,某12位A/D变换器,其最大模拟电压为5V,则该A/D变换器的量化间隔Δ为:1.22mV最小量化单位Δ=Vmax/2n,在这种方法中,将0~Δ之间的模拟电压归并到0Δ,把Δ~2Δ之间的模拟电压归并到1Δ,依此类推。此时最大量化误差为Δ.26量化与编码方法(2)有舍有入的方法此时最大量化误差为Δ/2.27例如,如果一个8位A/D转换器的满量程(对应于数字量255)为10V,分别确定模拟量为2.0V和8.0V所对应的数字量是多少?【解答】设模拟量为2.0V和8.0V所对应的数字量分别是X和Y,则对于“只舍不入的方法”列方程得:10/255=2/X=8/Y解方程得:X=51,Y=20428A/D转换器的分类29A/D转换器的主要性能参数包括:分辨率、转换时间、转换误差(1)分辨率指A/D转换器能分辨的最小模拟输入量。通常用能转换成的数字量的位数来表示,如8位、10位、12位、16位等。理论上讲,n位输出的A/D转换器能区分2n个不同等级的输入模拟电压,能区分输入电压的最小值为满量程输入的1/2n。例如A/D转换器输出为8位二进制数,输入信号最大值为5V,那么这个转换器应能区分输入信号的最小电压为:5÷256mV=19.53mV。30(2)转换时间指A/D转换器从转换控制信号到来开始,到输出端得到稳定的数字信号所经过的时间。转换时间是编程时必须考虑的参数。例如,若ADC输入模拟电压信号的最高频率为100KHZ,采样频率的下限是多少?完成一次A/D转换时间的上限是多少?【解答】根据采样定理可知,采样频率要大于等于输入频率的2倍,所以采样频率的下限是2×100=200KHZ。完成一次A/D转换时间的上限是1÷200KHZ=5μs。31(3)转换误差表示A/D转换器实际输出的数字量和理论上的输出数字量之间的差别。常用最低有效位的倍数表示。例如对满刻度输入电压为5V的12位A/D转换器,Δ=5V/FFFH=1.22mV,定义为数字量的最小有效位LSB。例如,给出相对误差≤±LSB/2,这就表明实际输出的数字量和理论上应得到的输出数字量之间的误差小于最低位的半个字。32【例7.2】某信号采集系统要求用一片A/D转换集成芯片在一秒内对16个热电偶的输出电压分时进行A/D转换。已知热电偶输出电压范围为0~0.025V(对应于0~450℃温度范围),需要分辨的温度为0.1℃,试问应该选择多少位的A/D转换器,其转换时间应为多少?337.3.2A/D转换器的工作原理逐次逼近型A/D转换器属于直接型A/D转换器,它能把输入的模拟电压直接转换为输出的数字代码。先看一个用天平秤量物体的例子来说明逐次逼近的概念。假设用四个分别为8g、4g、2g和1g的砝码去称量重量为13g的物体,秤量的过程如表7.1所示。秤量顺序砝码重量比较判别加减砝码秤量结果第1步8g砝码重量

<被秤量物体的重量保留8g第2步4g砝码总重量

<被秤量物体的重量保留12g第3步2g砝码总重量

>被秤量物体的重量除去12g第4步1g砝码总重量

=被秤量物体的重量保留13g34逐次逼近型A/D转换器原理35逐次逼近型A/D转换器基本原理工作时,置数选择逻辑电路给逐次逼近比较寄存器置数,经D/A转换器转换成模拟量并和输入的模拟信号比较,当输入模拟电压大于或等于D/A转换器的输出电压时,比较器置“1”,否则置“0”。置数选择逻辑电路根据比较器的结果修正逐次逼近比较寄存器的数值,使所置数据转换后得到的模拟电压逐渐逼近输入电压,经过N次修改后,逐次逼近比较寄存器中的数值就是A/D转换的最终结果。367.4典型A/D变换器芯片及其应用8位A/D变换器ADC080912位A/D转换器AD574

14位A/D变换器ICL7135(不要求)37ADC0809的内部结构它由八路模拟开关、地址锁存与译码器、比较器、八位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器及其它一些电路组成。因此,ADC0809可处理八路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。STARTCLK控制与时序EOC八路模拟开关逐次逼近寄存器SAR开关树256R电阻网络锁存与三态输出

电源地址锁存与译码D0D1D2D3D4D5D6D7OEVCCENDIN0IN1IN2IN3IN4IN5IN6IN7AB

CALEVref+Vref-图7.19ADC0809内部结构框图38ADC0809的引脚功能CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号。IN7~IN0:模拟量输入,八个通道。ADC0809对输入模拟量的要求主要有:信号单极性,电压范围0~5V,若信号过小还需进行放大。另外,在A/D转换过程中,模拟量输入值不应变化太快,因此,对变化速度快的模拟量,在输入前应增加采样保持电路。A、B、C:地址线。A为低位地址,C为高位地址,用于对模拟通道进行选择。ALE:地址锁存允许信号。在对应ALE上跳沿,将A、B、C地址状态送入芯片内部地址锁存器中。START:转换启动信号。START上跳沿时,所有内部寄存器清零;START下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。39D7~D0:数据输出线。其为三态缓冲输出形式,可以和单片机或微处理器的数据线直接相连。OE:输出允许信号,高有效。其用于控制三态输出锁存器向单片机或微处理器输出转换得到的结果数据。OE=0,输出数据线呈高电阻;OE=1,输出转换得到的结果数据到D7~D0上。EOC:转换结束状态信号。EOC=0,正在进行转换;EOC=1,转换结束。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。Vref:参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V,Vref(-)=0V)40ADC0809的工作时序41ADC0809的接口设计【例7.4】PC计算机的系统总线通过8255A与ADC0809连接如图7-22所示。系统可对8路模拟量分时进行数据采集,转换结果采用查询方式传送,除了一个传送转换结果的输入端口外,还需要传送8个模拟量的选择信号和A/D转换的状态信息。因此,可以采用8255作为ADC0809和CPU的连接接口,将A口设为方式0的输入方式,B口的PB0~PB7输出选择8路模拟量的地址选通信号,PC7输入ADC0809的转换结束信号,PB0作为启动信号。42分析:由于ADC0809需要脉冲启动,所以通过软件编程让PB0输出一个正脉冲。EOC信号直接接PC7。8位数据通过读8255芯片A口获得。A/D转换结果的存储区首地址设为40H,采样顺序从1N0到IN7。译码器输出Y0选通8255,Y1输出选通ADC0809。现根据电路,可以进行端口地址分析,其中,8255A的PA口对应四个地址,ADC0809的OE端口对应16个地址,具体分析如下表。43A9A8A7A6A5A4A3A2A1A0端口地址8255的PA口00/1000100/10010H或110H等ADC0809的OE00/1010100/10/10/150H或150H等因为没有连接的地址线可以为0或1,为了简便,现在只考虑为未连地址线为“0”时,可以分析出8255的PA口、PB口、PC口及控制口地址分别为10H、l1H、12H和13H,ADC0809的输出控制OE的端口地址为50H具体程序如下:

MOVDX,13H;8255初始化

MOVAL,99H;或98HOUTDX,ALMOVSI,40H;数据存储地址

MOVCX,08HMOVBX,00H44LOOP1:PUSHCXMOVAL,01HMOVBL,BH ;通道号

MOVCL,5SHLBL,CL ;通道号移位到PB7~PB5,形成通道地址ADDAL,BL ;PB0送高电平

MOVDX,11H ;PB端口

OUTDX,AL ;启动0809,START和ALE产生高电平

MOVAL,00H ;PB0送低电平

OUTDX,AL ;启动0809,START和ALE产生低电平45LOOP2:MOVDX,12H ;PC口

INAL,DXTESTAL,80H ;检测EOC信号(PC7)

JZLOOP2MOVDX,50H ;为产生OE准备

INAL,DX ;产生OE信号并自动将转换结果送PA

MOVDX,10H ;PA口地址

INAL,DX ;CPU从8255读取转换结果

MOV[SI],AL ;结果放存储器

INCSI ;存储单元加1INCBH ;通道地址加1POPCXLOOP LOOPl ;8路转换结束否,没有继续转换

HLT46思考题不读EOC,延迟等待结束分析启动地址读出结果地址编写采样程序47思考题由上图可知,0809的选通地址为2F7H。假设转换后的数据存放到BUF开始的内存单元中,程序如下:

LEADI,BUFMOVCX,8MOVAH,00HMOVDX,2F7HADO:MOVAL,AHOUTDX,ALCALLDEALYINAL,DXMOV[DI],ALINCAHINCDILOOPADO487.4.212位A/D转换器AD574AD574是一个完整的12位逐次逼近式带三态缓冲器的A/D转换器,它可以直接与8位或16位微型机总线进行接口。AD574的分辨率为12位,转换时间15~35µs。

1、AD574的内部结构AD574由模拟芯片和数字芯片两部分组成。其中模拟芯片由高性能的AD565(12位D/A转换器)和参考电压模块组成。它包括高速电流输出开关电路、激光切割的膜片式电阻网络,故其精度高,可达±LSB/4。数字芯片是由逐次逼近寄存器(SAR)、转换控制逻辑、时钟、总线接口和高性能的锁存器、比较器组成。逐次逼近的转换原理前已述及,此处不再重复。4950AD574引脚功能51AD574引脚功能52

AD574的功能状态表53AD574与CPU的连接(1)8位转换与8位CPU连接54(1)8位转换与8位CPU连接558位转换与8位CPU连接如果假设8255A的端口地址为80H~83H,PA口为输入,PC口高位输入、低位输出,则图7

温馨提示

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

评论

0/150

提交评论