680 likes | 859 Views
第10章 模 / 数和数 / 模转换. 教学目的和教学要求. 通过本章的学习,使学生 掌握 模 / 数和数 / 模转换通道的基本组成、模 / 数与数 / 模转换器的主要技术指标, 掌握 A/D 转换芯 AD574 及 D/A 转换芯片 DAC0832 分别与 ISA 总线的连接及应用编程 了解 常用模 / 数转换芯片和常用数 / 模转换芯片. 重点与难点. 重点 模 / 数转换接口技术 数 / 模转换接口技术 难点 A/D 转换芯 AD574 与 ISA 总线连接的原理 D/A 转换芯片 DAC0832 与 ISA 总线连接的原理. 模拟/数字转换器 ADC.
E N D
教学目的和教学要求 通过本章的学习,使学生掌握模/数和数/模转换通道的基本组成、模/数与数/模转换器的主要技术指标,掌握A/D转换芯AD574及D/A转换芯片DAC0832分别与ISA总线的连接及应用编程 了解常用模/数转换芯片和常用数/模转换芯片
重点与难点 重点 • 模/数转换接口技术 • 数/模转换接口技术 难点 • A/D转换芯AD574与ISA总线连接的原理 • D/A转换芯片DAC0832与ISA总线连接的原理
模拟/数字转换器 ADC DAC 数字/模拟转换器 10.1 概述 • 模拟量——连续变化的物理量 • 数字量——时间和数值上都离散的量
10.2 模/数与数/模转换通道的组成 10.2.1 模/数转换通道的组成 一般模/数转换通道由传感器、信号处理、多路转换开关、采样保持器以及A/D转换器组成
一、传感器(Transducer) 传感器:能够把非电物理量转换成电量(电流或电压)的器件,一般传感器由电容、电阻、电感或敏感材料组成,在外加激励电流或电压的驱动下,不同类型的传感器会随不同非电物理量的变化,引起传感器的组成材料发生改变,使得输出连续变化的电流或电压与非电物理量的变化成正比
由于传感器组成材料发生改变引起输出电流或电压的变化十分微弱,容易受外界干扰,因此,在市场上能买到的各种变送器,已将传感器与放大电路制作在一起,输出统一标准的0~10mA或4~20mA电流,或0~5V电压,以便传输或直接送A/D转换器进行A/D转换,其中,4~20mA标准电流输出的传感器较为普遍,常说的流量变送器、压力变送器等一般输出4~20mA标准电流,内部处于恒流输出结构,显然电流型传感器比电压型传感器抗干扰能力强,易于远距离传输,因此,电流型传感器被广泛用于生产过程的检测系统中由于传感器组成材料发生改变引起输出电流或电压的变化十分微弱,容易受外界干扰,因此,在市场上能买到的各种变送器,已将传感器与放大电路制作在一起,输出统一标准的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)八个输入通道的通断。该芯片能实现双向传输,即可以实现多传一或一传多两个方向的传送当使能端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所示 注意:两片连续扩展成十六选一模拟开关,同样可以实现多传一或一传多的双向传输,类似的模拟多路开关,例如CD4067B为十六选一模拟多路开关,也可以扩展成为三十二选一的模拟多路开关
四、采样保持器(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)等
五、A/D转换器(Analog to Digit) A/D转换器是模/数转换通道的核心环节,其功能是将模拟输入电信号转换成数字量(二进制数或BCD码等),以便由计算机读取、分析处理,并依据它发出对生产过程的控制信号
10.2.2 数/模转换通道的组成 • 必须要将计算机输出的数字量转换成模拟的电流或电压,这个任务主要由数/模转换器来完成 • 数/模转换芯片一般内部设有输入锁存器,能将计算机输入给它的数字量锁存下来 • 需要有一级功率放大电路,将D/A输出的电流或电压放大到足以驱动执行机构
10.3 模/数与数/模转换器的主要技术指标 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等 (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,而实际的最大输出值为按通常习惯,转换器的模拟量范围总是用满刻度表示。例如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芯片的启动转换信号有电平和脉冲两种形式。设计时应分别对待,对要求用电平启动转换的芯片,如果在转换过程中撤去电平信号,则将停止转换而得到错误的结果
在ADC转换完成后,会发出转换结束信号,以示主机可以从模/数转换器读取转换后的数据。结束信号可以用来向CPU发出中断申请,CPU响应中断后,在中断服务子程序中读取数据。也可用查询转换是否结束的方法来读取数据,通过延时等待的方法来读取数据也是一种常用的简便方法,这是在采集速度要求并不高的情况下,启动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内部能自动提供基准电压,并具有三态输出缓冲器,使用十分方便
各引脚定义如下 (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位二进制数 (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模拟输出电路的极性选择 从图10-8可以看出,它有两个模拟输入电压引脚10VIN和20VIN,即分别有10V和20V的动态范围,而且可以是单极性电压或双极性电压,通过改变AD574其它引脚的接法来实现 图10-9表示了常用的两种接法
如果启动作为12位A/D转换,转换后的二进制数与模拟输入电压对应关系有下列4种: 如果启动作为12位A/D转换,转换后的二进制数与模拟输入电压对应关系有下列4种: 000H~FFFH对应-5V~+5V 000H~FFFH对应0V~+10V 000H~FFFH对应-10V~+10V 000H~FFFH对应0V~+20V
10.4.3 AD574与ISA总线的连接 一、AD574与ISA总线的前62根信号线连接成12位A/D转换 将AD574与ISA总线中的前62根信号线接口,可以将模/数转换成的12位数据分两次读入计算机,优点是可以节省硬件投资。用软件延时方法实现定时采集的A/D转换接口电路更加节省硬件开销 使用场合:数据采集系统的速度要求不高,主要追求数据采集的精度
例【10-1】 根据图10-10,AD574与8位数据总线相连接,编写实现12位A/D转换的程序段 例【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配合分别产生相应的奇地址和偶地址
例【10-2】根据图10-11,AD574与12位数据总线相连接,编写实现12位A/D转换的程序段例【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位二 ; 进制数