1. 精密信号链直流失调误差定位与修正
失调误差的分解模型
精密直流信号链的失调误差并非单一来源,而是由多个环节叠加而成。以典型的“传感器 → 仪表放大器 → 运放缓冲 → ADC”链路为例,输出端读到的零点偏移可以分解为三部分:
- 输入失调电压 VOS:折算到信号链输入端,由运放/仪放的输入级失配产生,经增益放大后出现在输出。
- 增益误差:实际增益与标称增益的偏差,使同一输入在不同增益档下产生不同的输出斜率,表现为“失调随增益变化”。
- ADC 零点误差:ADC 自身的偏移误差与量化零点偏移,与前端增益无关,表现为固定输出码偏移。
三者的关键区别在于对增益的依赖关系不同:输入失调随增益线性放大,增益误差使输出斜率偏离理想值,ADC 零点误差则与增益无关。利用这一差异,通过改变增益并测量输出,即可将三者分离。
测量与分离步骤
以下操作以 16 位 ADC、仪放增益可设为 1/10/100 的信号链为例。所有测量均在输入端短接(Vin=0)条件下进行,以隔离失调项。
- 短接输入,设置 G=1,记录 ADC 输出码 N1,换算为电压 Vout1 = N1 · LSB。
- 保持短接,设置 G=100,记录输出码 N100,换算为 Vout100。
- 计算输入失调:VOS_in = (Vout100 − Vout1) / (100 − 1)。该值折算到输入端,包含仪放和缓冲运放的输入失调。
- 计算 ADC 零点误差:VOS_ADC = Vout1 − 1 · VOS_in。
- 验证增益误差:施加已知输入 Vcal(如 10 mV),分别测 G=1 和 G=100 的输出,计算实际增益 Gactual = (Vout100 − Vout1) / Vcal,与标称 100 比较得增益误差百分比。
示例数据(教学假设):LSB = 76.3 µV(16 位、5 V 满量程)。短接时 G=1 输出码 42,G=100 输出码 1580。
Vout1 = 42 × 76.3 µV ≈ 3.20 mV;Vout100 = 1580 × 76.3 µV ≈ 120.6 mV。
VOS_in = (120.6 − 3.20) / 99 ≈ 1.19 mV;VOS_ADC = 3.20 − 1.19 ≈ 2.01 mV。
结论:输入失调约 1.19 mV,ADC 零点约 2.01 mV,两者量级接近,需分别修正。
修正方案
| 误差来源 | 修正手段 | 注意事项 |
|---|---|---|
| 输入失调 VOS_in | 选用低失调运放/仪放(如斩波稳零型),或在仪放 REF 引脚注入补偿电压 | 补偿电压需低噪声、低温漂;注入点应在增益级之后以避免被放大 |
| 增益误差 ΔG | 使用精密电阻(0.1% 或更高),或软件两点校准 | 校准点应覆盖实际工作范围;电阻温漂需匹配 |
| ADC 零点 VOS_ADC | ADC 内部偏移校准寄存器,或软件减去零点码 | 校准应在系统上电稳定后进行;注意温漂需定期复校 |
判断优先级:若 VOS_in · G 在最大增益下超过误差预算,优先处理输入失调;若 VOS_ADC 与增益无关且固定,优先用 ADC 校准或软件扣除;若两者均显著,先修输入失调再修 ADC 零点,避免补偿量被增益放大后再次引入误差。
常见误区:仅在单一增益下测量输出偏移,无法区分输入失调与 ADC 零点。必须至少在两个不同增益下测量,才能利用斜率与截距分离两项。此外,短接输入时应确保短接点靠近传感器输出端,避免引入额外热电势。