第18章 模拟量和数字量的转换
模拟量是随时间连续变化的量,绝大多数非电量(如温度、压力、速度、位移等)都是连续变化的模拟量。它们可以通过相应的传感器变换为连续变化的模拟量——电压或电流,如传感器输出的4~ 0mA电流或1~5V的电压。而数字量是不连续变化的量,表现为0(低电平)和1(高电平)两种状态。 在实际的应用中,特别是在计算机控制中,在其接口电路上经常要进行模拟量和数字量的转换,即:输入计算机的是数字量,从计算机输出到控制现场的是模拟量。这就要求进行模拟量和数字量的转换
传感器 A/D 计算机(数字量) 显示器 打印机 执行部件(模拟量控制) D/A 18.1 数模转换和模数转换简介 能够将模拟量转换为数字量的器件称为模数转换器,简称A/D转换器或ADC。 ADC和DAC的应用: 传感器 (温度、压力、流量等模拟量) A/D 计算机(数字量) 显示器 打印机 执行部件(模拟量控制) D/A 能够将数字量转换为模拟量的器件称为数模转换器,简称D/A转换器或DAC。 ADC和DAC是沟通模拟电路和数字电路的桥梁,也可称之为两者之间的接口.
18.1.1 模拟量、数字量以及二者的相互转换 要用数字系统处理模拟量,就需要将模拟量转换为数字量。另一方面,实际中往往需用被数字系统处理过的量去控制连续动作的执行机构,如电机转速的连续调节等,所以又需要将数字量转换为模拟量。 图18.1所示是一个数字控制系统框图,图中被控制对象可以是温度、压力、速度、位移、图像的亮度等。这些连续变化的模拟量通过各种传感器变成电压、电流或频率等电量,经A/D转换变成数字信号。送到数字系统进行加工处理,处理后的数字信息再经D/A转换变成电的模拟量,送到执行结构,对被控对象进行控制。
图18.1 数字控制系统框图
18.1.2 D/A转换的基本原理 D/A转换器是将输入的二进制数字量转换成模拟量,以电压或电流的形式输出。 D/A转换器实质上是一个译码器(解码器)。一般常用的线性D/A转换器,其输出模拟电压uO和输入数字量Dn之间成正比关系。UREF为参考电压。 uO=DnUREF
将输入的每一位二进制代码按其权值大小转换成相应的模拟量,然后将代表各位的模拟量相加,则所得的总模拟量就与数字量成正比,这样便实现了从数字量到模拟量的转换。 即:D/A转换器的输出电压uO,等于代码为1的各位所对应的各分模拟电压之和。
D/A转换器一般由数码缓冲寄存器、模拟电子开关、参考电压、解码网络和求和电路等组成。 n位数控模拟开关 解码网络 n位数字量输入 模拟量输出 求和电路 参考电压 18.2 n 位D/A转换器方框图 数字量以串行或并行方式输入,并存储在数码缓冲寄存器中;寄存器输出的每位数码驱动对应数位上的电子开关,将在解码网络中获得的相应数位权值送入求和电路;求和电路将各位权值相加,便得到与数字量对应的模拟量。
图18.3 D/A转换器示意图 图18.4 D/A转换特性
在转换过程中,一般要求输入信号不能发生变化,不然会增加转换误差,需要反复比较的转换方式更是如此。通常的解决方法是在A/D转换电路前设计取样-保持(S/H)电路,使输入A/D转换器的信号在一次转换时间内保持不变。 但在工作频率较低、转换速率相对较快的情况下,取样-保持电路可以省去
18.2 数模(D/A)转换器 D/A转换器是将输入的二进制数字信号转换成模拟信号,以电压或电流的形式输出。因此,D/A转换器可以看作是一个译码器。一般常用的线性D/A转换器,其输出模拟电压U和输入数字量D之间成正比关系,即U=KD,式中K为常数。 数-模转换器有很多种,在此只介绍目前用得较多的R-2R网络型D/A转换器(也称倒梯形电阻网络数-模转换器),其转换电路如图18.5所示。
18.2.1 R-2R网络型D/A转换器 图18.5 R-2R网络型D/A转换器
R和2R两种阻值的电阻组成梯形电阻网络、电子模拟开关 和运算放大器组成。运算放大器接成反向比例运算电路,其输出为模拟电压 ; 是输入数字量,是数码寄存器存放的四位二进制数,各位的数码分别控制相应位的模拟开关,当二进制数码为1时,开关接到运算放大器的反相输入端;二进制数码为0时接“地”。
考虑到运算放大器的虚地特性,无论 输入数字量为何值,即无论2R电阻接1还是接0,对于R-2R电阻网络来说,各2R电阻的下端都相当于接地,所以从每个R电阻向左看过去对地电阻都为2R。因此在网络中的电流分配应该是由基准电源UR流出的总电流IR向左每流过一个电阻2R就被分流一半。 这样流过n个2R电阻的电流分别是 , ,…, 。第 个电流是流向地或是流向运算放大器,由输入数字量 所控制的电子开关 确定。流向运算放大器的总电流为 (18.2.1)
又因为从基准电源UR向左看的对地电阻为R,所以从基准电源流出的电流为 代入公式(18.2.1),得到 , (18.2.2) 运算放大器输出电压为 (18.2.3)
当 时,运算放大器输出电压为 (18.2.4)
18.2.8 D/A转换器的主要技术指标 1.分辨率 分辨率是指输入数字量最低有效位为 1 时,对应输出可分辨的电压变化量ΔU与最大输出电压Um之比,即 分辨率 分辨率越高,转换时对输入量的微小变化的反应越灵敏。 而分辨率与输入数字量的位数有关,n越大,分辨率越高。
2. 转换精度 转换精度是实际输出值与理论计算值之差,这种差值,由转换过程各种误差引起, 主要指静态误差,它包括: ① 非线性误差。它是电子开关导通的电压降和电阻网络电阻值偏差产生的,常用满刻度的百分数来表示。 ② 比例系数误差。它是参考电压UR的偏离而引起的误差,因UR是比例系数, 故称之为比例系数误差。当ΔUR一定时,比例系数误差如图 18 - 6 中的虚线所示。
18-6 比率系数误差
③ 漂移误差。它是由运算放大器零点漂移产生的误差。当输入数字量为 0 时,由于运算放大器的零点漂移,输出模拟电压并不为 0。这使输出电压特性与理想电压特性产生一个相对位移,如图18-7 中的虚线所示。
图 18-7 漂移误差
3. 建立时间 从数字信号输入DAC起,到输出电流(或电压)达到稳态值所需的时间为建立时间。 建立时间的大小决定了转换速度。目前 10~12 位单片集成D/A转换器(不包括运算放大器)的建立时间可以在 1 微秒以内。
八位集成DAC0832 图 18-8 集成DAC0832框图与引脚图
它由一个八位输入寄存器、一个八位DAC寄存器和一个八位D/A转换器三大部分组成,D/A转换器采用了倒T型R-2R电阻网络。由于DAC0832有两个可以分别控制的数据寄存器,所以,在使用时有较大的灵活性, 可根据需要接成不同的工作方式。DAC0832中无运算放大器,且是电流输出,使用时须外接运算放大器。芯片中已设置了Rfb,只要将 9 脚接到运算放大器的输出端即可。若运算放大器增益不够, 还须外加反馈电阻。
器件上各引脚的名称和功能如下: ILE: 输入锁存允许信号, 输入高电平有效。 CS: 片选信号, 输入低电平有效。 WR1: 输入数据选通信号, 输入低电平有效。 WR2: 数据传送选通信号, 输入低电平有效。 XFER: 数据传送选通信号, 输入低电平有效。 D7~D0: 八位输入数据信号。 UREF: 参考电压输入。 一般此端外接一个精确、 稳定的电压基准源。UREF可在-10V至+10 V范围内选择。 Rfb: 反馈电阻(内已含一个反馈电阻)接线端。
IOUT2:DAC输出电流2。它作为运算放大器的另一个差分输入信号(一般接地)。IOUT1和IOUT2满足如下关系: IOUT1:DAC输出电流 1。此输出信号一般作为运算放大器的一个差分输入信号。当DAC寄存器中的各位为 1 时,电流最大;为全 0 时,电流为 0。 IOUT2:DAC输出电流2。它作为运算放大器的另一个差分输入信号(一般接地)。IOUT1和IOUT2满足如下关系: IOUT1+IOUT2=常数 UCC: 电源输入端(一般取+5V)。 DGND: 数字地。 AGND: 模拟地。
从DAC0832的内部控制逻辑分析可知,当ILE、CS和WR1同时有效时,LE1为高电平。在此期间,输入数据D7~D0进入输入寄存器。当WR2和XFER同时有效时,LE2为高电平。在此期间,输入寄存器的数据进入DAC寄存器。八位D/A转换电路随时将DAC寄存器的数据转换为模拟信号(IOUT1+IOUT2)输出。 DAC0832 的使用有双缓冲器型、单缓冲器型和直通型等三种工作方式。
图 18-9 DAC0832的三种工作方式
18.3 模数(A/D)转换器 模–数(A/D)转换器的任务是将模拟量转换成数字量,它是模拟信号和数字仪器的接口。根据其性能不同,类型也比较多。 下面介绍逐次逼近式A/D转换电路的原理和一种常用的集成电路组件。最后举例说明其应用。
18.3.1 A/D转换器 其工作原理可用天平秤重过程作比喻来说明。若有四个砝码共重15克,每个重量分别为8、4、2、1克。设待秤重量Wx = 13克,可以用下表步骤来秤量: 暂时结果 砝 码 重 比 较 判 断 顺 序 1 8 g 保留 8g < 13g , 8 g 2 8 g + 4 g 12g < 13g , 保留 12 g 3 8 g + 4 g + 2 g 14g > 13g, 撤去 12 g 13g =13g, 保留 8 g + 4 g + 1 g 13g 4
四位逐次逼近型模-数转换器的原理电路 d3 d2 d1 d0 读出“与门” E 读出控制端 U1 UA 电压 比较器 逐次逼近 寄存器 Q F3 S R F2 F1 F0 & d3 d2 d1 d0 读出“与门” ≥1 E 读出控制端 U1 UA - + ∞ △ 电压 比较器 逐次逼近 寄存器 控制逻辑门 时钟脉冲 五位顺序脉冲发生器 四位逐次逼近型模-数转换器的原理电路 四位D/A转换器 C Q4 Q3 Q2 Q1 Q0
u0 1. 转换原理 (待转换的模拟电压) UI 控 制 逻 辑 UA 试探电压 数码寄存器 顺序脉冲发生器 D/A转换器 时钟 清0、置数 - + D/A转换器 u0 控 制 逻 辑 时钟 清0、置数 CP(移位命令) “1”状态是否保留 控制端 UA 试探电压 砝码是 否保存 放哪一 个砝码
2. 转换过程 例:UR= 8V,UI = 5.52V d3 d2 d1 d0 UA(V) 4V UA < UI UA > UI 2. 转换过程 例:UR= 8V,UI = 5.52V “1”留否 d3 d2 d1 d0 UA(V) 顺 序 比 较 判 断 4V 1 1 0 0 0 UA < UI 留 2 UA > UI 1 1 0 0 6V 去 3 1 0 1 0 5V UA < UI 留 UA UI 4 1 0 1 1 5. 5V 留 D/A转换器输出UA为正值
例:UR= 8V,UI = 5.52V 转换数字量1011 4+1+0.5 = 5.5V 转换误差为 –0.02V 若输出为 8位数字量 转换数字量10110001 4+1+0.5+0.03125 = 5.53125V 转换误差为 +0.01125V 位数越多误差越小
逐次逼近转换过程示意图 t3 UA > UI t2 t1 UA < UI (转换误差: –0.02V) t0 1 1 1 1 1
18.3.2 A/D 变换器的主要技术指标 (1)分辨力与分辨率: 分辨力是A/D转换器分辨最小模拟量的能力,是二进制数的一个码距,即一个LSB。 分辨率通常指A/D转换器的二进制位数。同D/A转换器一样,分辨力与分辨率有时不加区分。二进制位数越多,A/D转换器分辨最小模拟量的能力也就越强。为方便起见,也用其他进制数(主要是十进制数)表示分辨率,如四位十进制数等。有时十进制数的最高位不能到9,常用分数表示,分子表示可达到的最大值,分母表示标称值。如某A/D转换器最大可表示为19999,称为 位。又如最大可表示为3999,称为 位 。
(2)量化误差: 量化误差通常是指1个LSB的输出变化对应模拟量的范围。如前所述,这是一个不可消除的误差。容易看出,图7.6(a)中的量化误差即为1LSB。若将折线左移半个台阶宽度,如图7.6(b)所示,则可将量化误差减小为 ,这是应用了“四舍五入”的原理 。 (3)转换精度: 转换器的转换精度不仅仅取决于量化误差,而是由多种因素决定的。转换器的转换精度一般表示为 。 其中, 为满量程相对误差, 是量化带来的误差。如某A/D转化器的精度为 。 称为一个字误差,通常即为量化误差。为方便起见,有时也用十进制数表示精度, 。
(4)线性误差:指由LSB量化误差带来的阶梯误差。 (5)转换时间:完成一次转换所用的时间。 (6)转换速率:每秒转换的次数。 值得注意的是,转换速率与转换时间不一定是倒数关系。两次转换过程允许有部分时间的重叠,因此转换速率大于转换时间的倒数,这叫做管线(Pipelining)工作方式。这种工作方式对于提高A/D转换器的转换速率是非常有效的
ADC0809八位A/D转换器 GND C B A - 8 通 道 模 拟 开 关 比较器 逻辑控制 逐次逼近 寄存器 D/A转换器 + 8 通 道 模 拟 开 关 比较器 逻辑控制 逐次逼近 寄存器 D/A转换器 地址锁存 译 码 器 三态输出锁存器 UDD UR(+) UR(-) D7 D0 D6 D5 D4 D3 D2 D1 IN7 IN6 IN5 IN4 IN3 IN2 IN1 IN0 ALE EOC START CLOCK EOUT
ADC 0809管脚分布图 IN3 28 1 IN2 IN4 27 2 IN1 IN5 26 3 IN0 IN6 4 25 A IN7 24 B 5 START 6 23 C EOC ALE 7 22 D3 8 21 D7 EOUT 9 20 D6 CLOCK 10 19 D5 UDD 11 18 D4 UR (+) 12 17 D0 GND 13 16 UR(-) D1 14 15 D2