1. 精密信号链直流失调误差定位与修正

精密信号链直流失调误差定位与修正 学习卡片

失调误差的分解模型

精密直流信号链的失调误差并非单一来源,而是由多个环节叠加而成。以典型的“传感器 → 仪表放大器 → 运放缓冲 → ADC”链路为例,输出端读到的零点偏移可以分解为三部分:

  • 输入失调电压 VOS:折算到信号链输入端,由运放/仪放的输入级失配产生,经增益放大后出现在输出。
  • 增益误差:实际增益与标称增益的偏差,使同一输入在不同增益档下产生不同的输出斜率,表现为“失调随增益变化”。
  • ADC 零点误差:ADC 自身的偏移误差与量化零点偏移,与前端增益无关,表现为固定输出码偏移。

三者的关键区别在于对增益的依赖关系不同:输入失调随增益线性放大,增益误差使输出斜率偏离理想值,ADC 零点误差则与增益无关。利用这一差异,通过改变增益并测量输出,即可将三者分离。

传感器 V_sensor 仪表放大器 G = 1 / 10 / 100 运放缓冲 单位增益 ADC 16-bit V_out V_OS1 V_OS2 V_OS_ADC 输出失调分解模型 V_out_offset = G · (V_OS1 + V_OS2) + V_OS_ADC G · (V_OS1 + V_OS2) 随增益线性放大 增益误差 ΔG 改变输出斜率 V_OS_ADC 与增益无关 分离方法: ① 短接输入,分别测 G=1 和 G=100 的输出偏移 → 斜率 = 输入失调,截距 = ADC零点 ② 施加已知小信号,测实际增益 → 与标称增益比较得增益误差

测量与分离步骤

以下操作以 16 位 ADC、仪放增益可设为 1/10/100 的信号链为例。所有测量均在输入端短接(Vin=0)条件下进行,以隔离失调项。

  1. 短接输入,设置 G=1,记录 ADC 输出码 N1,换算为电压 Vout1 = N1 · LSB。
  2. 保持短接,设置 G=100,记录输出码 N100,换算为 Vout100。
  3. 计算输入失调:VOS_in = (Vout100 − Vout1) / (100 − 1)。该值折算到输入端,包含仪放和缓冲运放的输入失调。
  4. 计算 ADC 零点误差:VOS_ADC = Vout1 − 1 · VOS_in。
  5. 验证增益误差:施加已知输入 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_ADCADC 内部偏移校准寄存器,或软件减去零点码校准应在系统上电稳定后进行;注意温漂需定期复校

判断优先级:若 VOS_in · G 在最大增益下超过误差预算,优先处理输入失调;若 VOS_ADC 与增益无关且固定,优先用 ADC 校准或软件扣除;若两者均显著,先修输入失调再修 ADC 零点,避免补偿量被增益放大后再次引入误差。

常见误区:仅在单一增益下测量输出偏移,无法区分输入失调与 ADC 零点。必须至少在两个不同增益下测量,才能利用斜率与截距分离两项。此外,短接输入时应确保短接点靠近传感器输出端,避免引入额外热电势。