问:我最近看到一份关于低价格16位、30msps数模转换器(dac)的产品说明。经过检查发现其微分线性误差(dnl)仅达到14位的水平,达到满度阶跃0025%(12位)时的建立时间为35ns1/286mhz。请问这种器件是否最好仅达到14位、28msps水平?如果这种dac仅达到14位的单调性,那么最低两位好像不起作用。为什么产生这种结果?我又怎样验证接线无误呢?
答:这里的问题很多,让我们逐一说明,首先从最后一个问题开始。你可以通过实验来证实第15位和第16位接线正确,当输入数字量为00…00,00…01,00…10和00…11时,观察输出端产生非常好的4等级阶梯波,其中每个阶梯波的高度对应满度值的1/65536。你能够看到,输入的阶梯波高度经过一段时间在00…00与00…11之间摆动,或者在某个更宽的范围内看到更详细的摆动,这些是非常有用的。这正是分辨率技术指标的关键所在,它表明这种dac对于16位数字量表示65536个输入码具有输出对应216个不同电压值的能力。
对于要求既能处理强信号又能处理弱信号的系统,一般需要足够大的动态范围。一个典型的实例就是早期光盘唱机上所用的dac。这种dac虽然有16~20位的动态范围,但是却只有大约14位的dnl。这种表示数字输入的不准确程度远没有动态范围足够宽更为重要。动态范围应该远大于光盘记录的音频范围,并且在重放时,不论是强音或柔声都应有很小的音频噪声。正是由于这种dac的价格很低才为光盘唱机所接受。
一个16位的dac之所以称为“16位dac”是由于其分辨率所致,而分辨率又与其动态范围密切相关。动态范围是指dac可分辨的最大信号与最小信号之比。因此动态范围又取决于噪声大小。在理想的adc或dac中无法消除的噪声属于量化噪声。
问:什么是量化噪声?
答:一个理想的n位dac呈锯齿波形的量化噪声是指按线性增长的模拟量值与其对应的按阶梯形增长的数字量之间的差值。量化噪声的有效值是量程(即峰峰值)的1/(2n+13),或-(602n+1079)db,即位于峰峰值之下。对于正弦波输出信号,如果用峰峰值表示dac的量程,那么其有效值是量程的2/4或-903db。因此一个理想的n位dac的满度信噪比可用db表示为602n+176db
由于模拟信号的改变是通过许多量化阶梯产生的,所以与其伴随的量化噪声就像“白噪声”一样附加在模拟信号上。在dac实际应用中,构成电路的所有器件产生的总量化噪声限制了能检测最小信号的幅值,总噪声是按照各个器件的量化噪声平方和的平方根(rss)形式合成的。
问:我还是担心dnl这项指标。一个dac如果只达到14位dnl,是否意味着它不可能达到16位的单调性?换句话说,是否它的最低两位对总准确度影响不大?
答:确实如此,然而是否值得担心要看应用情况。如果你的仪器在应用中确实需要16位分辨率,全部编码的准确度都达到1/2lsb并且达到规定误差带1lsb的满度建立时间为31.25ns(将在后面作简要讨论),那么这种dac确实不合适。但是,正如前面介绍的例子,如果你实际上只需要16位动态范围来处理小区域的精细结构,那么你不必要求总准确度很高。如果既考虑价格便宜又要求总准确度很高,那么实际上是很难办到的。
关于dnl在信号处理应用中需要考虑的问题是:(1)由dnl引起的噪声能力;(2)dac产生的信号类型。让我们考虑一下这两个问题是如何影响其性能的。
在多数情况下,dac的dnl只在其传递函数中的一些特定点处出现。这种误差作为杂散信号出现在dac的输出信号中,从而降低了其信噪比。如果这些杂散信号很强,致使它与有用信号无法区分,那么这种dnl就是太大了。评价dnl的另一种方法就是利用好码数量与坏码数量的比率,坏码数量多表明dnl大。这就是信号类型的重要性。
dac的应用场合不同,可能关心其传递函数的区域也不同。例如,假定这种dac既能产生很大的信号又能产生很小的信号。当信号很大时,dnl引起的误差占有的比例很高。但是在许多应用中,由于信号本身很大,其信噪比仍符合要求。
现在考虑信号很小的情况。在这种情况下dnl出现在小信号传递函数的实际区域可能很小。实际上,在特定的区域内,由dnl产生的杂散信号的大小可以与dac的量化噪声相比。当量化噪声成为决定信噪比的限制因素时,16位分辨率与14位分辨率相比确实不同(相差12db!)
问:好,我明白了为什么有这么多种类的dac,为什么必须认真理解应用中的各项技术指标。实际上,产品说明或许给出许多典型的工作特性曲线,但难以提供真正有用的信息。那么建立时间是怎么回事?
答:dac的更新速率取决于数字输入电路能接收新输入信号的速率,而建立时间是指模拟输出电路能达到规定的准确度水平所需的时间。通常输入满度数字阶跃信号,从数字输入变迁50%处开始一直到达某个规定的误差带(一般为±1/2lsb)所需要的时间。
正像准确度一样,