看懂软件中ADC模型的help文件,需要懂的知识点也是不少的哈!
比如说,SystemVue中的AtoD模型,上面的设置参数要搞明白,那也不容易的。
打开AtoD模型的参数设置,首先映入眼帘的是这个。
这里有10项设置。如果做了选择以后,项目数又会增多。
(2)
参照help文件,先来说一说前3项哈!
NBits,就是我们平时说的8位,12位ADC中的8位和12位。即设置ADC的分辨率,这个设定完后,ADC就有2^NBits个量化电平。
比如说,Nbits=3,那么ADC就有8个量化电平。
VRef,是设定ADC的参考电压。输入信号的幅度,需要位于[-Vref,Vref]之间,否则就会发生clipping。
OutputDigitalFormat,设定ADC输出的编码模式。如果OutputDigitalFormat=Offset binary,那么ADC的数字输出在[0,2^NBits-1]之间;如果OutputDigitalFormat=Twos-complement,那么ADC的输出就在[-2^(NBits-1),2^(NBits-1)-1]。
help文件中,画了两幅图,很好的把上面的三个参数联系起来了。
(3)
还有INL, DNL参数。
INL全称是integral nonlinearities,积分非线性。
INL是指在补偿完offset error和gain error后的ADC的传输函数与理想ADC传输函数的偏移,单位为LSB。
文献【1】中提到,ADI一般采用End Point Method来测量INL,即取测得曲线的首尾的点连成直线,并且调整完offset error和gain error以后,如下图所示。
那什么是gain error和offset error呢,看下面的图就明白了。
DNL,是differential nonlinearities,差分非线性,定义的是任意码偏离理想的1LSB步进的程度。
在理想情况下,模拟信号中一个LSB的变化,严格地对应数字码中一个LSB的变化。但是实际情况下,不是。
比如说,2bit的ADC,共有4个码。理想情况下步进为1LSB,如下图实线所示,但是实际上,可能小了0.5LSB或者1LSB。
DNL误差小于1LSB,才能保证ADC具有no missing codes。所谓no missing code,是指当输入模拟电压在[-Vref,Vref]中变化时,ADC的输出数据会包含所有的码。
(4)
在EnableJitter选项中,有三种,分别位No, Time Domain, Frequency Domain。
这个抖动可以用时域的抖动或者频域的相噪来表示。这样子,还是很贴心的。这样就不需要去找小软件来进行两者的转换了。
参考文献:
[1] SystemVue 的help文件
[2] ADI application note, chapter 2 Fundamentals of Sampled Data Systems