stm32ad转换精度
STM32 微控制器内置的 ADC(模数转换器)的精度是一个复杂的话题,它不仅仅取决于 ADC 本身的分辨率(如 12 位、16 位),还受到众多硬件设计、环境因素和软件配置的显著影响。
以下是影响 STM32 ADC 精度的关键因素和提升精度的常用方法:
-
ADC 核心的分辨率与固有误差:
- 分辨率: 表示 ADC 能把输入电压分成多少个离散的等级。例如:
- 12 位 ADC: 理论上有 4096 (2¹²) 个输出码值。这是 STM32 中最常见的 ADC 分辨率。
- 16 位 ADC: 理论上有 65536 (2¹⁶) 个输出码值(存在于部分高性能系列如 F3, L4+, H7 等)。
- 精度 vs 分辨率: 分辨率高不等于精度高。 精度是指 ADC 输出的数字值在多大程度上真实反映了实际的模拟输入电压。即使是一个 16 位的 ADC,如果误差很大,其有效精度可能远低于 16 位。
- 固有误差参数 (在数据手册中指定):
- 偏移误差: 实际转换曲线的零点与理想曲线零点的偏差。
- 增益误差: 实际转换曲线的斜率(满量程点)与理想曲线斜率的偏差。
- 积分非线性误差: ADC 实际转换函数与理想直线之间的最大偏差。衡量线性度。
- 微分非线性误差: 实际步长(1 LSB)与理想步长(1 LSB)的最大偏差。如果 DNL > |1LSB|,可能会发生丢码。
- 总不可调整误差: 综合考虑了偏移、增益和 INL 误差后,在特定条件下(如 VREF+, 温度)的最大偏差,通常用 LSB 或 %FSR(满量程范围)表示。这是评估 ADC 核心自身精度的关键指标。通常数据手册会给出典型值和最大值。
- 分辨率: 表示 ADC 能把输入电压分成多少个离散的等级。例如:
-
参考电压源:
- 极其关键! ADC 的转换结果是相对于其参考电压 (
VREF+) 而言的。公式大致为:Digital Value = (VIN / VREF+) * (2^N - 1)。 - 稳定性:
VREF+的电压波动(噪声、纹波、温漂)会直接线性地反映到转换结果上,引入误差。 - 精度:
VREF+本身的初始精度(相对于标称值)也会影响整体精度。 - 建议:
- 使用专用、高精度、低噪声、低温漂的基准电压源芯片 给
VREF+引脚供电(如 REF3030, LM4040 等),而不是直接使用供电电压 (VDDA)。 - 确保
VREF+引脚有良好的去耦(通常用 1uF 陶瓷电容 + 100nF 陶瓷电容并联,靠近引脚放置)。
- 使用专用、高精度、低噪声、低温漂的基准电压源芯片 给
- 极其关键! ADC 的转换结果是相对于其参考电压 (
-
供电电源质量:
VDDA(模拟供电)和VSSA(模拟地)的质量对 ADC 性能至关重要。- 噪声与纹波: 电源上的噪声(尤其是高频开关噪声)会耦合进 ADC 内部,降低有效分辨率,引起输出值跳动。
- 建议:
- 使用干净的 LDO(低压差线性稳压器)为模拟部分 (
VDDA/VREF+) 供电,避免使用开关电源(DC-DC)。 VDDA和VREF+引脚必须使用 低 ESR 的陶瓷电容 进行充分的去耦(典型值:1uF + 100nF,紧靠引脚)。- 物理上分离模拟电源走线和数字电源走线,并在电源入口处单点连接。
- 使用干净的 LDO(低压差线性稳压器)为模拟部分 (
-
模拟输入信号源与信号调理:
- 源阻抗: ADC 的模拟输入引脚有内部采样电容,在采样期间会通过源阻抗进行充电。如果源阻抗过高,会导致采样不充分,引入增益误差和线性度下降。
- 带宽与噪声: 高频噪声或信号超过 ADC 输入带宽(受限于采样时间配置)会导致混叠失真。
- 建议:
- 如果信号源阻抗较高(> 几 KΩ),务必在信号源和 ADC 输入引脚之间添加一个 RC 低通滤波器(抗混叠滤波器)。电阻 R 用于限制充电电流峰值并帮助滤波,电容 C(典型值 100pF - 1nF)用于在采样瞬间提供瞬时电荷,并滤除高频噪声。选择 C 值时需考虑
R * C时间常数远小于 ADC 的采样时间 (tSAMPLE)。 - 确保信号电平在 ADC 的输入范围内 (
0V - VREF+)。可以使用运算放大器进行缓冲、缩放或电平移位。
- 如果信号源阻抗较高(> 几 KΩ),务必在信号源和 ADC 输入引脚之间添加一个 RC 低通滤波器(抗混叠滤波器)。电阻 R 用于限制充电电流峰值并帮助滤波,电容 C(典型值 100pF - 1nF)用于在采样瞬间提供瞬时电荷,并滤除高频噪声。选择 C 值时需考虑
-
PCB 布局与接地:
- 接地: 糟糕的接地是精度下降的常见原因。
- 分离模拟地 (
AGND/VSSA) 和数字地 (DGND/VSS)。 这两者应该在 PCB 上物理分开,仅在一点(通常在 MCU 下方或电源入口处)用低阻抗路径(如宽铜箔)连接起来,构成“星型”接地。 - 避免数字返回电流流经模拟区域的地平面。
- 分离模拟地 (
- 布局:
- 将 ADC 相关的模拟元件(参考源、输入 RC 滤波器、去耦电容)尽量靠近 STM32 的相应引脚放置。
- 让模拟信号走线远离高速数字信号线(如时钟、总线、PWM)、电源线、电感等噪声源。必要时使用地平面作为屏蔽。
- 保持模拟走线短而直,避免形成环路。
- 接地: 糟糕的接地是精度下降的常见原因。
-
时钟源:
- ADC 时钟 (
ADCCLK) 应稳定且低抖动。通常来源于系统时钟 (SYSCLK) 的分频。 - 确保
ADCCLK频率不超过数据手册为该型号 ADC 指定的最大允许频率(通常为几 MHz 到几十 MHz)。过高的时钟会影响精度。 - 使用高质量的晶振作为主时钟源。
- ADC 时钟 (
-
采样时间配置:
- 采样时间 (
tSAMPLE) 必须设置得足够长,以使内部采样电容能够充分充电到输入信号电压。 - 所需的最小采样时间取决于:
- 模拟输入源阻抗(包括外部串联电阻)。
- 内部采样电容值(在数据手册电气特性部分给出)。
- 外部滤波电容(如果使用了 RC 滤波器)。
- 建议: 根据上述因素计算所需的最小采样时间,然后在 CubeMX 或代码中设置比该值更长的采样时间(STM32 通常提供多个可选的采样时钟周期数)。过短的采样时间会导致显著的转换误差。
- 采样时间 (
-
软件技术与校准:
- 多次采样取平均: 最简单有效的提高有效分辨率、降低噪声影响的方法。采集 N 次(如 4, 8, 16, 32, 64, 256),然后求平均值。这会增加转换时间,但显著降低输出值的跳动(标准差降低 √N 倍)。
- 过采样与抽取: 以高于目标有效分辨率所需的速率采样(过采样),然后通过数字滤波(如移动平均)和抽取(降采样)来提高有效位数。例如,4x 过采样 + 平均可以将有效分辨率提高 1 位。
- 校准:
- 偏移校准: STM32 ADC 通常提供内部校准机制(通过 HAL 库函数
HAL_ADCEx_Calibration_Start调用),用于消除内部的偏移误差。上电后或温度变化较大时建议执行一次。 - 系统校准: 对于更高精度要求,可以在已知的精确输入电压(如 0V/GND 和 VREF+)下读取 ADC 输出,计算实际的增益和偏移误差,然后在软件中进行校正(两点校正)。
- 偏移校准: STM32 ADC 通常提供内部校准机制(通过 HAL 库函数
- 数字滤波: 除了平均,可以使用更复杂的 FIR/IIR 滤波器进一步平滑数据。
-
环境因素:
- 温度: ADC 的偏移、增益误差和参考电压都会随温度漂移。数据手册会给出相应的温度系数(如 Offset Drift, Gain Drift, VREF Tempco)。
- 电源电压:
VDDA的变化会影响精度。 - 建议: 对于高精度或宽温度范围应用,需要考虑温度补偿或选择低温漂的器件(包括 MCU 和外部基准源)。
总结:
STM32 ADC 的理论分辨率(12 位或 16 位)不等于其实际能达到的精度。实际精度是一个系统级指标,受到 ADC 核心固有误差、参考电压质量、电源噪声、信号源特性、PCB 布局布线、时钟稳定性、采样时间配置、软件处理技术以及环境温度等多种因素的综合影响。
要达到最优精度,必须:
- 使用高精度、低噪声、低温漂的外部基准电压源。
- 确保模拟电源 (
VDDA) 极其干净(LDO + 充分去耦)。 - 精心设计 PCB 布局,严格分离模拟/数字部分,实现良好接地。
- 合理配置采样时间,必要时添加输入 RC 滤波器。
- 在软件中实施多次采样平均、校准(偏移校准和可能的系统两点校准)。
- 考虑温度影响(选择合适器件,必要时补偿)。
数据手册中的 “Total Unadjusted Error” 参数是在特定条件下对 ADC 核心自身极限精度的一个度量。在实际应用中,要达到接近这个极限的精度,上述所有环节都需要精心设计和处理。忽略任何一点都可能导致有效精度远低于理论分辨率。对于要求很高的应用(如精密测量),通常需要配合高精度外部 ADC 芯片。
STM32驱动ADS1256串口输出-AD转换
文章介绍了如何使用STM32通过SPI接口初始化并驱动ADS1256高精度AD转换器,包括ADS1256的芯片特点、引脚说明、模块配置、程序初始
2025-07-01 14:59:30
STM32F407VET6 一款STM32位微控制器MCU(ST意法)
1970-01-01 08:00:00 至 1970-01-01 08:00:00
STM32多个ADC模块同时采样转换的应用示例
STM32多个ADC模块同时采样转换的应用示例(深圳市普德新星电源技术有限公司怎么样)-本文重点介绍利用含有3个ADC模块的STM32F4、
资料下载
石玉兰
2021-08-04 18:47:30
如何在STM32Fx系列和 STM32L1 系列器件中获得最好的ADC精度
如何在STM32Fx系列和 STM32L1 系列器件中获得最好的ADC精度(核达中远通电源技术股份有限公司)-如何在
资料下载
佚名
2021-08-04 16:42:29
基于STM32和CPLD可编程逻辑器件的等精度测频资料下载
电子发烧友网为你提供基于STM32和CPLD可编程逻辑器件的等精度测频资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工
资料下载
微风挽雨
2021-04-16 08:50:47
STM32F429NIH6 一款STM32位控制MCU
1970-01-01 08:00:00 至 1970-01-01 08:00:00
如何提高AT32 MCU ADC转换精度
AT32的微控制器内置最多三个高级12位片上SAR模拟数字转换器(ADC)并提供自校准功能,用于提高环境条件变化时的ADC精度。在涉及模数转换的
2022-10-24 12:04:09
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机