第10章 AD与DA转换器接口_第1页
第10章 AD与DA转换器接口_第2页
第10章 AD与DA转换器接口_第3页
第10章 AD与DA转换器接口_第4页
第10章 AD与DA转换器接口_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

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

文档简介

第10章A/D与D/A转换器接口

主要内容:1、D/A转换器的基本原理与接口方法

2、D/A转换器接口电路设计

3、A/D转换器接口基本原理与方法

4、查询方式的A/D转换器接口电路设计

5、中断方式的A/D转换器接口设计

6、DMA方式的A/D转换器接口电路设计

7、在板存储器方式的数据采集系统

8、微型计算机系统的A/D、D/A通道重点内容:A/D、D/A接口电路设计及编程1第10章A/D与D/A转换器接口

一、概述

计算机加工、处理的信号可以分为数字量和模拟量两种类型。从键盘读入的字符代码,送往磁盘存储的文件信息,是以二进制表示的数字量。经常使用的语音信号,送往VGA显示器的视频信号,以及工业生产过程中温度、流量等物理量都是随着时间连续变化的模拟量。现在广泛使用的微型计算机内部都采用二进制表示的数字量进行信号的输入、存储、传输、加工与输出。为了使用计算机对模拟量进行采集、加工和输出,需要把模拟量转换成便于数字计算机存储和加工的数字量(A/D转换),或者把数字量转换成模拟量(D/A转换)。因此,D/A与A/D转换是计算机用于多媒体、工业控制等领域的一项重要技术。2第10章A/D与D/A转换器接口

模拟量检测与转换模拟量转换成数字量数字量转换成模拟量CPUA/DD/A传感器检测电路被控制对象调节器执行机构3第10章A/D与D/A转换器接口

传感器变送器信号处理放大驱动D/A转换锁存器I/O接口A/D转换控制数字量数字量温度流量模拟量微机系统工业生产过程电压量信号处理传感器变送器电流量多路开关采样保持器.........4第10章A/D与D/A转换器接口

二、模拟量输入输出通道

常常把D/A与A/D转换的相关器件集中做在一块接口电路板上,称为模拟量输入输出通道。它主要由以下几个部件组成:

1、传感器(变送器)把外部的物理量(例如:声音、温度、压力、流量等)转换成电流或电压信号。

2、A/D转换器它是输入通道的核心环节,其作用是将电压表示的模拟量转换成数字量,送计算机处理。

A/D转换器输入模拟信号通常有以下几种电压范围:单极性为0~5V、0~10V、0~20V,双极性为±2.5V、±5V、

±10V等。

3、信号处理传感器输出的信号通常比较微弱,不能满足ADC的要求,需要经过放大,获得ADC所要求的输入电平范围。安装在现场的传感器及其传输线路容易受到干扰信号的影响,因此还需要加接滤波电路,滤去干扰信号。5第10章A/D与D/A转换器接口

4、多路开关需要监测或控制的模拟量往往多于一路,许多模拟量变化缓慢。这时,可以使用多路模拟开关,轮流接通其中的一路,使多路模拟信号共用一个ADC进行A/D转换。5、采样/保持器进行A/D转换需要一定的时间,与此同时,模拟信号随时间不断地变化。如果在一次转换期间,输入的模拟量有较大的变化,那么转换得到的结果会产生误差,甚至发生错误。

A/D转换期间保持输入信号不变的电路称为采样/保持电路。转换开始之前,采样/保持电路采集输入信号(采样),转换进行过程中,它向A/D转换器保持固定的输出(保持)。对于缓慢变化的模拟量,采样/保持电路可省去。6、D/A转换器

D/A转换器将成数字量转换成模拟量输出。

6第10章A/D与D/A转换器接口

10.1数/模转换器D/A一、D/A转换原理模拟转换标准电压(+/-10V、5V)放大器数字开关控制数字接口…电流ΣIi电压D0D1D2Dn待转换的数字量经数字接口控制各相应的开关,以接通或断开各自的解码电阻,从而改变标准电源经电阻解码网络所产生的总电流ΣIi。

该电流经放大器放大后,输出与数字量相对应的模拟电压。数字接口通常由锁存器组存,用来锁存被转换的数字量。7第10章A/D与D/A转换器接口

1、由权电阻网络和运算放大器构成的D/A转换换器数字量是由一位一位的数字构成的,每个数位都代表一定的权。如10000001,为了把一个数字量变为模拟量,必须把每一位上的代码按照权来转换为对应的模拟量,再把各模拟量相加,得到的总的模拟量便对应于给定的数据。在集成电路中通常采用T型网络实现数字量往模拟电流的转换,再利用运算放大器来完成模拟电流到模拟电压的转换。VoVREFD3D2D1D0R2R4R8RRf8第10章A/D与D/A转换器接口

VREF是标准电源,运算放大器输入端的各支路对应待转换数据的第0位、第1位………第n位。支路中的开关由对应的数位来控制,如果数位为1,则对应的开关闭合;如果数位为0,则对应的开关打开。各输入支路中的电阻分别为R、2R、4R……这些电阻为权电阻。现在输入端有4个支路,从4个开关全部断开到全部闭合,运算放大器可以得到16种不同的电流输入。通过电阻网络,可以把0000~1111转换成大小不同的电流,

从而可以在运算放大器输出端得到大小不同的电压。如果由数字0000每次增1,一直变化到1111,那么就可以得到一个阶梯波电压。9第10章A/D与D/A转换器接口

2、T型权电阻网络在D/A转换时,采用独立的权电阻,那么对于一个8位的D/A转器,需要R、2R、4R………128R等共8个电阻,最大电阻的阻值是最小电阻阻值的128倍,而对这些电阻的误差要求又比较高,很难实现。通常用T型电阻网络代替单一的权电阻支路,采用T型网络时,整个网络只需要R和2R两种电阻。VREF

2R2R2R2R2RRRRK3K2K1K020Vo-+ABC212223RfbD10第10章A/D与D/A转换器接口

开关向左,支路电阻接地,只有开关向右倒,才能给运放输入端提供电流。在T型电阻网络中,节点A的左边为两个2R的电阻并联,它们的等效电阻为R,节点B左边也是两个2R的电阻并联,结果等效电阻也是R……,最后在D点等效于一个数值为R的电阻连在参考电压VREF

上。则C、B、A点的电位为-VREF/2、-VREF/4、-VREF/8R-2RT型电阻网络VREF

2R2R2R2R2RRRRK3K2K1K020Vo-+ABC212223RfbD11第10章A/D与D/A转换器接口

当K3向右倒时,运算放大器的输入电流为-VREF/2R当K2向右倒时,运算放大器的输入电流为-VREF/4R当K1向右倒时,运算放大器的输入电流为-VREF/8R当K0向右倒时,运算放大器的输入电流为-VREF/16R开关K0、K1、

K2、

K3对应于1位二进制,当二进制为1111时,流入运放的电流为I=-VREF/2R-VREF/4R-VREF/8R-VREF/16R=-VREF/2R(1/20+1/21+1/22+1/23)运放的输出电压Vo=I×Rfb输出电压与输入的二进制数、运放的反馈电阻Rfb及标准电压VREF有关VREF

2R2R2R2R2RRRRK3K2K1K020Vo-+ABC212223RfbD12第10章A/D与D/A转换器接口

3、分辨率和精度(1)分辨率:阶梯波的每一级增量对应输入数据的最低数位1。在

D/A转换时,将最低位增1所引起的增量和最大输入量的比称分辨率。分辨率=1/(2n-1)≈1/2n

也可以指D/A转换器能够转换的二进制数的位数。(2)转换精度:指D/A转换器实际输出电压与理论值之间的误差。一般采用数字量的最低有效位作为衡量单位,如:

±1/2LSB。

例如:如果分辨率为8位,则它的精度是:

±(1/2)×(1/256)=±1/512

(3)转换时间:指数字量从输入到完成转换,输出达到最终值并稳定为止所需的时间。(4)线性度:指数字量变化时,D/A转换器输出的模拟量按比例关系变化的程度。13第10章A/D与D/A转换器接口

二、DAC08321、DAC0832的引脚CS1WR12AGND3DI34DI25DI16DI07VREF8Rfb9DGND1020191817161514131211VccILEWR2XFERDI4DI5DI6DI7Iout2Iout114第10章A/D与D/A转换器接口

2、内部结构

DAC0832内部有一个T型电阻网络,用来实现D/A转换,它需要外接运算放大器,才能得到模拟电压输出。在DAC0832中有两级锁存器,所以DAC0832可以工作在双缓冲器工作方式,在输出模拟信号的同时可以采集下一个数字,转换速度快。当ILE为高电平、CS、WR1为低电平时,LE1为1,输入寄存器的输出随输入而变化。当WR1为高电平、LE1为低电平时,数据被锁存到输入寄存器中。当XFER、WR2为低电平,LE2为高电平时,8位的

DAC寄存器的输出随输入而变化,当WR2为高电平、LE2为低电平可将输入寄存器的信息锁存到DAC寄存器中。为了用DAC0832进行数/模转换,可以使用两种方法对数据进行锁存:一是输入寄存器工作在锁存状态,而DAC寄存器工作在不锁存状态;二是输入寄存器工作在不锁存状态,而DAC寄存器工作在锁存状态。CS:片选信号,它和允许输入锁存信号ILE合起来决定WR1是否起作用。ILE:允许锁存信号。WR1:写信号1,它作为第一级锁存信号将输入数据锁存到输入寄存器中,它必须和CS、ILE同时有效。WR2:写信号2它将锁存在输入寄存器中的数据送到8位DAC寄存器中进行锁存,此时XFER必须有效。XFER:传送控制信号,用来控制WR2。VREF:参考电压输入端,+10~-10V范围。IOUT1:模拟电流输出端,当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。IOUT2:模拟电流输出端,IOUT2为一个常数和IOUT1的差,

IOUT1+IOUT2=常数。Rfb:反馈电阻引出端,DAC0832内部已有反馈电阻,Rfb可以直接接到外部运算放大器的输出端。8位输入寄存器8位DAC寄存器8位D/A转换器DI0~DI7ILECSWR1WR2XFERLE1LE2VREFIOUT2IOUT1RfbAGND153、DAC0832的工作过程

(1)CPU执行输出指令,输出8位数据给DAC0832;(2)在CPU执行输出指令的同时,使ILE、WR1、CS

三个控制信号端都有效,8位数据锁存在8位输入寄存器中;(3)当WR2、XFER二个控制信号端都有效时,8

位数据再次被锁存到8位DAC寄存器,这时8位D/A转换器开始工作,8位数据转换为相对应的模拟电流,从IOUT1和IOUT2输出。第10章A/D与D/A转换器接口

16第10章A/D与D/A转换器接口

4、工作方式

(1)双缓冲方式

ILE接+5V,WR1、WR2与CPU的IOW连接,用CS作为输入寄存器的片选信号,XFER为DAC寄存器的片选信号。数据写入时分两次进行,第一次对输入寄存器写入待转换的数字量,第二次对DAC写操作启动DAC寄存器的锁存功能。

特点:在D/A转换的同时,可接收下一个待转换的数据,转换速度快。

(2)单缓冲方式使两个寄存器中的一个处于直通状态。写入数据后开始D/A转换。可将WR1(WR2),XEFR接地,使两个寄存器中的一处于直通状态,ILE接+5V,WR2(WR1)接CPU的IOW,CS接端口译码器,只对CS端时行一次写操作,数据写入后A/D转换。

(3)直通方式两个寄存器均处于直通状态,此时ILE接+5V,CS、WR1、WR2

和XFER都接地。输入的数据可立即进行D/A转换,但由于输入不使用缓冲寄存器,所以不能和计算机系统的数据线相连。17第10章A/D与D/A转换器接口

DAC0832CSILEXFERWR1WR2CA3140-+VOUT191112CS1DAC0832CSILEXFERWR1WR2CA3140-+VOUT291112CS2DAC0832CSILEXFERWR1WR2CA3140-+VOUT391112CS3WRXFERILE18第10章A/D与D/A转换器接口

5、DAC0832的应用例1:采用单缓冲方式,通过DAC0832输出产生三角波,三角波最高电压5V,最低电压0V。

(1)电路设计所要考虑的问题

①从CPU送来的数据能否被保存

DAC0832内部有二级锁存寄存器,从CPU送来的数据能被保存,不用外加锁存器,可直接与CPU数据总线相连。

②二级输入寄存器如何工作

按题意采用单缓冲方式,即经一级输入寄存器锁存。

假设我们采用第一级锁存,第二级直通,

那么第二级的控制端WR2和XFER应处于有效电平状态,使第二级锁存寄存器一直处于打开状态。第一级寄存器具有锁存功能的条件是ILE、CS、WR1都要满足有效电平。为减少控制线条数,可使ILE一直处于高电平状态,控制WR1和

CS端。

③输出电压极性

按题意输出波形变化范围为0V~5V,需单极性电压输出。19第10章A/D与D/A转换器接口

D0~D7

WR1

译码器A0~A15CSIout1

Iout2

输出RwXEFRWR2DGND

VREFVCCILE+5VAGND

-5V8310DAC0832Rf91112-+A019208088D0~D7

WR

2171814A0H20第10章A/D与D/A转换器接口

(2)软件设计所要考虑的问题

①单缓冲方式下输出数据的指令仅需一条输出指令即可。如图CS端与译码电路的输出端相连,其地址数既是选中该DAC0832芯片的片选信号,也是第一级寄存器打开的控制信号。另外由于CPU的控制信号WR与

DAC0832的写信号WR1相连,当执行OUT指令时,CPU的WR1写信号有效,与

CS信号一起,打开第一级寄存器,输入数据被锁存。

假设DAC0832地址为04A0H,输出0V电压程序如下:

MOVAL,00H

;设置输出电压值

MOVDX,4A0H;DAC0832片选地址

OUTDX,AL;输出数据,使DAC0832

;输出端得到0V模拟电压;输出21第10章A/D与D/A转换器接口

开始设初值AL←00H输出AL=AL+1AL=AL-1输出AL=0FFH?AL=00H?YYNN22第10章A/D与D/A转换器接口

②按题意产生三角波电压范围为0V~5V,那么所对应输出数据

00H~FFH。所以三角波上升部分,从00H起加1,直到FFH。三角波下降部分从FFH起减1,直到00H。

单缓冲方式下程序如下:

MOVAL,00H;设置输出电压值

MOVDX,04A0H;DAC0832芯片地址送DXAA1:OUTDX,ALINCAL;修改输出数据

CMPAL,0FFHJNZAA1AA2:OUTDX,ALDECAL;修改输出数据

CMPAL,00HJNZAA2JMPAA123第10章A/D与D/A转换器接口

例2:产生两个不同极性的方波信号,相位关系如图,试进行软硬件设计。

分析:

(1)从图可看出u1是单极性的方波,u2是双极性的方波,需二个DAC0832转换器,一个为单极性输出,另一个为双极性输出。(2)u1产生正跳变时,u2也产生正跳变,u1产生负跳变时,u2也产生负跳变,要求二个DAC0832的输出波形同步,因而DAC0832的工作方式需采用双缓冲式。5V0V+1.2V-2.0Vu2u10Vtt24第10章A/D与D/A转换器接口

(3)需要三个地址值,第一个地址作为第一片DAC0832的片选信号,第二个地址作为第二片DAC0832的片选信号,第三个地址作为同时打开两个DAC0832的8位DAC寄存器的控制信号,该信号连接到两片0832的XFER端。(4)第二片0832输出电压范围为-2.5V~+2.5V,可题目要求产生方波的电压范围为-2.0V~+1.2V,模拟电压所对应的数字量计算方法如下:Dx=(Vx-V2)×0FFH/(V1-V2)其中V1为上限范围电压,等于+2.5V;V2为下限范围电压,等于-2.5V;Vx为待输出电压值。1.2V对应的数字量等于BCH,-2.0V对应的数字量等于19H。(5)在双缓冲方式时,需要

执行两条输出指令。第一条输出指令打开DAC0832的输入寄存器,把来自CPU的8位数据送入8位输入寄存器锁存。第二条输出指令打开8位DAC

寄存器,使输入的数据通过DAC寄存器送到D/A转换器中进行转换。但第二条输出

指令中

输出的

数据无意义,此指令只为使

XFER控制引脚有效,打开8位DAC寄存器。25第10章A/D与D/A转换器接口

D0~D7A0~A158086CPUIOWDI0~DI7ILERfbIOUT1IOUT2VREFWR2WR1XFERCS译码器4A0H-+A1VOUT1+5V(-5V)VR1DAC0832DI0~DI7ILERfbIOUT1IOUT2VREFWR2WR1XFERCS-+A2VOUT2+5V(+2.5V)VR1DAC08324A2H4A4H-+A32R2RRVR26第10章A/D与D/A转换器接口

程序如下:

AA1∶ MOV AL,00H ;设定输出电压值

MOV DX,04A0H ;设置第一片DAC0832地址

OUT DX,AL ;数据被锁存在8位输入寄存器

MOV AL,19H ;输出电压-2.0V对应数字值

MOV DX,04A2H ;设置第二片DAC0832地址

OUT DX,AL ;数据被锁存在8位输入寄存器

MOV DX,04A4H ;设置二片0832共用地址

OUT DX,AL ;启动两片DAC0832同时转换

CALL YS MOV AL,0FFH ;输出电压5V对应数字值

MOV DX,04A0H ;设置第一片DAC0832地址

OUT DX,AL MOV AL,0BCH ;输出电压1.2V对应数字值

MOV DX,04A2H ;设置第二片DAC0832地址

OUT DX,AL MOV DX,04A4H ;设置二片DAC0832共用地址

OUT DX,AL ;启动两片DAC0832同时转换

CALL YS JMP AA127第10章A/D与D/A转换器接口

例3:采用直通方式,利用DAC0832产生锯齿波,波形范围为0V~5V。

分析:

(1)由于采用直通方式,即DAC0832的8位输入寄存器、8位DAC

寄存器一直处于直通状态,因此要求控制端ILE接高电平,

CS、WR1、WR2、XFER接地。(2)由于采用直通方式,CPU输出的数据可直接到达DAC0832的

8位D/A转换器进行转换。在这种情况下,如果还是把

DAC0832D/A转换器的数据输入端直接连在CPU数据总线上,会造成CPU数据总线上只能有D/A转换所需要的数据流,数据总线上的任何数据都会导致D/A进行变换和输出,这在实际工程中是不可能的。因而DAC0832D/A转换器的数据输入端不能直接连在CPU数据总线上,来自CPU

数据总线上的数据必须经锁存后才能传送到DAC0832

D/A转换器的输入端。本题采用将DAC0832数据输入端连接到8255A的A口,通过8255A的A口将来自CPU

的数据锁存。(3)波形范围为0V~5V,单极性输出。(4)锯齿波上升部分,采用数据值加1的方法,使输出数据由00H

变化到0FFH。在下降时由0FFH突变到00H,不用采用重新赋00H的方法,0FFH加1自动变为00H。28第10章A/D与D/A转换器接口

DA0~DA7A0CSDI0~DI7ILERfbIOUT1IOUT2VREFWR2WR1XFERCS译码器8255A-+AVOUT+5V-5VDAC0832数据总线VCCA1D0~D7A0A129第10章A/D与D/A转换器接口

设8255A芯片各口地址分别为04A0H,04A2H,04A4H,04A6H。

MOV DX,04A6H;8255A控制口地址送DX MOV AL,80H ;设置8255A工作方式控制字

OUT DX,AL MOV DX,04A0H;设置8255A的A口地址

MOV AL,00H ;输出电压0V对应数值AA1∶ OUT DX,AL INC AL ;数值加1 JMP AA130第10章A/D与D/A转换器接口

练习:判断下面连接图中DAC0832属于哪一种工作方式?画出DAC0832其它两种工作方式的连接示意图。使两个寄存器中的一个处于直通状态。写入数据后开始D/A转换。可将WR1(WR2),XEFR接地,使两个寄存器中的一处于直通状态,ILE接+5V,WR2(WR1)接CPU的IOW,CS接端口译码器,只对CS端时行一次写操作,数据写入后A/D转换DAC0832D0~D7IOW

WR1

译码器AB

M/IOCSIout1

Iout2

输出RfbXEFRWR2DGND

VREFVCCILE+5V31第10章A/D与D/A转换器接口

DAC0832D0~D7IOW

WR1

译码器AB

M/IOCSIout1

Iout2

输出RfbXEFRWR2DGND

VREFVCCILE+5V双缓冲方式:

ILE接+5V,WR1、WR2与CPU的IOW连接,用CS作为输入寄存器的片选信号,XFER

为DAC寄存器的片选信号。数据写入时分两次进行,第一次对输入寄存器写入待转换的数字量,第二次对DAC写操作启动DAC寄存器的锁存功能。32第10章A/D与D/A转换器接口

直通方式:两个寄存器均处于直通状态,此时ILE接+5V,CS、WR1、WR2和XFER都接地。输入的数据可立即进行D/A转换,但由于输入不使用缓冲寄存器,所以不能和计算机系统的数据线相连。DAC0832D0~D7并行接口或锁存器CSIout1

Iout2

输出RfbXEFRDGND

VREFVCCILE+5VWR2WR133第10章A/D与D/A转换器接口

例:结合程序分析下面连接图,DAC0832工作在何种方式下?并分析下面程序段的运行结果。8255A的端口地址为300H~303H。CPU8255APA0~7PB4PB3PB2PB1PB0DAC0832DI0~7ILECSWR1WR2XEFRIout1

Iout2

示波器RfbRfbIOUT1IOUT234第10章A/D与D/A转换器接口

CODESEGMENTASSUMECS:CODESTART:MOVDX,303HMOVAL,10000000BOUTDX,ALMOVDX,301HMOVAL,00010000BOUTDX,ALMOVDX,300HMOVAL,0L1:OUTDX,ALINCALJNZL1MOVAL,0FFHL2:OUTDX,ALDECALJNZL2JMPL1CODEENDS

ENDSTARTCPU8255APA0~7PB4PB3PB2PB1PB0DAC0832DI0~7ILECSWR1WR2XEFRIout1

Iout2

示波器RfbRfbIOUT1IOUT2此程序能否退出?应采取什么措施使程序能退出?35第10章A/D与D/A转换器接口

CPU8255APA0~7PB4PB3PB2PB1PB0DAC0832DI0~7ILECSWR1WR2XEFRIout1

Iout2

示波器RfbRfbIOUT1IOUT2CODESEGMENTASSUMECS:CODESTART:MOVAH,1INT16HJNZEXITMOVDX,303HMOVAL,10000000BOUTDX,ALMOVDX,301HMOVAL,00010000BOUTDX,ALMOVDX,300HMOVAL,0L1:

OUTDX,ALINCALJNZL1

MOVAL,0FFHL2:

OUTDX,ALDECALJNZL2JMPL1EXIT:MOVAH,4CHINT21HCODE

ENDSENDSTART36第10章A/D与D/A转换器接口

1、一个8位D/A转换器的分辨能力可以达到满量程的()。

A、1/8B、1/16C、1/64D、1/2562、一个8位D/A转换器,若精度为1/2LSB,则其最大可能误差为()。

A、满量程的1/2B、满量程的1/8C、满量程的1/256D、满量程的1/5123、如果一个D/A转换器的精度为0.1%,则其最大可能误差为()。

A、最大输入的的0.1%B、电源电压的0.1%C、满量程电压的0.1%D、输出电压的0.1%4、一台PC机的扩展槽中已插入一块D/A转换器模板,其口地址为280H,执行下列程序段后,D/A转换器输出波形是()。

DAOUT:MOVDX,280H

MOVAL,00HLOOP:OUTDX,ALDECALJMPLOOP

A、三角波B、锯齿波C、方波D、正弦波

37第10章A/D与D/A转换器接口

10.2模数转换器A/D一、A/D转换的过程

要经过采样、量化和编码三个阶段。

(1)采样

模拟信号的大小随着时间不断地变化,为了通过转换得到确定的值,对连续变化的模拟量要按一定的规律和周期取出其中的某一瞬时值进行转换,这个值称为采样值。为了给后续的量化编码过程提供一个稳定值,取样电路每次取得的模拟信号必须通过保持电路保持一段时间。一般来说,取样与保持过程往往是通过取样—保持电路S/H同时完成的。

S/H电路实质上是一种模拟信号存储器,它在数字指令控制下使开关通断,对输入信号进行采样并寄存。38第10章A/D与D/A转换器接口

(2)量化

数字信号是时间上离散、幅值上也离散的不连续信号,任何一个数字量的大小只能是某个规定的最小基本数量单位的整数倍。取样保持后的信号是时间上离散但阶梯幅值仍是连续可变的有无限个数值的电压信号,为将这种信号进一步转换为反映其大小的数字信号,必须将全部取样阶梯信号变成最小量化单位电平的整数倍。这种将取样电压幅值按某种近似方式进行取整、归一化到与之相应的离散电平上的转化过程称为数值量化,简称量化。39第10章A/D与D/A转换器接口

量化过程中所取的最小数量单位称为量化单位,用Δ表示,是数字信号最低位为1时所对应的模拟量,即1LSB,又称为量化当量或量化间隔。对n位二进制数对应2n个不同的离散电平量化值,取样信号的幅值量化后只能对应这些规定的有限的离散电平,若取样电压幅值介于两个离散电平之间,则取样电压不能被Δ整除,这时一般采用两种方法量化,即舍尾取整法和四舍五入法。舍尾取整法是当取样电压ui介于两个量化值之间时,采取只舍不入的方法,将ui中不足一个Δ的尾数部分舍去,取其整数。例如,取Δ=1V,取样电压ui=2.6V,则量化值为2V=2Δ。

四舍五入法即当ui的尾数不足1/2Δ时,舍尾取整得到量化值;当ui

的尾数大于1/2Δ时,则取尾入整,即在原整数上加1Δ。例如,取Δ=1V,若取样电压ui=2.4V,则量化值为2V=2Δ;若取样电压ui=2.6V,则量化值为3V=3Δ。40第10章A/D与D/A转换器接口

在量化过程中,由于取样电压不一定能被Δ整除,所以量化前后不可避免地存在误差,称为量化误差,用ε表示。它属于原理误差,无法消除,由上面分析可知;量化误差ε与量化单位Δ的选取有关,若要减小量化误差,应减小量化单位,即减小Δ所代表的数值。当输入模拟电压最大值uim一定时,二进制位数n越大即A/D转换器的位数越多,量化误差越小。所采用的量化方法不同,可能出现的最大量化误差也不同,用舍尾取整法量化时,εmax=1Δ;用四舍五入法时εmax=1/2Δ。因此用四舍五入法量化时,最大量化误差较小,绝大多数A/D集成转换器采用此量化方式。41第10章A/D与D/A转换器接口

例:设输入的模拟信号ui电压的变化范围为0~8V,A/D转化器输出的数字量用3位二进制表示。要求对ui

采用四舍五入法进行量化与编码,并估计量化误差。解:按四舍五入法量化,所以取Δ=16/15V,

量化与编码过程中将不足半个量化单位部分舍弃,将大于等于半个量化单位部分按一个量化单位处理。具体如下:若输入的模拟信号电压0V≤ui<1/2Δ=8/15V,量化后当作0Δ,

编码为二进制数000;若1/2Δ≤ui<3/2Δ=24/15V,量化后当作

1Δ,编码为二进制001;若3/2Δ≤ui<5/2Δ,量化后当作2Δ,

编码为二进制010;依次类推,若13/2Δ≤ui<15/2Δ=8V,量化后当作7Δ,编码为二进制111。42第10章A/D与D/A转换器接口

(3)编码

量化得到的数值通常用二进制表示,对有正负极性(双极性)的模拟量一般采用偏移码表示,数值为负时符号位为0,为正时符号位为1。例如,8位二进制偏移码10000000代表数值0,00000000代表负电压满量程,11111111代表正电压满量程。43第10章A/D与D/A转换器接口

二、A/D转换原理

A/D转换的方法很多,常用的有逐次逼近法、双积分法及跟踪计数式、∑-△型等。

1、双积分型A/D转换器双积分式也称二重积分式。这种方式的转换中有两个积分时间:一个是用模拟输入电压对电容积分的时间T0,这个时间是固定的;另一个是以电容充电后的电压为初值,对参考电源VRef反向积分,也就是积分电容被放电至零所需的时间T1(或T2等)。双积分型A/D转换器是间接型A/D转换器,属于电压-时间变换型,把输入模拟信号转换成与之成正比的中间变量-时间,然后再把这一中间变量信号转换为相应数字信号,从而完成转换。

D=T0*ui/(T1*Vref)=N*ui/Vref

由于双积分型A/D转换是测量输入电压Vi在T0时间内的平均值,所以对常态干扰(串模干扰)有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好。双积分型的A/D转换器电路简单,抗干扰能力强,精度高,但是转换速度比较慢,通常为ms级,一般用于低频信号的测量。44第10章A/D与D/A转换器接口

时钟控制逻辑计数器VRef基准电压输入电压积分器检零比较器VoutFViKRC-+…数据输出T0T2T1tV1>V2V2V1VA1VA245第10章A/D与D/A转换器接口

2、逐次逼近式+-8位D/A转换器CLK转换结束(EOC)启动信号(start)逐次逼近寄存器

Vi>Vo输出为“高”比较器Vi输出的模拟电压VoVoVi≤Vo输出为“低”D0~D7缓冲寄存器控制电路46第10章A/D与D/A转换器接口

启动信号使逐次逼近寄存器清0,Vo输出为0,当启动信号结束后开始转换。在第1个CLK周期,控制电路使逼近寄存器最高位为(10000000)。这一组数字通过内部D/A转换之后,产生一个Vo,如果Vi>Vo,比较器输出为“高”,通过控制电路使刚才的置1位保留下来。在第2个CLK周期,再使次高位为1(11000000),如果它产生的Vo比Vi大,则比较器输出“低”,通过控制电路使刚才置1位清0接下来再使D5位置1……直到D0位试探完毕。+-8位D/A转换器CLK转换结束(EOC)启动信号(start)逐次逼近寄存器

Vi>Vo输出为“高”比较器Vi输出的模拟电压VoVoVi≤Vo输出为“低”D0~D7缓冲寄存器控制电路47第10章A/D与D/A转换器接口

VX终值00100100011010001100VC(1000)(0100)(0110)(0101)0D3D2D1D0t48第10章A/D与D/A转换器接口

逐次逼近式的A/D转换器的主要特点是:(1)转换速度较快,转换时间在1~100μs以内,分辨率可达18位,特别适用于高精度、高频信号的A/D转换;(2)转换时间固定,不随输入信号的大小而变化;(3)抗干扰能力较双积分型弱。模拟信号输入采样过程中,若在采样时刻一个干扰脉冲迭加在模拟信号上,则采样时,干扰信号被采样和转换为数字量,这就会造成较大的误差,所以需要采取适当的滤波措施。49第10章A/D与D/A转换器接口

3、跟踪计数式模数转换器跟踪计数式AD转换由可逆计数器、DA转换器、模拟信号比较器和控制逻辑组成。转换开始后,计数器的当前值由D/A转换器转换成模拟信号Vo,与需要转换的模拟信号Vx

进行比较。如果Vx>Vo,则计数器加1计数;如果Vx<Vo,计数器减1计数,最终计数器的值就是模拟量

Vx所对应的数字量。从原理上来说,跟踪计数式AD转换可以达到很高的精度,它的转换速度慢于相同频率工作的逐次逼近AD转换器。但是如果采用高速的计数和转换器件,也能达到较高的转换速度。50第10章A/D与D/A转换器接口

8位D/A转换器8位可逆计数器D7D6D5D4D3D2D1D0-+VXVOCCLK51第10章A/D与D/A转换器接口

4、∑-△型模数转换器∑-△型模数转换器是一种新型的模-数转换器件,由积分器、比较器、1

位DAC组成。设输入模拟量Vin=1/4VREF,积分器初始输出0(B=0),比较器在每个时钟周期的开始处输出1位比较结果,初始输出0(C=0)。它的转换过程如下:

T1:C=0,1位DAC输出-VREF,于是A=+5/4VREF,B点电位由

0上升,比较器输出C=1;T2:C=1,1位DAC输出+VREF,A=-3/4VREF,B点电位开始下降,比较器仍输出C=1;T3:C=1,1位DAC输出+VREF,A=-3/4VREF,B点电位继续下降,比较器输出C=0;T4:C=0,1位DAC输出-VREF,A=+5/4VREF,B点电位上升,比较器输出C=1;......

继续上述过程,

如果输入模拟量Vin

的大小不变,比较器输出将为:011011010......。用一个计数器纪录C端的输出,收到1加

1计数,收到0减1计数(收到8bit

信号后开始执行),于是,计数器的值顺序为:5,4,5,4,......。52第10章A/D与D/A转换器接口

DABC∫-+CLK1位比较器积分器∑+VREF-VREF1位DAC1位数据流VIN+-∑-△调制器ABCD01101101-VREF+VREF=5/8-(3/4)VREF+(5/4)VREF53第10章A/D与D/A转换器接口

基准电源+VREF和-VREF,决定了输入模拟量的范围,变化范围的绝对值等于

2VREF。Vin(1/4VREF)对应的数字量为+1/8(相对值),转换成偏移码则为5/8(相对值),它正是上述计数器的输出。

从上述过程可以看出:∑-△型模数转换器以串行数据流的方式输出结果;转换精度为1LSB;

转换完成后,比较器输出0/1相间的数字流;输入模拟量Vin发生变化,输出数字流随之变化。由于这种类型的转换器是根据二次采样的差进行计算的,所以,当模拟量输入端接有多路开关时,通道切换后要等待足够长的时间,才能读取转换结果。∑-△型模数转换器有很强的抗干扰能力,转换精度高,常用于高分辨率(常见为16、18、24位)的中、低频信号测量。AD7714(美国ADI公司)就是这样的一个芯片,转换精度24位,以串行方式输出数据。54第10章A/D与D/A转换器接口

三、A/D转换器的主要技术指标

1、分辨率

分辨率反映A/D转换器对输入微小变化的响应能力,通常用数字量最低位(LSB)所对应的模拟输入电平值表示。由于分辨率直接与转换器的位数有关,所以也可简单地用数字量的位数来表示分辨率。值得注意的是,分辨率与精度是两个不同的概念,不要把两者混淆。即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。

2、精度

精度有绝对精度和相对精度两种表示方法。

(1)绝对误差

绝对误差等于实际转换结果与理论转换结果之差,通常以数字量的最小有效位(LSB)的分数值来表示。例如,±1LSB,±1/2LSB,±1/4LSB等。绝对误差包括量化误差和其他所有误差。

(2)相对误差

相对误差是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。55第10章A/D与D/A转换器接口

例如:满量程为10V,10位A/D芯片,若绝对精度为±1/2LSB,则量化单位△=9.77mV,其绝对精度为1/2△=4.88mV,其相对精度为

4.88mV/10V=0.048%。

3、转换时间转换时间是指完成一次A/D转换所需要的时间,即由发出转换命令信号到转换结束信号开始有效的时间间隔。转换时间的倒数称为转换速率。例如,AD574的转换时间为

25μs,其转换速率为40KHz。4、量程量程是指所能转换的模拟输入电压范围,分单极性、双极性两种类型。例如:单极性常见量程为0~+5V,0~10V,0~20V;

双极性量程通常为-5V~+5V,-10V~+10V。56第10章A/D与D/A转换器接口

5、逻辑电平及方式

多数A/D转换器输出的数字信号与TTL电平兼容,以并行方式输出。在考虑数字量输出与微处理器的数据总线接口时,应注意是否能够三态输出,是否需要对数据进行锁存等。∑-△A/D转换芯片分辨率高达24位,一般以串行方式输出数据,这对单片机类CPU连接是很方便的。6、工作温度范围

由于温度会对比较器、运算放大器、电阻网络等产生影响。一般A/D转换器的工作温度范围一般为

0~70℃,军用品为-55℃~+125℃。57第10章A/D与D/A转换器接口

四、A/D转换器与处理器的接口方法

1、A/D转换器与CPU的连接

(1)分辨率(2)输出锁存器(3)启动信号

2、A/D转换器接口的主要操作(1)通道选择(2)转换启动信号(3)取回“转换结束”状态信号(4)读取转换的数据(5)发采样/保持控制信号

3、A/D转换数据的传送

(1)查询方式(2)中断方式(3)DMA方式(4)在A/D转换器板上设置RAM58第10章A/D与D/A转换器接口

五、ADC0809模数转换芯片1、ADC0809的引脚12345678910D2IN3IN4IN5IN6IN7STARTEOCD3OECLKVccVREF(+)11121314GNDD1VREF(-)D0D4D5D6D7ALEADDCADDBADDAIN2IN1IN02827262524232221201918171615

ADC0809是逐次逼近型8位A/D转换芯片。片内有8路模拟开关,可以同时连接8路模拟量,单极性,量程为0~5V。典型的转换速度为100μs。片内有三态输出缓冲器,

可直接与CPU总线连接。该芯片有较高的性能价格比,适用于对精度和采样速度要求不高的场合或一般的工业控制领域。59第10章A/D与D/A转换器接口

IN0~IN7:8个模拟量输入端。ADDC~ADDA:模拟通道选择信号,000~111分别选择IN0~IN7。ALE:地址锁存允许信号,ALE有效时锁存ADDC~ADDA的通道选择信号。START:A/D转换启动信号,高电平时将寄存器清0,由高变低时开始转换,常与ALE短连,同时锁存通道选择信号,并开始A/D转换。CLK:实时时钟。EOC:转换结束信号,EOC由低到高表示转换结束,可作为CPU中断请示信号。OE:输出允许信号,OE有效时,打开输出三态门,输出转换后的数字量。2、ADC0809的内部结构8路模拟开关IN0IN7地址锁存译码ADDCADDBADDCALE+-逐次逼近寄存器控制与时序三态门D0~D7EOCSTARTCLK电子开关解码网络VccGNDVREF+VREF-OEIN1IN2IN3IN4IN5IN660第10章A/D与D/A转换器接口

3、ADC0809的时序

从时序图可以看出,ADC0809的一次转换分为以下几个阶段:

(1)在ALE信号的作用下,地址引脚ADDA~ADDC上的信号被锁存。随后,

由地址引脚选择的模拟信号被多路开关接通,进入ADC0809;(2)在启动脉冲START的作用下,A/D转换开始。(3)转换完成后,ADC0809转换结束信号EOC由低电平变为高电平,该信号可以作为状态信号由CPU查询,也可以作为中断请求信号通知CPU:一次A/D转换已经完成。(4)CPU在查询式I/O程序或中断服务程序中执行读

ADC0809数据端口的指令,该指令经地址译码电路产生高电平的OE有效信号,打开输出三态缓冲器,转换结果通过系统数据总线进入CPU。61第10章A/D与D/A转换器接口

STARTALEADDOEEOCD0~D7DATA62第10章A/D

温馨提示

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

评论

0/150

提交评论