1102292_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

1102292_zh-CN

1102292_zh-CN

16位SAR ADC校准<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

1. 校准的工作原理

有三个主要子块对于理解 Kinetis SAR 模块的工作原理非常重要。有一个电容式 DAC、一个比较器和控制模块的 SAR 引擎。在这些区块中,

DAC 最容易受到可能导致 SAR 线性问题的变化的影响。

DAC 采用三组二进制加权电容器按组排列而成,如图 1 所示。代表 SAR 最高有效位 (B15:B11) 的电容器直接连接到比较器的输入。下一组五个电容器(B10:B6)通过故意加大尺寸的缩放电容器连接到 MSB 阵列的顶板。构成 SAR 最低有效位 (B5:B0) 的最后六个电容器通过另一个缩放电容器相应地连接到中间电容器组的顶板。

7991_7991.pngFigure_1.png

图 1.DAC电容的排列

仅校准 MSB 电容器组。由于第一个缩放电容器故意尺寸过大,每个未校准的 MSB 电容器的有效电容都会太小,无法产生准确的结果。然而,因为它们总是太小,我们可以测量每个电容器单独引起的误差量,并将其添加到结果中。

校准从最小的 LSB 电容器 B11 开始。SAR 对所有低于或等于被测电容器 (CUT) 的电容器上的 Vrefl 进行采样,同时将所有较小的电容器连接到 Vrefh。当发生这种情况时,所有 MSB 电容器的顶板都保持在 VDDA。采样阶段完成后,MSB 电容器的顶板可以浮动,而未经测试的 MSB 的底板则连接到 Vrefl。这使得电荷从 CUT 重新分配到较小的电容器。最后,执行 11 位 SAR 算法(对应于小于 MSB 阵列的 11 个电容器),该算法产生的结果指示 CUT 与理想尺寸电容器相比的误差量。对正侧和负侧 DAC 上的五个 MSB 中的每一个重复此过程,并且报告的五个错误值相应地与五个 MSB 相对应。所有这些误差值的幅度都大致相同,单位为 16 位 LSB。参见图 2 的示例。

7992_7992.pngFigure_2.png图 2. 第 11 位校准示例


DAC MSB 误差是累积的。也就是说,如果设置了 DAC 的第 11 位,那么错误就是该位的错误。然而,如果设置了 DAC 的第 12 位,则总误差等于第 12 位报告的误差加上第 11 位报告的误差。对于每个 MSB,误差按如下方式计算,其中 Ex 是在校准其相应 MSB 位时发现的误差:

  • 当 DAC 的第 11 位被设置时:CLx0 = E0。
  • 当 DAC 的第 12 位被设置时:CLx1 = E0+E1。
  • 当 DAC 的第 13 位被设置时:CLx2 = E2 + E1 + 2E0。
  • 当 DAC 的第 14 位被设置时:CLx3 = E3 + E2 + 2E1 + 4E0。
  • 当 DAC 的第 15 位设置时:CLx4 = E4 + 2E3 + 4E2 + 8E1 + 16E0

7993_7993.pngFigure_3.png
图3. 校准误差对ADC响应的影响

这些值随后会被放入每个 CLxx 校准结果寄存器中。图 3 显示了如果所有 CLxx 寄存器均设置为零,误差将如何累积。失调和增益寄存器也是基于这些值计算的。因此,增益和失调寄存器仅校准 SAR 本身内部的误差。自校准无法补偿电路板或系统级增益或失调问题


2. 推荐的校准程序

从以上描述可以看出,校准过程实际上是多次连续的模数转换。这些转换容易受到所有 ADC 转换中相同误差源的影响。由于主要测量的是 MSB 电容大小的误差,因此建议以适当的方式配置 SAR,以便在校准 SAR 的环境中实现尽可能精确的转换。 噪声是造成此过程中批次间差异的主要原因,因此应采取措施降低校准过程中噪声的影响。例如:

  • 所有数字 IO 应保持静默,并且应禁用不必要的模块。
  • Vrefh 应尽可能稳定且电压较高,因为 Vrefh 越高意味着 ADC 代码宽度越大。隔离的 Vrefh 引脚是理想的。缺少这一点,使用隔离的 VDDA 作为参考比使用 VREFO 更好。
  • 使用的时钟应尽可能无噪声,并且小于或等于 6 MHz。为此,校准所需的时钟源顺序应为 OSC > PLL > FLL > ASYNC
  • 硬件平均应设置为最大 32 个样本。
  • 低功耗转换位应设置为 0。
  • 校准应在室温下进行。

高速转换和采样时间加法器在大多数情况下不会产生太大影响,并且校准程序完全忽略了 Diff 和 Mode 位。

应针对上述条件下芯片上的每个 SAR 实例获取校准值。它们应该存储在非易失性存储器中,然后在 ADC 寄存器值被清除时写入适当的寄存器中。

在某些情况下,存在的系统噪声仍然会导致校准程序表现出大于期望的运行间变化。一个经验法则是重复校准几次并查看 CLx0 寄存器。如果该寄存器中报告的值相差超过三,则可以实施以下程序。运行校准程序几次。二十到四十次。将每个校准寄存器的值放入相应的数组中。对每个数组执行冒泡排序并找到每个校准寄存器的中值。按照典型校准结果的描述使用这些中值。

Kinetis E系列MCUKinetis EA系列MCUKinetis K系列MCUKinetis L系列MCUKinetis V系列MCU/单片机Kinetis W系列MCU
Tags (1)
No ratings
Version history
Last update:
‎01-06-2026 01:48 AM
Updated by: