520 likes | 629 Views
模数和数模转换. 基本概念 模数转换技术 数模转换技术. 模拟量 I/O 通道的组成. 输入通道. 工 业 生 产 过 程. 微 型 计 算 机. 传感器. A/D 转换. 多路转换 & 采样保持. 放大 滤波. 输入 接口. 10101100. 信号 处理. 信号 变换. I/O 接口. 物理量 变换. 执行机构. 放大 驱动. D/A 转换. 输出 接口. 00101101. 输出通道. 模拟电路的任务. 模拟接口电路的任务.
E N D
模数和数模转换 基本概念 模数转换技术 数模转换技术
模拟量I/O通道的组成 输入通道 工 业 生 产 过 程 微 型 计 算 机 传感器 A/D 转换 多路转换 & 采样保持 放大 滤波 输入 接口 10101100 信号 处理 信号 变换 I/O 接口 物理量 变换 执行机构 放大 驱动 D/A 转换 输出 接口 00101101 输出通道 模拟电路的任务 模拟接口电路的任务
传感器(变送器):把外部的物理量(例如:声音、温度、压力、流量等)转换成电流、电压或频率信号传感器(变送器):把外部的物理量(例如:声音、温度、压力、流量等)转换成电流、电压或频率信号 A/D转换器(Analog Digit Converter, ADC):是输入通道的核心环节,其作用是将模拟量转换成数字量,送计算机处理 信号处理:传感器输出的信号通常比较微弱,需要经过放大,获得ADC所要求的输入电平范围;也可以完成信号整形功能和滤波功能 现场的传感器及其传输线路容易受到干扰信号的影响,还需要接滤波电路,滤去干扰信号 多路开关(Multiplexer):对变化缓慢的模拟量可以使用多路模拟开关,轮流接通其中的一路,使多个模拟信号共用一个ADC进行A/D转换
采样/保持器(Sample Holder):A/D进行一次转换需要一定的时间,而模拟信号随时间不断地变化。如果在一次转换期间,输入的模拟量有较大的变化,那么转换得到的结果会产生误差,甚至发生错误 A/D转换期间用采样/保持电路保持输入信号不变,转换开始之前,采样/保持电路采集输入信号(采样),转换进行过程中,它向A/D转换器保持固定的输出(保持)。对于缓慢变化的模拟量,采样/保持电路可省去 D/A转换器(Digit Analog Converter, DAC):D/A转换器将成数字量转换成模拟量输出 D/A转换是A/D转换的逆过程。这两个互逆的转换过程以及传感器构成一个闭合控制系统
Rf R1 ∑ Vin … VO Rn 运算放大器特点 特点 :开环放大倍数非常高 、输入阻抗非常大和输出阻抗很小
输入数码 xp=a12-1+a22-2+…+ai2-i+…+an2-n,则: Uo=UNxp=UN(a12-1+a22-2+…+an2-n)=UN∑ai2-i u i=1 数/模转换原理 D/A转换电路在内部基本都是并行结构,并行D/A转换器的转换速度快,只要输入端加入数码信号,输出端立即有相应的模拟电压输出。并行D/A转换器的位数与输入数码的位数相同,对应输入数码的每一位都设有信号输入端,用以控制相应的模拟切换开关 实现数/模(D/A)转换的方法比较多,常用的有两种 权电阻D/A:电路由权电阻、位切换开关、反馈电阻和运算放大器组成 选用不同的权电阻网络,就可以得到不同编码的D/A转换器
Rf 2R 4R 8R 16R 32R 64R 128R 256R S1 S2 S3 S4 S5 S6 S7 S8 Vref VO 每个支路由一个开关Si控制,Si=1表示Si合上,Si=0表示Si断开, Vref为基准电压
用8位二进制代码来控制图中的S1~S8(Di=1时Si闭合;Di=0时Si断开)。二进制代码决定输出电压VO,当代码在0~FFH之间变化时,VO相应地在0~-(255/256)Vref之间变化用8位二进制代码来控制图中的S1~S8(Di=1时Si闭合;Di=0时Si断开)。二进制代码决定输出电压VO,当代码在0~FFH之间变化时,VO相应地在0~-(255/256)Vref之间变化 在输入的二进制位数比较多的情况下,权电阻的阻值范围很大,难以保证精度。权电阻D/A转换器实际中使用较少
R-2R T型电阻网络D/A转换器 实际应用的D/A转换器,普遍采用R-2R T 型电阻网络 电路由串联分路开关、R-2R电阻网络、运算放大器和一个反馈电阻Rf组成。采用分流原理,实现对输入数字量的转换
无论从哪个R-2R的节点向上或向下看,等效电阻都是R,等效输入电阻都是3R无论从哪个R-2R的节点向上或向下看,等效电阻都是R,等效输入电阻都是3R 若反馈电阻Rf=3R,则输出电压UO: UO=-U0Rf/Ri=-2/3UNxp×3R/2R=-Unxp 式中的输入取值xp为0或1:取0时开关与地相连,该位无电流输入;取1时开关与参考电压VR接通,该位有电流输入 xp为全1,运算放大器输出为-(1-1/2K)UN xp为全0,则运算放大器输出为0 D/A转换器的输出在0~(1-1/2K)UN之间
D/A转换器的输出 D/A转换的结果与输入二进制码成比例的电流,称为电流DAC D/A转换的结果与输入二进制码成比例的电压,称为电压DAC 常用的D/A转换芯片大多属于电流DAC,在实际应用中,一般需要电压输出,需要把电流转换为电压输出 转换一般采用运算放大器,输出可以是单极性电压或双极性电压 单极性电压输出的电压正负值由参考电压极性而定 双极性电压输出是在单极性电压输出后再加一级运算放大器
D/A转换器的主要参数 线性误差:理想转换特性是线性的,实际特性总有一定的非线性,用在满刻度范围内偏离理想特性的最大值表示线性误差 非线性误差: D/A转换器的非线性误差定义为实际转换特性曲线与理想特性曲线之间的最大偏差,并以该偏差相对于满量程的百分数度量。在转换器电路设计中,一般要求非线性误差不大于±1/2LSB 线性误差和非线性误差用两个方法表示误差的大小 分辨率:反映D/A转换器对模拟量的分辨能力,是最小输出电压与最大输出电压之比 N位转换器,其分辨率为满量程电压/2N 在实际使用中,一般用输入数字量的位数来表示分辨率大小。例:8位D/A转换器,12位D/A转换器等 分辨率取决于D/A转换器的位数
转换精度:模拟输出实际值与理想值的偏差 精度有绝对精度和相对精度 绝对精度:在输入端加入给定数字量时,在输出端实测的模拟量与理论值之间的偏差 相对精度:当满量程值校准后,输入的任何数字量所对应的模拟输出值与理论值的误差 D/A转换器的转换精度与D/A转换器芯片和外接电路有关。外接运算放大器,外接参考电源,都会影响D/A转换器的精度 在D/A转换过程中,影响转换精度的主要因素有失调误差、增益误差、非线性误差和微分非线性误差 如果不考虑其他D/A转换误差时,D/A的转换精度就是分辨率的大小
温度灵敏度:D/A转换器受温度变化影响的特性,数字输入值不变,模拟输出信号随温度的变化温度灵敏度:D/A转换器受温度变化影响的特性,数字输入值不变,模拟输出信号随温度的变化 一般D/A转换器温度灵敏度为±50PPM/℃ 1PPM为百万分之一 温度系数: 在满刻度输出的条件下,温度每升高1℃,输出变化的百分数定义为温度系数 工作温度范围: 一般情况下,影响D/A转换精度的主要环境和工作条件因素是温度和电源电压变化。由于工作温度会对运算放大器和电阻网络等产生影响,只有在一定的工作范围内才能保证额定精度指标 较好的D/A转换器的工作温度范围在-40℃~85℃之间,较差的D/A转换器的工作温度范围在0℃~70℃之间 多数器件其静、动态指标均在25℃的工作温度下测得的,工作温度对各项精度指标的影响用温度系数来描述,如失调温度系数、增益温度系数、微分线性误差温度系数等
失调误差(零点误差): 数字输入全为0码时,其模拟输出值与理想输出值之偏差值。对于单极性D/A转换,模拟输出的理想值为零伏点。对于双极性D/A转换,理想值为负域满量程。偏差值的大小一般用LSB的份数或用偏差值相对满量程的百分数来表示 增益误差(标度误差): D/A转换器的输入与输出传递特性曲线的斜率称为D/A转换增益或标度系数,实际转换的增益与理想增益之间的偏差称为增益误差 增益误差在消除失调误差后用满码(全1)输入时其输出值与理想输出值(满量程)之间的偏差表示,一般也用LSB的份数或用偏差值相对满量程的百分数来表示
输出零点和满刻度的调正 精度要求较高的D/A转换器中有调零和调满刻度调整电位器 单双极性(正电压输出)调整过程:在D/A输出端接电压表,输入全0,调节调零电位器,使输出为0V;输入全1,调节满刻度调整电位器,使D/A输出为满量程减去最低位所对应的电压值 最低位所对应的电压值等于满量程电压×1LSB 双极性调整过程:输入全0,调整调零电位器,使输出为负输出最大值;输入全1,调整满刻度电位器,使输出为满量程减去一个最低位所对应的电压值 电源抑制比: 高质量的D/A转换器,要求开关电路及运算放大器所用的电源电压发生变化时,对输出电压影响极小。通常把满量程电压变化的百分数与电源电压变化的百分数之比称为电源抑制比
建立时间:从数字输入端发生变化开始,到输出模拟值稳定在额定值的±1/2LSB时所需时间。是表示D/A转换速率快慢的一个重要参数建立时间:从数字输入端发生变化开始,到输出模拟值稳定在额定值的±1/2LSB时所需时间。是表示D/A转换速率快慢的一个重要参数 在应用时,要选择D/A转换器的转换时间小于数字输入信号发生变化的周期 电流型输出的建立时间很短 电压型输出的主要建立时间是输出运算放大器所需要的响应时间 由于一般线性差分运算放大器的动态响应速度较低,D/A转换器的内部带有输出运算放大器或者外接输出放大器的电路,因此建立时间比较长
D/A转换器用两级数据缓冲器的接口 内部有数据输入寄存器的D/A芯片的是将D/A芯片直接和数据总线相连
DAC 0832 DAC 0832是美国数据公司的8位双缓冲D/A转换器,片内有数据锁存器,电路有极好的温度跟随性,使用CMOS电流开关和控制逻辑来获得低功耗和低输出泄漏电流误差 主要技术指标 建立时间1μs 单电源+5~+15V VREF输入端电压±25V 分辨率8位 功率能耗200mW 最大电源电压VDD17V 输入与TTL电平兼容 电流输出型D/A转换器
A/D转换 A/D转换器是将模拟量转变为数字量 A/D 转换的过程要经过:采样→保持→量化→编码四个阶段 采样:将一个时间上连续变化的模拟量转换为时间上断续变化的(离散的)模拟量。也可以定义为:把一个时间上连续变化的模拟量转换为一个串脉冲,脉冲的幅度取决于输入模拟量,时间上通常采用等时间间隔采样 香农定理:采样频率一般要高于或至少等于输入信号最高频率的2倍 实际应用中,采样频率可以达到信号最高频率的4~8倍 对于快速变化的输入模拟信号,在A/D转换器前用采样保持器,使得在转换期间保持固定的模拟信号值
采样器相当于一个受控的理想开关,s(t)=1时,开关闭合,fs(t)=f(t);s(t)=0时开关断开,fs(t)=0。fs(t)=f(t)·s(t)采样器相当于一个受控的理想开关,s(t)=1时,开关闭合,fs(t)=f(t);s(t)=0时开关断开,fs(t)=0。fs(t)=f(t)·s(t) 在s(t)=1期间,输出跟踪输入变化,相当于输出把输入的“样品”采下来了,采样电路也叫跟踪电路
保持:将采样得到的模拟量值保持下来,即是说,s(t)=0期间,使输出等于采样控制脉冲存在的最后瞬间的采样值,保持发生在s(t)=0期间保持:将采样得到的模拟量值保持下来,即是说,s(t)=0期间,使输出等于采样控制脉冲存在的最后瞬间的采样值,保持发生在s(t)=0期间
量化:把采样值取整为最小单位的整数倍,这个最小单位称为量化单位Δ,它等于输入信号的最大范围/数字量的最大范围,对应于数字量1量化:把采样值取整为最小单位的整数倍,这个最小单位称为量化单位Δ,它等于输入信号的最大范围/数字量的最大范围,对应于数字量1 量化的方法通常有两种:只舍不入法和四舍五入法 量化误差:量化而产生的误差,直接影响转换器的转换精度。量化误差是由于量化电平的有限性造成的,是原理性误差,只能减小,无法消除 减小量化误差的办法:取小的量化电平,在量化电平一定的情况下,一般采用四舍五入法带来的量化误差只是只舍不入法引起的量化误差的一半
例:把0~4V的模拟电压转换成三位二进制数表示的数字信号,量化单位Δ= 4V/23 = 0.5V。模拟电压在0~0.5V之间,取二进制数000;在0.5~1V之间取001;在1~1.5V之间取010;... 模数转换关系也可以用曲线表示 编码就是把已经量化的模拟数值(它一定是量化电平的整数倍)用二进制数码、BCD码或其他码来表示
A/D转换器的工作方式 A/D转换器的工作方式主要有:计数式、双积分、逐次逼近、电压频率和 ∑-△型 计数式AD转换由可逆计数器、DA转换器、模拟信号比较器和控制逻辑组成 转换过程:计数器的当前值由D/A转换器转换成模拟信号Vo,与需要转换的模拟信号Vx进行比较 如果Vx>Vo,则计数器加1;如果Vx<Vo,计数器减1,最终计数器的值就是模拟量Vx所对应的数字量 计数式AD转换可以达到很高的精度,但转换速度比较慢
双积分A/D转换器 双积分法的A/D转换器由电子开关、积分器、比较器和控制逻辑等部件组成 基本原理是将输入电压变换成与其平均值成正比的时间间隔,再把此时间间隔转换成数字量,属于间接转换,双积分法A/D转换器也叫做T-V型A/D转换器
转换过程:将待转换的模拟量Vi输入到积分器,积分器从零开始进行固定时间T的正向积分,时间到后;开关将与Vi极性相反的基准电压VRef输入到积分器,进行反相积分,直到输出为0V时停止积分转换过程:将待转换的模拟量Vi输入到积分器,积分器从零开始进行固定时间T的正向积分,时间到后;开关将与Vi极性相反的基准电压VRef输入到积分器,进行反相积分,直到输出为0V时停止积分 Vi/VRef = T1/T2 计数器在反相积分时间内所计的数值,就是输入模拟电压Vi所对应的数字量 双积分型A/D转换是测量输入电压Vi在T2时间内的平均值,对常态干扰(串模干扰)有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好 双积分型的A/D转换器电路简单、抗干扰能力强、精度高,但要经历正、反两次积分,转换速度较慢,通常为毫秒级 一般用于低频信号的测量
逐次逼近式A/D转换 逐次逼近法的A/D转换器是由一个比较器、D/A转换器、缓冲寄存器及控制逻辑电路组成
转换过程:初始化时将逼近寄存器清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该位1被保留,否则被清除转换过程:初始化时将逼近寄存器清零;转换开始时,先将逐次逼近寄存器最高位置1,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo<Vi,该位1被保留,否则被清除 然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的Vo再与Vi比较,若Vo<Vi,该位1被保留,否则被清除 重复此过程,直至逼近寄存器最低位 转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出 逐次逼近式的A/D转换器的主要特点:转换速度较快,转换时间固定,分辨率可达18位,适用于高精度、高频信号, 抗干扰能力较双积分型弱,需要采取适当的滤波措施
7次 位 权值 1次 2次 3次 4次 5次 6次 7次 0 7 128 0 0 0 0 0 0 0 0 6 64 0 0 0 0 0 0 1 5 32 1 1 1 1 1 0 4 16 0 0 0 0 0 3 8 0 0 0 1 2 4 1 1 1 1 2 1 1 0 1 39 比较数 128 64 32 48 40 36 38 输出
电压频率转换法A/D转换器 电压频率转换器由V/F转换电路、计数器、控制门及一个具有恒定时间的时钟门控制信号组成
f=KVi F:变换器输出信号频率;Vi:变换器输入电压;K:变换器的增益 A/D转换周期为: T=N/F N:A/D转换器最大输出计数值;F:VFC的满度频率 VFC转换器工作过程: 当电压Vi加至VFC的输入端后,产生频率(f)与Vi成正比的脉冲,该脉冲通过由时钟控制的门,在单位时间T内由计数器进行计数 计数器在每次计数开始时会自动清零,每个单位时间内,计数器的计数值正比于输入电压Vi,完成A/D变换
VFC与MCU结合,可方便地构成多位高精度的A/D转换器VFC与MCU结合,可方便地构成多位高精度的A/D转换器 优点: VFC价格低:它构成的A/D转换器,在零点漂移及非线性误差等方面,性能均优于逐次逼近式A/D转换器 VFC输出信号:脉冲传送需要两根传输线。便于信号采样和远距离传输,且传输过程中的抗干扰能力强 VFC可采用光耦传输输出信号,实现模似输入信号和计算机的隔离 VFC的工作过程具有积分特性,对噪声具有良好的滤波作用。采用VFC进行A/D转换时,其输入信号的滤波环节可简化 缺点:转换速度较慢
∑-△型模数转换器 ∑-△型模数转换器是一种新型的模-数转换器件,由积分器、比较器、1位DAC组成
设输入模拟量Vin=1/4VREF,积分器初始输出0(B=0),比较器在每个时钟周期的开始处输出1位比较结果,初始输出0(C=0)。转换过程:设输入模拟量Vin=1/4VREF,积分器初始输出0(B=0),比较器在每个时钟周期的开始处输出1位比较结果,初始输出0(C=0)。转换过程: T1: C=0,1位DAC输出-VREF,于是A=+5/4 VREF,B点电位由0上升,比较器输出C=1 T2: C=1,1位DAC输出+VREF,A= -3/4 VREF,B点电位开始下降,比较器仍输出C=1 T3: C=1,1位DAC输出+VREF,A= -3/4 VREF,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,......
基准电源+ VREF和- VREF,决定了输入模拟量的范围,Vin(1/4 VREF)对应的数字量为+1/8(相对值),转换成偏移码则为5/8(相对值),是计数器的输出 ∑-△型模数转换器以串行数据流的方式输出结果, 转换精度为1LSB, 转换完成后,比较器输出0/1相间的数字流, 输入模拟量Vin发生变化,输出数字流随之变化 这种类型的转换器是根据二次采样的差进行计算的,当模拟量输入端接有多路开关时,通道切换后要等待足够长的时间,才能读取转换结果 ∑-△型模数转换器有很强的抗干扰能力,转换精度高,常用于高分辨率(一般为16、18、24位)的中、低频信号测量
A/D转换器的参数 分辨率:A/D转换器能分辨的最小模拟输入量。通常用能转换成的数字量的位数来表示,位数越高,分辨率越高。分辨率与精度是两个不同的概念,分辨率很高,可能由于温度漂移、线性度等原因,使其精度不够高 转换时间:A/D转换器完成一次转换所需的时间,发出转换命令信号到转换结束信号开始有效的时间间隔 若采用无条件传送方式输入A/D转换后的数据,从启动A/D芯片转换开始,到A/D芯片转换结束,所需要的等待时间必须大于或等于A/D转换时间 量程:所能转换的输入电压范围,分单极性、双极性两种类型 温度系数:表示A/D转换器受环境温度影响的程度。一般用每摄氏度温度变化所产生的相对误差作为指标,以ppm/℃为单位表示
精度:数字输出量所对应的模拟输入量的实际值与理论值之间的差值。A/D转换电路中与每一个数字量对应的模拟输入量并非是单一的数值,而是一个范围Δ精度:数字输出量所对应的模拟输入量的实际值与理论值之间的差值。A/D转换电路中与每一个数字量对应的模拟输入量并非是单一的数值,而是一个范围Δ Δ的大小,在理论上取决于电路的分辨率,满刻度输入电压为5V的12位A/D转换器,Δ为1.22mV。在外界环境的影响下,与每一数字输出量对应的输入量实际范围往往偏离理论值Δ 精度通常用最小有效位LSB的分数值来表示,如果输入模拟量在A±Δ/2的范围内,产生唯一的数字量D,则转换器的精度为±0LSB;若模拟量变化范围的上限值和下限值各增减Δ/4,转换器输出仍为同一数码D,则精度为±1/4LSB,;若模拟量变化范围的上限值和下限值各增减Δ/2,精度为±1/2LSB 绝对误差:实际转换结果与理论转换结果之差,通常以数字量的最小有效位(LSB)的分数值来表示。如:±1LSB,±1/2 LSB,±1/4 LSB等。绝对误差包括量化误差和其他所有误差
相对误差:指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示相对误差:指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示 例:满量程为10V,10位A/D芯片,若绝对精度为±1/2LSB,则量化单位△=9.77mV,其绝对精度为1/2△=4.88mV,其相对精度为4.88mV/10V=0.048%
输出信号的逻辑电平和方式:多数A/D转换器输出的数字信号与TTL电平兼容;以并行方式为主,∑-△A/D转换芯片以串行方式输出数据,也有SPI方式输出信号的逻辑电平和方式:多数A/D转换器输出的数字信号与TTL电平兼容;以并行方式为主,∑-△A/D转换芯片以串行方式输出数据,也有SPI方式 工作温度范围:一般A/D转换器的工作温度范围一般为0~70℃,军用品为-55℃~+125℃ 电源电压变化的抑制比(PSRR) :改变电源电压使数据发生±1LSB变化时所对应的电源电压变化范围
START: XOR AX,AX ;累加器清零 MOV BL,80H ;初值为80H MOV CX,08H ;计数初值为8 AGAIN: ADD AL,BL ;计算试探值 MOV BH,AL ;保留试探值 OUT PORTA,AL ;PORTA是锁存器地址 IN AL,PORTS ;PORTS是输入端口地址 AND AL,01 ;取状态位 JZ END1 ;如状态位为0,则保存此位 MOV AL,BL NOT AL ;求反 AND AL,BH ;使试探位为0 MOV BH,AL ;保存试探值 END1: ROR BL,1 ;右移,得下一个试探值 MOV AL,BH LOOP AGAIN ;继续进行试探和测试 … ;后续程序段
CPU读取A/D转换器数据的方法 程序查询方式:启动A/D转换器后,程序不断读取A/D转换结束信号,如果信号有效,完成了一次转换,用输入指令读取数据 中断方式:转换结束信号作为中断请求信号 CPU等待方式:用CPU的READY引脚功能,在A/D转换期间使READY低电平,使CPU停止工作,转换结束后,使READY为高电平,CPU读取转换数据 固定延迟程序方式:预先要精确地知道完成一次A/D转换所需要的时间,CPU发出启动命令后,执行一个固定的延迟程序,此程序执行完时,A/D转换结束,CPU读取数据 如果A/D转换的时间比较长,或有几件事情需要CPU处理,用中断方式效率比较高;如果A/D转换时间比较短,中断方式就失去了优越性,因为响应中断、保留现场、恢复现场、退出中断这一系列环节所花去的时间将和A/D转换的时间相当,可用3种非中断方式之一来实现转换数据的读取
A/D转换器和系统连接时要考虑的问题 输入模拟电压的连接 数据线和系统总线的连接 启动信号:电平启动信号或脉冲启动信号 转换结束信号 转换数据的读取 :程序查询方式 、中断方式 、CPU等待方式和固定的延迟程序方式