第10章 模/数和数/模转换 10.1 概述 10.2 模/数与数/模转换通道的组成 10.3 模/数与数/模转换器的主要技术指标 第10章 模/数和数/模转换 10.1 概述 10.2 模/数与数/模转换通道的组成 10.3 模/数与数/模转换器的主要技术指标 10.4 模/数转换接口技术 10.5 数/模转换接口技术
教学目的和教学要求 通过本章的学习,使学生掌握模/数和数/模转换通道的基本组成、模/数与数/模转换器的主要技术指标,掌握A/D转换芯AD574及D/A转换芯片DAC0832分别与ISA总线的连接及应用编程。 了解常用模/数转换芯片和常用数/模转换芯片。
重点与难点 重点 模/数转换接口技术 数/模转换接口技术 难点 A/D转换芯AD574与ISA总线连接的原理 重点 模/数转换接口技术 数/模转换接口技术 难点 A/D转换芯AD574与ISA总线连接的原理 D/A转换芯片DAC0832与ISA总线连接的原理
10.1 概述 模拟量——连续变化的物理量 DAC 数字/模拟转换器 模拟/数字转换器 ADC 数字量——时间和数值上都离散的量
含有A/D与D/A转换的监控系统
10.2 模/数与数/模转换通道的组成 一般模/数转换通道由传感器、信号处理、多路转换开关、采样保持器以及A/D转换器组成。 10.2 模/数与数/模转换通道的组成 10.2.1 模/数转换通道的组成 一般模/数转换通道由传感器、信号处理、多路转换开关、采样保持器以及A/D转换器组成。
一、传感器(Transducer) 传感器:能够把非电物理量转换成电量(电流或电压)的器件,一般传感器由电容、电阻、电感或敏感材料组成,在外加激励电流或电压的驱动下,不同类型的传感器会随不同非电物理量的变化,引起传感器的组成材料发生改变,使得输出连续变化的电流或电压与非电物理量的变化成正比。
由于传感器组成材料发生改变引起输出电流或电压的变化十分微弱,容易受外界干扰,因此,在市场上能买到的各种变送器,已将传感器与放大电路制作在一起,输出统一标准的0~10mA或4~20mA电流,或0~5V电压,以便传输或直接送A/D转换器进行A/D转换,其中,4~20mA标准电流输出的传感器较为普遍,常说的流量变送器、压力变送器等一般输出4~20mA标准电流,内部处于恒流输出结构,显然电流型传感器比电压型传感器抗干扰能力强,易于远距离传输,因此,电流型传感器被广泛用于生产过程的检测系统中。
二、信号放大处理 如果是电流型输出传感器,要进行Ⅰ~Ⅴ变换与放大处理,将电流信号对应变换成电压信号。 信号放大处理电路,接在A/D转换器与传感器之间,用于解决以下存在问题: A/D转换器与传感器二者电压不匹配。 如果是电流型输出传感器,要进行Ⅰ~Ⅴ变换与放大处理,将电流信号对应变换成电压信号。 传感器工作在现场,可能存在复杂的强电磁波的干扰,通常采用RC低通滤波器,滤除叠加在传感器输出信号上的高频干扰信号,也可采用有源滤波技术,使得滤波特性更好。
三、多路转换开关(Multiplexer) 一个数据采集系统(A/D转换)往往要采集多路模拟信号。 通常只用一片A/D转换芯片,轮流选择输入信号进行采集,既节省了硬件开销,又不影响对系统的监测与控制。 许多A/D转换芯片内部具备多路转换开关,一片A/D转换芯片可以轮流采集多路模拟输入信号,如果A/D转换芯片不具有多路转换功能,则在A/D转换之前外加模拟多路转换开关。
常用的模拟多路开关介绍 1.CD4051B的基本结构 CD4051B采用了CMOS工艺,16脚DIP封装 八选一模拟多路开关
当使能端INH为0状态时,CD4051B才能选择导通,由选择输入端A2A1A0三位二进制编码来控制(CH0~CH7)八个输入通道的通断。该芯片能实现双向传输,即可以实现多传一或一传多两个方向的传送。
2.CD4051B与不同电平接口时的电源供电 CD4051B常用的两种电源供电方式如图10-3所示 ①与TTL或NMOS逻辑器件接口,如图10-3(a)所示,VDD=5V,VSS=0V,VSS作为数字信号的地,与TTL及NMOS电源相容。由于VEE接-5V,所以开关可以接通-5V~+5V之间的模拟信号。 ②与CMOS逻辑器件接口,如图10-3(b)所示,VDD=7.5V,VSS=0V,可作为CMOS逻辑器件的供电电源。而VEE=-7.5V,所以开关可以接通-7.5V~+7.5V之间的模拟信号。
3.通道的扩展 并接两片CD4051B,就可以扩展成为十六选一的模拟多路开关,如图10-4所示:
四、采样保持器(Sample Holder) 在A/D转换器进行采样期间,保持被转换输入信号不变的电路称为采样保持电路。 A/D转换器完成一次转换所需要的时间称为转换时间。 不同A/D转换芯片,其转换时间各异,对于连续变化较快的模拟信号如果不采取采样保持措施,将会引起转换误差。 慢速变化的模拟信号,在A/D转换系统中,完全可以不必采用采样保持电路,而且并不会影响A/D转换的精度。
1.采样/保持器的基本原理 采样保持器是指在逻辑电平的控制下处于“采样”或“保持”两种工作状态的电路,采样/保持示意图如图10-5所示,在采样状态下,电路的输出跟踪输入模拟信号,在保持状态下,电路的输出保持着前一次采样结束时刻的瞬时输入模拟信号,直到进入下一次采样状态为止。从图10-5中可以看出,经过对Vi的采样,V0的小平台电压值保持到下一次的采样开始,该稳定的“小平台”电压供A/D转换器进行A/D转换。
采样/保持示意图
2.常用的集成采样/保持器 按照集成型采样/保持器的性能可分为如下几类: ①通用采样/保持器芯片:例如AD582、AD583、LF198、LF298以及LF398等 ②高速采样/保持器芯片:例如HTS-0025、THS-0060、THC-1500以及ADSHM-5等 ③高分辨率采样/保持器芯片:例如SHA1144、AD389以及SHA6等 ④超高速采样/保持器芯片:例如THS-0010(压摆率300V/μs)及HTC-0300(压摆率250V/μs)等
AD582采样/保持器和LF398采样/保持器
五、A/D转换器(Analog to Digit) A/D转换器是模/数转换通道的核心环节,其功能是将模拟输入电信号转换成数字量(二进制数或BCD码等),以便由计算机读取、分析处理,并依据它发出对生产过程的控制信号。
10.2.2 数/模转换通道的组成 必须要将计算机输出的数字量转换成模拟的电流或电压,这个任务主要由数/模转换器来完成 10.2.2 数/模转换通道的组成 必须要将计算机输出的数字量转换成模拟的电流或电压,这个任务主要由数/模转换器来完成 数/模转换芯片一般内部设有输入锁存器,能将计算机输入给它的数字量锁存下来 需要有一级功率放大电路,将D/A输出的电流或电压放大到足以驱动执行机构
10.3 模/数与数/模转换器的主要技术指标 10.3.1 模/数转换器的主要技术指标 分辨率(Resolution) 10.3.1 模/数转换器的主要技术指标 分辨率(Resolution) 精度(precision) 量程(满刻度范围——Full Scale Range) 转换时间(Conversion Time) 线性度误差(Linearity Error)
一、分辨率(Resolution) 分辨率是指转换器所能分辨的被测量的最小值。通常用输出二进制代码的位数来表示。例如称八位A/D转换器的分辨率称为8位,它把模拟电压的变化范围分成28-1级(255级)。位数越多,分辨率越高。
二、精度(precision) (1)绝对精度:用最低位(LSB)的倍数来表示,如±(1/2)LSB或±1LSB等。 精度是指转换的结果相对于实际的偏差,精度有两种表示方法: (1)绝对精度:用最低位(LSB)的倍数来表示,如±(1/2)LSB或±1LSB等。 (2)相对精度:用绝对精度除以满量程值的百分数来表示,例如±0.05%等。 注意:分辨率与精度是两个不同的概念。
三、量程(满刻度范围——Full Scale Range) 量程是指允许输入模拟电压的变化范围。例如,某转换器具有0~10V的单极性输入模拟电压的范围,或-5V~+5V的双极性范围,那么,它们的量程都为10V。 应当指出,实际上A/D、D/A转换器的最大输出值总是比满刻度值小1/2n,n为转换器的位数,这是因为模拟量的0值是2n个转换状态中的一个,在0值以上,则有2n-1个梯级。
按通常习惯,转换器的模拟量范围总是用满刻度表示。例如12位的A/D转换器,其满刻度值为10V,而实际的最大输出值为:
四、转换时间(Conversion Time) 从启动转换开始直至转换出稳定的二进代码所需的时间称为转换时间。转换时间与转换器工作原理及其位数有关。同种工作原理的转换器,通常位数越多,其转换时间则越长。 五、线性度误差(Linearity Error) 理想的转换器特性应该是线性的,即模拟量输入与数字量输出成线性关系。线性度误差是转换器实际的模拟数字转换关系与理想直线不同而出现的误差,通常用多少LSB表示。
10.3.2 D/A转换器的主要技术指标 D/A转换器与A/D转换器的主要技术指标基本相同,只是转换时间的概念略有不同,D/A转换器的转换时间也称建立时间,是指当输入的二进制代码从最小值突然跳变到最大值时,其模拟输出电压相应的满度跳跃并达到稳定值所需的时间。一般而言,D/A比A/D的转换时间要短得多。
10.4 模/数转换接口技术 10.4.1 常用模/数转换芯片 ADC(Analog-Digital Converter)的功能是将输入模拟电压量转换为与其成比例的数字量,它是智能化测量与控制系统中的一种重要组成器件。按其工作原理,可分为比较式ADC、积分式ADC以及电荷平衡(电压-频率转换)式ADC等。 在实用中,应根据具体情况选用合适的ADC芯片。
不同的芯片具有不同的连接方式,其中最主要的是输入、输出以及控制信号的连接方式。从输入端来看,有单端输入的,也有差动输入的。差动输入有利于克服共模干扰。输入信号的极性有单极性和双极性输入,这由极性控制端的接法决定。
从输出方式来看,主要有两种: (1)在ADC芯片内部,数据输出寄存器具有可控的输出三态门,这类芯片输出线允许和计算机系统的数据总线直接相连,并在转换结束后可以利用输入输出读信号选通三态门,将转换成的数据送到计算机系统的数据总线上。 (2)在ADC芯片内部没有可控的输出三态门,输出寄存器直接与芯片数据输出引脚相连,这种芯片的数据输出引脚必须通过外加的三态门才能连到计算机系统的数据总线。
ADC芯片的启动转换信号有电平和脉冲两种形式。设计时应分别对待,对要求用电平启动转换的芯片,如果在转换过程中撤去电平信号,则将停止转换而得到错误的结果。
在ADC转换完成后,会发出转换结束信号,以示主机可以从模/数转换器读取转换后的数据。结束信号可以用来向CPU发出中断申请,CPU响应中断后,在中断服务子程序中读取数据。也可用查询转换是否结束的方法来读取数据,通过延时等待的方法来读取数据也是一种常用的简便方法,这是在采集速度要求并不高的情况下,启动ADC转换后,延时等待时间大于ADC的转换时间后便可以读取转换数据。
10.4.2 A/D转换芯片AD574 一、AD574的引脚功能 AD574是一种逐次逼近型12位A/D转换芯片,也可以用作8位A/D转换,转换时间为15~35μs,若转换成12位二进制数,可以一次读出,也可分成两次读出,即先读出高8位后读出低4位。AD574内部能自动提供基准电压,并具有三态输出缓冲器,使用十分方便。
图10-8 AD574的引脚图
各引脚定义如下 (1)REFOUT:内部基准电压输出端(+10V)。 (2)REFIN:基准电压输入端,该信号输入端与REFOUT配合,用于满刻度校准。 (3)BIP:偏置电压输入,用于调零。 (4)DB11~DB0:12位二进制数的输出端。 (5)STS:“忙”信号输出端,高电平有效。当其有效时,表示正在进行A/D转换。
(6)12/8*:用于控制输出字长的选择输入端。当其为高电平时,允许A/D转换并行输出12位二进制数;当其为低电平时,A/D转换输出为8位二进制数。 (7)R/C*:数据读出/启动A/D转换。当该输入脚为高电平时,允许读A/D转换器输出的转换结果;当该输入脚为低电平时,启动A/D转换。 (8)A0:字节地址控制输入端。当启动A/D转换时,若A0=1,仅作8位A/D转换;若A0=0,则作12位A/D转换。当作12位A/D转换并按8位输出时,在读入A/D转换值时,若A0=0,可读高8位A/D转换值,若A0=1,则读入低4位A/D转换值。
(9)CE:工作允许输入端,高电平有效 (10)CS*:片选输入信号,低电平有效 (11)10VIN:模拟信号输入端,允许输入电压范围±5V或0~10V (12) 20VIN:模拟量信号输入端,允许输入电压范围±10V或0~20V (13)+15V,-15V:+15V,-15V电源输入端 (14)AGND:模拟地 (15)DGND:数字地
AD574控制信号的功能表
二、AD574模拟输出电路的极性选择 从图10-8可以看出,它有两个模拟输入电压引脚10VIN和20VIN,即分别有10V和20V的动态范围,而且可以是单极性电压或双极性电压,通过改变AD574其它引脚的接法来实现 图10-9表示了常用的两种接法:
如果启动作为12位A/D转换,转换后的二进制数与模拟输入电压对应关系有下列4种: 000H~FFFH对应-5V~+5V 000H~FFFH对应0V~+10V 000H~FFFH对应-10V~+10V 000H~FFFH对应0V~+20V
AD574单极性与双极性输入时的连接方法
10.4.3 AD574与ISA总线的连接 一、AD574与ISA总线的前62根信号线连接成12位A/D转换 使用场合:数据采集系统的速度要求不高,主要追求数据采集的精度。
AD574单极性与双极性输入时的连接方法
例【10-1】 根据图10-10,AD574与8位数据总线相连接,编写实现12位A/D转换的程序段 采集程序如下: MOV DX, ;为偶地址 OUT DX,AL; 假输出,启动作12位A/D转换 CALL DELAY; 调用延时100μs(>35μs)的子程序(忽略) MOV DX, ; 为偶地址 IN AL,DX ; 读高8位 MOV AH,AL MOV DX, ; 为奇地址 IN AL,DX ; 从数据总线D7~D4位读入低4位
10.4.3 AD574与ISA总线的连接 二、AD574与ISA总线连接成12位A/D转换 如果对数据采集系统的速度要求较高,在上述采集电路的基础上作两点改变,一是12/8*接+5V,A/D转换的12位数据一次读出,二是采用查询方式或中断方式实现A/D转换,图10-11采用查询方式,假设转换结果信号STS经过三态门从数据总线的D0位读入计算机。 另外,AD574接成单极性输入,由于接到10VIN输入端,模拟输入电压为0~+10V。Y0*为查询端口,Y1*为AD574的片选,同样用地址线A0配合分别产生相应的奇地址和偶地址。
AD574与ISA总线的连接
例【10-2】根据图10-11,AD574与12位数据总线相连接,编写实现12位A/D转换的程序段 MOV DX, ;为偶地址 OUT DX,AL ;假输出,启动作12位A/D转换 AB:IN AL, ; 读入STS AND AL,01H ;假设STS从D0位读入计算机 JNZ AB ;如果STS=1未转换完,则循环 MOV DX, IN AX,DX ;从数据总线D11~D0一次读入12位二 进制数
如果需要使用中断方式实现A/D转换,则可利用ISA总线后36芯插槽上的保留中断,分别是IRQ10、IRQ11、IRQ12以及IRQ15,其中断型号分别是72H、73H、74H以及77H。电路上只需将AD574的STS取反后接至保留中断的输入端,编写程序时,需要将中断服务子程序的首地址装入所用中断类型号对应中断向量表中的双字存储单元中。
10.5 数/模转换接口技术 10.5.1 常用数/模转换芯片 DAC(Digital-Analog Converter)的功能是将数字量转换为与其成比例的模拟电压或电流信号,并对生产过程的控制对象进行各种控制。本节主要介绍DAC芯片的使用方法及其与并行总线的接口技术。
各种类型的DAC芯片都具有数字量输入端和模拟量输出端及基准电压端。 数字输入端有以下几种类型: ①无数据锁存器 ②带单数据锁存器 ③带双数据锁存器 ④只能接收并行数字输入 ⑤只能接收串行数字输入
与系统总线的接口. ①无数据锁存器与系统总线接口时,要外加锁存器 ②带单数据锁存器和③带双数据锁存器可直接与系统总线接口。 ④只能接收并行数字输入与并行总线相连接。 ⑤只能接收串行数字输入与串行数据线相连接,接收数据较慢,但适用于远距离现场控制的场合。
10.5.2 8位D/A转换芯片0832 一、8位 D/A转换芯片0832的组成 DAC0832为单片8位数/模转换器,可以直接与微机接口。片内有R-2R结构的T型电阻网络,用以对参考电压提供的两条回路分别产生两个电流信号IOUT1和IOUT2。DAC0832采用8位输入寄存器和8位DAC寄存器二次缓冲方式,这样可以在D/A输出的同时,送入下一个待转换的二进制数据,以便提高转换速度。每个输入数据为8位,可以直接与8位微机数据总线相连接,其逻辑电平与TTL电平相兼容。
DAC0832的内部结构与引脚图
DAC0832的20条引脚定义 (1)D7~D0,8条输入数据线(图中标记为DI7~DI0) (2)CS*,选片信号,低电平有效 (3)ILE,输入寄存器选通信号,高电平有效 (4)WR1*,写输入寄存器信号,低电平有效 (5)WR2*,写8位DAC寄存器信号,低电平有效 (6)WFER*,允许8位DAC寄存器数据送到8位D/A转换器。 (7)IOUT1,DAC输出电流1,当8位DAC寄存器为全1时,此时输出电流最大,当为全0时,输出电流最小
(8)IOUT2,DAC输出电流2,IOUT2=常数-IOUT1 (9) Rfb,反馈电阻引出端,即片内在Rfb与IOUT1之间制作了一个反馈电阻 (10)VREF,参考电压输入端。该端连至片内R-2R T型电阻网络,由外部提供一个准确的参考电压。该电压的精度直接影响D/A转换的精度 (11)VCC,电源电压,可接+5V~+15V (12)AGND,模拟地 (13)DGND,数字地
DAC0832转换器输出为电流形式,通常需要通过运算放大器将输出电流转变成电压输出。按电压输出时还可分为单极性和双极性两种形式。
二、单极性输出电路 单极性输出电路如图10-13所示。在图10-13(a)中,D/A转换器输出接到运算放大器的反相输入端,所以输出电压为: VOUT=-i(Rf+Rw) 在图10-13 (b)中,D/A转换器输出接到运算放大器的同相输入端,所以输出电压为: VOUT≈iR2[1+(Rf+Rw)/R1]
D/A单极性输出电路
三、双极性输出电路 双极性输出电路如图10-14所示,一般需要通过两级运算放大器才能实现。 i1≈V1/R1,i2≈VREF/R2, i3=(Vi1-VOUT)/R3≈-VOUT/R3 因为 i3≈i1+i2 所以 V1/R1+VREF/R2≈-VOUT/R3 VOUT=-(V1×R3/R1+VREF×R3/R2) 设: R2=R3=2R1,VREF=10V,V1输出0~10V, 则 VOUT输出为-10V~+10V(双极性输出)。
D/A双极性输出电路
10.5.3 DAC0832与ISA前62芯插槽接口 DAC0832与PC机ISA总线前62芯的连接如图12-15所示,由于DAC0832的数据输入线可以直接与CPU数据线连接,所以在图12-15中,DAC0832没经缓冲器而直接与数据总线中D7~D0相连,图中XFER*和WR2*接地,即DAC0832内部第2级缓冲器接成直通式,只控制第1级缓冲器的数据输入,当CS*与WR1*同时有效时,DI7~DI0的数据被送入其内部的D/A转换电路进行转换。
DAC 0832与ISA前62芯插槽相连接的电路
例【10-3】 假设在图12-15中DAC0832片选的地 址是200H,要求在VOUT输出方波,编程如下: MOV DX,200H ; 端口地址 ABCD:MOV AL,00H OUT DX,AL ;向DAC0832输出全0 CALL DELAY ;调用延时子程序DELAY(忽略) MOV AL,0FFH OUT DX,AL ;向DAC0832输出全1 CALL DELAY JMP ABCD
习 题 10 10.1 10.2 10.3 10.4 10.5 10.7 10.8 10.9