DAC的指标和结构 DAC芯片的原理和分类

在电子系统中,数模转换器芯片(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的话。    
2.3mdac结构
上图即为mdac(乘法dac)。这种dac其实是一种电流型的r-2rdac。其与电压型r-2rdac的区别在于,vref连到电阻串的末端,开关则直接连到输出虚地点。每一级电阻支路均将前级流入的电流减半,所以最终输出的总电流为
从传递特性上看,所有的dac严格意义上说都是乘法dac,但mdac这种结构,基准电压由于不连接内部开关,所以可以在很宽的范围内变化,甚至是双极性、交流电压或者比电源高很多的电压。所以“乘法”dac特指有这种特性的dac。mdac通过内部反馈电阻和外接运放,可实现与vref成比例的电压输出。由于电阻网络的开关始终处于虚地低电位,因此对开关的设计要求较低。另外,切换开关时可以通过先导通再关断的方式,将其引入的glitch降到最低。另外,与r2rdac相反,mdac输出阻抗随code而变化,这对外部运放的环路稳定性有一定的要求。       
2.4不同结构的dac比较
三、dac芯片的原理和分类:
dac芯片的原理是将数字信号转换成电压或电流等模拟信号。数字信号首先经过处理器的处理,然后输入到dac芯片的数字输入端口。dac芯片内的转换器将数字信号转换为模拟信号,然后经过放大器和输出滤波器进行放大和滤波,最终输出为模拟信号。    
dac芯片的分类有很多方式根据dac芯片的输出类型,dac芯片可以分为电压型(voltagedac)和电流型(currentdac)两种类型。
根据数字输入类型的不同,dac芯片可以分为并行式和串行式两种类型。
(上面的2张图片是并行)
(上面的2张图片是串行)
四、关于dac的性能有几个重要的参数:
1.分辨率:分辨率是指dac芯片的数字输入值和模拟输出值之间的最小差异。
2.采样速率:采样速率是指dac芯片输入的数字信号的采样速率,通常以每秒采样次数(samplespersecond,sps)来表示。
(上方的图是采样率)
(上方的图是采样率和分辨率)
3.电压输出范围:dac芯片的电压输出范围通常是固定的,可以是单电源输出或双电源输出。单电源输出范围通常是0v到vref,双电源输出范围通常是±vref/2或±vref。
dac芯片的电压输出范围和分辨率决定了转换后的模拟信号的精度和范围,而采样速率则决定了dac芯片的输出速度和驱动能力。开发者在选择dac芯片时需要综合考虑各种参数和特性,并根据自己的应用需求来选择合适的dac芯片。
五、peakdac介绍
3peak推出了12~16bit,1~8通道的一系列精密dac产品。内部结构则为上面所述r-string结构,内置输出buffer。具有最高16位的单调性(dnl<+-1lsb),12位的相对精度。采用工业级制造工艺和封装,工作温度达-40°~125°。适合在plc/dcs、伺服控制、模拟量输出、4~20ma变送等领域使用。3peakdac产品经过在工业级领域的数年量产,性能和可靠性已经得到充分证明,是代替传统pwm方式或者价格昂贵的dac产品的高性价比选择。    
5.1、3peakdac功能框图:
5.2、3peakdac产品系列
5.3、3peakdac产品性能列表:
六、dac应用实例
在工业领域,4~20ma是最常见的模拟信号传输方式之一,可靠性高,抗干扰能力强,传输距离远。在下面这个传感器变送器的应用实例中,采用分立的3peak的运放和dac芯片,来放大传感器信号,并转化成4~20ma输出。(绿色为3peak可提供的器件种类)
简单计算可知:
由(1),(2),(3)可得环路输出电流:
如果用传统低成本的pwm方式得到高分辨率的模拟输出信号,必然要求mcu的主频很高,而且长时间的滤波导致系统响应速度慢。由于电源的纹波很大,有时需要采用vref开关方波来代替电源方波的方式来提升精度,设计更加复杂,外围器件成本高。使用合适的外置dac,在成本增加很少的情况下,可获得性能上的明显提升,并显著降低系统设计难度。有些mcu也会内置dac,但其dac一般精度有限,且增加了mcu成本。使用外置dac可以降低对mcu的功能要求,选择更加灵活,而且可以达到更高的精度,免去在速度和精度上的困难折衷,方便更优化的系统设计。 
1.dac在音频处理器中可以将数字音频信号转换成模拟音频信号,以便输出到扬声器、耳机等音频设备中。
2.dac在无线电通信中,dac芯片可以将数字调制的信号转换成模拟信号,再经放大后发送。
3.测试仪器领域也是dac的重要应用领域之一,包括信号发生器、数字示波器、频谱分析仪等。在这些应用中,dac被用于生成测试信号,可以实现高精度、高稳定性的测试结果。
4.dac也在医疗设备领域得到了广泛的应用,主要包括医疗图像、心电图、超声波等方面。高质量的dac可以实现精确的信号转换和处理,提供更准确、可靠的诊断结果。
aiot大数据

全球首款20:1显示屏亮相 大宝剑设计亮瞎眼
持续逐出与互连反压相结合可能导致写回无分配存储发生停滞
AT32 MCU DMA通道的灵活配置
***破晓时,信创行业正扬帆
洲明在浔阳打造的700㎡户外裸眼3D巨屏成功点亮
DAC的指标和结构 DAC芯片的原理和分类
电机碳刷火花大是什么原因
Arm SoC的电源和时钟管理详解
摩尔线程究竟是家怎样背景的企业?
电子“芯”闻早报:智能领跑2015
智能出入口控制系统的创新发展
单电源互补推挽功放电路及原理分析
常规五参数浮标AD叶绿素水质在线监测你了解过吗?
弘积科技VADP应用交付平台获得2020年度技术卓越奖
美国将在月球建4G网络 预计2022年下半年部署
hll_hll是什么意思
智慧银行革新,金融工控主板引领自动化升级风潮
为通行更顺畅,各地积极推进智能健康防疫查验终端应用
新能源汽车的未来是纯电动车与燃料电池车共存?
Micro LED企业赛富乐斯再获1.1亿元B轮融资