摘要
在学习Tidm1000的官方程序时,看到ADC采样的偏移增益函数不太明白,于是在ti e2e上搜到这部分内容,讲的很清楚,于是翻译过来,加入了自己的理解,结合实际测量结果对比分析了加入偏移增益方程的效果。
ADC偏移增益概念
有三个主要的术语来描述这个传递函数的准确性。分别为偏移,增益和非线性。这些项中的每一项都有相应的漂移规范,以定义这些项如何随温度变化而变化。
ADC的传递函数可以表示为y=mx+b,其中x轴为输入电压,y轴为相应的输出电压。
- 偏移量是y=mx+b方程中的b项。
- 增益是y=mx+b方程中的m项。
- 非线性解释了y=mx+b方程不能表示的误差。通常是由设备复杂的内部工作引起的。
传递函数例子:
- 红色表示没有任何校准的真实原始输出传递函数;
- 绿色表示理想的传递函数,即ADC是完美的输出;
- 紫色表示执行偏移校准后的输出传递函数。这可以通过缩短ADC的输入,记录输出结果,然后从原始输出中减去该结果来实现;
- 蓝色表示执行增益和偏移校正后的输出传递函数。增益校准可以通过与实际输出形成一条最佳拟合线(如浅蓝色虚线所示),并将这条最佳拟合线与理想输出进行比较来实现。
- 绿色“理想ADC”线和蓝色“偏移和增益校正后的ADC”线之间的变化是非线性的。
Tidm1000中该部分的程序及效果
VIENNA_m_VBusPMMeas_pu = 0.97495237f;
VIENNA_b_VBusPMMeas_pu = 0.0002906f;
VIENNA_m_VBusMNMeas_pu = 0.977087472f;
VIENNA_b_VBusMNMeas_pu = 0.003299208f;
//
// y = mx+ b equation used to reduce offset and gain error
//
VIENNA_vBusPMMeas_pu = VIENNA_m_VBusPMMeas_pu * VIENNA_vBusPMMeas_pu + VIENNA_b_VBusPMMeas_pu;
VIENNA_vBusMNMeas_pu = VIENNA_m_VBusMNMeas_pu * VIENNA_vBusMNMeas_pu + VIENNA_b_VBusMNMeas_pu;
是否使用偏移增益方程的采样结果对比: