电流输出DAC对比电压输出DAC的优势
扫描二维码
随时随地手机看文章
本文简要说明为什么电流输出DAC是行之有效且往往必不可少的解决方案。此外,本文还以Analog Devices推出的两款IC:6通道14位的AD5770R和5通道16/12位的LTC2662为例,着重介绍了电流输出DAC的有效使用方法。
DAC对比ADC
DAC是模数转换器 (ADC) 的功能补充,但两者面临的挑战却截然不同。ADC的主要作用是在存在外部和内部噪声的情况下,将未知的随机输入信号连续数字化,并将结果传输到兼容的处理器。不同于ADC,DAC的输入是来自处理器的稳定且有界的数字信号,不存在信噪比 (SNR) 问题。然而,DAC输出却面临驱动外部负载的挑战,就电气上而言,这或许更为困难。
电流输出DAC对比电压输出DAC
某些传感器和控制回路需要接入DAC来精确控制电流。这些应用包括扬声器线圈、螺线管和电机;开环和闭环工业系统、科学系统和光学系统中与控制相关的设置;基本电阻加热器或精密可调谐激光器;自动测试设备 (ATE) 探针刺激;用于电池充电的精密电流输出;以及可调光 LED(图1)。
这些往往都是低阻抗电阻、电感和磁性负载。虽然这些负载也可以由电压驱动,但是电压与端部效应的关系较为复杂,并且通常呈非线性。因此,对于这类传感器而言,使用电流源更有效、更精确。
设计人员往往不太熟悉如何使用电流输出DAC产生精密电流输出。一种将传统的电压输出DAC转换为电流输出器件的方法是,添加配置为电压-电流 (V/I) 转换器的输出运算放大器(图2)。
然而,采用这种方法需要在材料清单 (BOM) 和印刷电路板上添加更多有源和无源元器件,并且运算放大器必须具有良好的拉/灌电流能力,否则就必须使用MOSFET升压。此外,由于添加了更多具有独立规格的有源元器件以及无源元器件,因此整个输出范围和温度范围内的数字输入/电流输出传递函数的误差预算就变得愈加困难。
变压器通常被认为是将高速电流输出DAC的互补输出转换为单端电压输出的最佳选择,因为变压器不会增加噪声,也不会消耗功率.尽管变压器在高频信号下表现良好,但它们无法处理许多仪表和医疗应用所需要的低频信号.这些应用要求一个低功耗、低失真、低噪声的高速放大器,以将互补电流转换成单端电压.此处展示的三个电路接受来自DAC的互补输出电流,并提供单端输出电压.将后两者的失真与变压器解决方案进行比较.
差分放大器: AD8129和AD8130差分转单端放大器(图15)用于第一个电路(图16).它们在高频下具有极高的共模抑制性能.AD8129在增益为10或以上时保持稳定,而AD8130则在单位增益下保持稳定.它们的用户可调增益可以由, RF 和 RG.两个电阻的比值来设置.AD8129和AD8130在引脚1和引脚8上具有很高的输入阻抗,不受增益设置的影响.基准电压 (VREF, 引脚4)可以用来设置偏置电压,该偏置电压被乘以与差分输入电压相同的增益.
方程1和方程2所示为放大器的输出电压与DAC的互补输出电流之间的关系.端接电阻RT,执行电流-电压转换;RF 与RG之比决定了增益. VREF 在方程2中被设为0.
展示的是电路的无杂散动态范围(SFDR),它是频率的函数,采用DAC和AD8129,其中,RF = 2kΩ, RG = 221Ω, RT = 100Ω, 且VO = 8Vp-p, 两个电源电压对应的不同值.此处选择了AD8129,因为它提供较大的输出信号,在G = 10时保持稳定,与AD8130相比,具有较高的增益带宽积.两种情况下,SFDR一般都要好于55dB,超过10MHz,在低电源电压下,约有>3dB的改善.
单位增益下的运算放大器: 第二个电路(图18)采用了一个高速放大器与两个 RT电阻.该放大器只是通过, RT将互补电流I1和 I2, 转换成单端输出电压, VO这个简单的电路不允许以放大器为增益模块放大信号.
方程3所示为VO 与DAC输出电流之间的关系.失真数据通过与RT并联的5pF电容进行测量
在电子系统中,数模转换器芯片(DAC)的功能是将数字编码转换成一系列离散的阶梯电压或者电流,是模拟量输出和控制的核心器件。虽然基本功能简单,但市场上的DAC芯片型号繁多,了解其具体参数和内部结构对于DAC芯片的选型、系统的优化是很有必要的。通用型的DAC芯片大多用来输出直流信号,精度较高(12~16bit),速度较低(<10MHz),一般称之为精密DAC。下面我们就结合DAC的指标,内部结构和应用需求,一点点揭开精密DAC的真面目。
一、DAC的指标
用户选择器件时,可能最关心精度、速度等有限几个性能。但这些笼统的性能并非简单的用DAC标称位数和更新速度就可以表示。我们必须把系统的需求“翻译”成正确的DAC指标,才能做出合理的选型。
DAC的“精度”,一般指DAC的静态指标(噪声归在动态指标中)。而“速度”则对应DAC的动态指标。下面将分别介绍。
1.1DAC的静态指标
静态指标均基于实际DAC与相同位数的理想DAC之间的输出曲线的比较。
首先我们来看DAC的输出是不是足够“直”,也就是线性度如何。DAC的线性度一般受芯片内部的半导体器件匹配度限制,比如电阻串的匹配,极限在10~12位左右,再高的话需要各种校准技术来处理。不同的DAC内部结构也对线性度有限制,R2R结构的DAC线性度极限能比R-string的更好(第二部分会涉及)。
下面这两张图,表现出实际的三位DAC与理想的三位DAC输出波形在线性度方面的差异(红色为实际输出曲线):
DNL是微分线性度,指相邻两个输出电平的差相对于理想值(1LSB)的偏差。datasheet中的DNL代表所有台阶中最大的偏差值。由上图可以看到,如果出现DNL<-1LSB的现象,则DAC的输出肯定是非单调的,也就是说数字编码增加1,输出不增加反而会下降。这一点在很多闭环系统应用中是不能接受的,如果DAC出现非单调的情况,则控制环路无法收敛。这时一般会选择DNL<±1LSB的器件。
INL是积分线性度,指实际的输出相对理想DAC的输出之间的差异,所以也叫relativeaccuracy,用满量程的百分比或者LSB来表示。理论上,某个编码对应输出的INL就是从第一个编码到这个编码所有的DNL的积分,也印证了“积分”这个名称的含义。Datasheet中的INL(或者relativeaccuracy)代表所有输出值最大的INL。这个指标用来衡量DAC输出的准确度如何,应用比较广。特别是在开环应用中,应当关注INL的指标。
除了上面两个线性度的参数,DAC的实际输出曲线还存在其它几种非理想特性,如下面两图所示:
一个无限分辨率的理想DAC输出特性应该是通过原点的一条直线,y=x(这里我们把DAC增益相对理想值归一化成1),但实际的DAC输出特性,用靠近首尾两端的两点拟合一条直线,特性一般是y=ax+b。其中,a代表DAC实际的输出增益,即gain。其相对理想增益的偏差,即gainerror。b代表这条直线整体相对原点向上或者向下偏移的幅度,即offseterror
但实际DAC在code为0附近,输出电压也很低时,由于内部电路接近饱和(特别是带输出buffer的DAC),会出现一定的非线性。所以DAC会有一个额外的参数来标定code为0时输出的偏差,叫zerocodeerror.
另外gain,offset在不同温度下也会产生变化,即gainshift,offseterrorshift。如果客户对温度特性很敏感,要特别关注这两个指标。
特别要提醒的是,由于上面这几项因素的影响,我们不能直接用DAC输出曲线来计算DNL或INL,而必须将gainerror,offseterror计算出来并补偿掉之后,再去计算DNL和INL。如果客户要验证芯片指标,还必须注意数据手册中每一项指标的测试条件。大部分情况下,INL/DNL基于两点法拟合直线的基础上来测量。具体是哪两点,一般在datasheet中都会注明。
1.2DAC的动态指标
下图是一个典型的DAC输出从0附近跳到满摆幅的输出波形:
输出从0到满摆幅变化(或者特定的两个差异较大的值)的总时间,称为settlingtime。输出主要经历两个阶段,一是slewrate,二是linearsettling。slewrate反映了输出大摆幅下的极限驱动能力,一般决定了输出10%~90%变化的时间,。而linearsettling则主要取决于输出节点的RC常数或者输出buffer的带宽。Settlingtime是用户考虑精密DAC速度的重点参数。
如果用户对DAC输出变化要求平稳不能有毛刺的话,则需要关注Glitch和Digitalfeedthrough两个指标。
Glitch主要与DAC核心部分的开关有关。当内部开关从一个点切换到另一个点时,会受到寄生电荷以及开关切换不能理想同步的影响,从而造成输出跳动。跳动的幅度和时间都是我们关注的对象,所以Glitch用nV*S这个二者相乘的单位来表示其能量大小。从其产生原理可见,glitch与具体切换的开关位置有关。Code的高位MSB变化时一般会产生较大的glitch,所以datasheet中普遍定义majorcarry处的glitch。Glitch也和结构有关,R-string的glitch一般比R2R结构的glitch小,原因在第二部分有解释。
Digitalfeedthrough则代表了模拟输出与数字输入的隔离程度。即使DAC没有被选中进行通信,总线上的数字IO信号或时钟跳动通过内部信号通路或者电源地的耦合也会造成DAC输出的跳动,即为digitalfeedthrough。良好的设计可以保证这个值很小。
另外,DAC输出noisedensity也是关注的一部分。DAC的噪声来源可以分几部分:VREF(如果有内部基准源的话,flicknoise+热噪声),内部电阻串(电阻热噪声),输出buffer(flicknoise+热噪声)。用户需要计算不同带宽下输出噪声带来的影响。系统设计时需要限制DAC输出信号的带宽来抑制不必要的噪声。一般来说,不希望带内噪声限制DAC的输出精度。
二、DAC的结构
DAC的数据手册中一般会注明内部是何种结构。下面我们会结合DAC的指标,讨论下常见结构DAC的优缺点,可以帮助理解为何不同结构的DAC有不同的指标,在系统上应该注意哪些重点。
2.1R-string结构
它采用了一串相等的电阻(即R-string的字面含义),从而获得与参考电压成比例的值。典型结构如下图。
这种结构的优点显而易见:
1.当电阻串输出点从下边的开关切换到上边的开关时,输出电压肯定是增加的。所以这种结构天然决定了其良好的单调特性(DNL不会小于-1),这对系统闭环应用是一个很大的好处。
2.一次code变化仅对应两个开关之间的切换,glitch很小,而且与code无关。所以这是一种低glitch结构。缺点是,消耗了大量的电阻和开关器件,受限于半导体电阻器件的匹配度,很难做到高位数。由此可以延伸出分段等改进的方式来减少电阻数量,但校准代价仍然较大,所以有效精度相对较低。
另外,电阻串总值较大,输出阻抗高,限制了其工作速度。并且电阻串输出阻抗随code在不停变化,需要buffer来提供稳定的输出能力。所以在应用上需要注意输出buffer的驱动能力和稳定性,尤其是负载的电容大小。由于上面的特点,这种结构现在被普遍用于12~16位,DNL<+-1LSB(保证单调性)但对INL要求不是非常高(INL大多在12~14位精度)的DAC中。
2.2R-2R结构
如图所示,R-2RDAC只使用两种阻值R和2R的电阻。这种结构的关键在于从任何一个2R电阻的右侧往左看,等效阻抗都是R。可以看到,
原理上,N位DAC只需要2*N个电阻,因为电阻数量少,生产时可以校准到很高的线性度。
这种结构一般是电压输出。而且其输出阻抗恒定为R,这使得连接到输出节点的放大器很容易稳定。在使用外部高速buffer时,这种DAC可以达到更高的速度。当然,也有些R-2RDAC自带输出buffer,这种情况下,速度主要由内部的buffer来决定。
但另一方面,图中的开关必须在宽电压范围(VREF至地)内工作,这给设计和制造都带来难题。在不同code切换时,高低位的多个开关会经历同时导通或者关断的状态,加上开关寄生电荷的影响,输出会出现较大的glitch。
要特别注意的时,基准电压VREF端的输入阻抗会随着代码而大幅改变。因此使用这种DAC时,基准电压输入必须有较强的驱动能力,有时需要增加buffer,如果芯片内部没有基准电压buffer的话。