关于PPM和LSB
一、ppm:百万分之一
ppm是英文part per million的缩写,表示百万分之几,在不同的场合与某些物理量组合,常用于表示器件某个直流参数的精度。下面举例说明。
1.用于描述电压基准(Voltage reference)的温度漂移值大小
在基准电压的数据手册里,我们会找到一个描述基准性能的直流参数,称为温度漂移(也称温度系数)或简称TC(Temperature Coefficient),通常以ppm/℃表示。对于基准电压而言,1ppm/℃表示当环境温度在某个参考点(通常是25℃)每变化1℃,输出电压偏离其标称值的百万分之一。例如,某电压基准标称值为2.5V,TC为±10ppm/℃,那么当环境温度在25℃基础上每变化1℃和10℃时,其输出电压将变为:
2.5V±10ppm/℃X1℃=2.5V±0.000025V
2.5V±10ppm/℃X10℃=2.5V±0.00025V
二、LSB:英文 least significant bit,中文义最低有效位。
当选择模数转换器(ADC)时,最低有效位(LSB)这一参数的含义是什么?有位工程师告诉我某某生产商的某款12位转换器只有7个可用位。也就是说,所谓12位的转换器实际上只有7位。他的结论是根据器件的失调误差和增益误差参数得出的,这两个参数的最大值如下:
失调误差 =±3LSB,
增益误差 =±5LSB,
乍一看,觉得他似乎是对的。从上面列出的参数可知最差的技术参数是增益误差(±5 LSB)。进行简单的数学运算,12位减去5位分辨率等于7位,对吗?果真如此的话,ADC生产商为何还要推出这样的器件呢?增益误差参数似乎表明只要购买成本更低的8位转换器就可以了,但看起来这又有点不对劲了。正如您所判断的,上面的说法是错误的。
让我们重新来看一下LSB的定义。考虑一个12位串行转换器,它会输出由1或0组成的12位数串。通常,转换器首先送出的是最高有效位(MSB)(即LSB + 11)。有些转换器也会先送出LSB。在下面的讨论中,我们假设先送出的是MSB(如图1所示),然后依次送出MSB-1 (即 LSB + 10)和MSB -2(即LSB + 9)并依次类推。转换器最终送出MSB -11(即LSB)作为位串的末位。
LSB这一术语有着特定的含义,它表示的是数字流中的最后一位,也表示组成满量程输入范围的最小单位。对于12位转换器来说,LSB的值相当于模拟信号满量程输入范围除以2^12 或 4,096的商。如果用真实的数字来表示的话,对于满量程输入范围为4.096V的情况,一个12位转换器对应的LSB大小为1mV。但是,将LSB定义为4096个可能编码中的一个编码对于我们的理解是有好处的。
让我们回到开头的技术指标,并将其转换到满量程输入范围为4.096V的12位转换器中:
失调误差 = ±3LSB =±3mV,
增益误差 =±5LSB = ±5mV,
这些技术参数表明转换器转换过程引入的误差最大仅为8mV(或 8个编码)。这绝不是说误差发生在转换器输出位流的LSB、LSB-1、LSB-2、LSB-3、LSB-4、LSB-5、LSB-6和 LSB-7 八个位上,而是表示误差最大是一个LSB的八倍(或8mV)。准确地说,转换器的传递函数可能造成在4,096个编码中相差最多8个编码。例如,误差为+8LSB ((+3LSB失调误差) + (+5LSB增益误差)) 的一个12位转换器可能输出的编码范围为0 至 4,095,实际的有效编码为4096/8 ,即2^9=512个。这个例子给出的都是最坏情况。在实际的转换器中,失调误差和增益误差很少会如此接近最大值。
实际应用
在实际应用中,由于ADC失调或增益参数的改进而使性能提升的程度微不足道,甚至可以忽略。但是,对于那些将精度作为一项设计目标的设计人员来说,这种 假设太过绝对。利用固件设计可以很容易地实现数字校准算法。但更重要的是,电路的前端放大/信号调理部分通常会产生比转换器本身更大的误差。
通过上面的讨论可以对本文开头提到的错误结论有一个更为全面而清晰的认识。事实上,上述的12位转换器的精度约为11.997位。采用微处理器或单片机可以利用简单的校准算法消除这种失调和增益误差,这对设计人员来说无疑是个好消息。