恒定 STM32L4 ADC 偏移误差的可能来源

Possible sources of constant STM32L4 ADC offset error

我已经使用 STM32l4 ( STM32l342kc nucleo-32 ) 线几年了,在我目前正在进行的项目中,我意识到我的读数有一个恒定的负 ADC 偏移(大约 52mV) .

系统 运行 处于 10 位连续模式,具有 DMA 传输和硬件 8X 过采样。出于某种原因,第一次计数开始时比预期高约 50mV(第一次计数开始于 52mV 而不是预期的 3mV)。当我用 3306mV 使 ADC 饱和时,ADC 记录一个比最大计数低 52mV 的信号(读起来好像是 3248mV)。我已经通过 3 次外部电压测量确认我发送的电压是准确的。

我试过同时输入两个 buffered/un-buffered/low 阻抗直流信号,结果是一样的。我还玩过系统的采样时间,结果在所有测试中都是可重复的。

最后说明,STM32 运行 在 ST 的官方开发板上,我还测试了不同的 ADC 通道,所有测量都是在面包板和 MCU 的引脚上进行的,以决定连接不良。我也尝试过不使用 8 倍过采样。

我想知道是否有人对我可能忽略的错误的可能来源有任何建议 and/or 我可以 test/implement 的任何可能的解决方案。提前谢谢你。

STM32L432KC Nucleo 板没有附带高精度参考。正如您所指出的,它只是为设备的模拟区域供电的 3.3V LDO。这很可能是您的错误来源,因为它是一个相对便宜、不准确的产生 3.3V 的部件。校准有助于消除偏移和增益误差,并可导致更准确的测量,但如果您使用从 LSB 到绝对值的典型转换方法(并且您正在寻找该绝对值),则不正确的参考会给您带来该错误马上回来。系列参考的第 517 页显示了如何在软件中实现这一点。

在此方法之上,您可以尝试使用系列参考第 582 页上概述的过程通过内部参考测量参考的绝对电压。如果您结合这种方法来很好地了解 LDO 的 Vref+ 是什么,并结合适当的校准,您可能能够减少偏移误差,以及您显示的轻微增益误差。

资源: STM32L4 Family Reference, Best ADC Accuracy Procedures