DNL:Differencial NonLiner(微分非线性度)
每一小格长度和理想的一小格长度(定为1mm)之间的误差。比如说尺子有疏有密,假设这把尺子有些小格的实际长度分别为: 0.8mm, 0.9mm, 1.0mm,1.1mm,1.3mm。那么 1.3mm的小格对应的“微分非线性”为:1.3mm–1mm = 0.3mm,0.8mm的小格对应的“微分非线性”为0.8mm–1mm = -0.2mm。取最大的误差值0.3mm(也就是0.3LSB)定义为这把尺子的“微分非线性”。
INL:Interger NonLiner(积分非线性度)(精度主要用这个值来表示)
表示实际值能偏离理想值的最大值。单位是LSB(即最低位所表示的量)。
它是累积的效果,比如第1点偏+0.1LSB、第2点偏+0.2LSB、第3点偏+0.3LSB,到第3点的INL就是+0.6LSB,第3点实际值和理想值就是差了0.6LSB。
如果第1点偏+0.1LSB、第2点偏+0.2LSB、第3点偏-0.3LSB,到第3点的INL就是0,第3点实际值和理想值反而相等,没有误差了。
总结
1、DNL是只管自己这一格的变化与理想值的差值,比如自己这一格变化1.2mm,理想值是1mm,那么DNL就是+0.2mm。
2、INL是看前后的累积值,如果连着几个正偏,那么自己这格的值会与理想值差很多,因此能够反映实际值与理想值最大能差多少,因此用这个指标来表示精度。比如某个ADC的INL=+0.6LSB,那么就表示整个采集范围的实际值最多比理想值大0.6LSB。
3、举个例子:12位ADC:TLC2543,INL值为1LSB。如果基准4.095V,LSB=1mv,测某电压得的转换结果是1000,那么,真实电压值可能分布在0.999~1.001V之间。对于DAC也是类似的。比如DAC7512,INL值为8LSB,那么,如果基准4.095V,给定数字量1000,那么输出电压可能是0.992~1.008V之间。
其他
1、很多分辨率相同的ADC,价格却相差很多。除了速度、温度等级等原因之外,就是INL、DNL这两个值的差异了。比如AD574,贵得很,但它的INL值就能做到0.5LSB,这在SAR型ADC中已经很不容易了。换个便宜的2543吧,速度和分辨率都一样,但INL值只有1~1.5LSB,精度下降了3倍。
2、积分非线性一般以百分比给出,或者以位数给出。举个例子:AD7705(16位)的datasheet上说有0.003%的非线性。1LSB为1/65535=0.0015%,所以也可说AD7705有2LSB的非线性。“微分非线性”不常用, AD7705的datasheet上说:“16位无失码”,那就是说明它的微分非线性小于1LSB。