stm32f1 adc精度
STM32F1 系列的 ADC(模数转换器)的理论精度为 12 位,对应的分辨率为 1 LSB(最低有效位),即满量程(如 3.3V 参考电压)下可区分的最小电压变化约为 0.8mV(3.3V/4096)。但在实际应用中,ADC 的精度会受到以下因素的影响:
影响 ADC 精度的主要因素
-
电源噪声和参考电压稳定性
- ADC 的参考电压(VREF)波动会直接影响精度。建议使用低噪声、高稳定性的参考电压源(如外部基准源)。
- 电源纹波需尽量小,建议对模拟电源(VDDA)和地(VSSA)进行滤波(如 RC 滤波或磁珠隔离)。
-
PCB 布局与接地
- 模拟信号走线应远离数字信号和高频信号,避免耦合噪声。
- 确保模拟地(AGND)和数字地(DGND)单点连接,避免地环路干扰。
-
采样时间设置
- 输入信号的源阻抗较高时,需延长 ADC 的采样时间(通过
SAMPLETIME寄存器配置),确保采样电容充分充电。
- 输入信号的源阻抗较高时,需延长 ADC 的采样时间(通过
-
外部信号源阻抗
- 信号源阻抗过高会导致采样失真。建议在信号源与 ADC 输入之间串联电阻(如 100Ω~1kΩ)并并联小电容(如 100pF~1nF),形成低通滤波。
-
温度漂移
- ADC 的增益和偏移会随温度变化,高温环境下误差可能增大。若需高精度,需进行温度补偿或校准。
-
校准
- STM32F1 的 ADC 支持内部校准(通过
ADC_Calibration函数),上电后建议执行校准以减小偏移误差。
- STM32F1 的 ADC 支持内部校准(通过
提高 ADC 精度的建议
-
使用外部参考电压
- 外接高精度基准源(如 TL431、REF3025 等),替代内部 VREF(受电源噪声影响较大)。
-
优化采样配置
- 根据信号频率设置合理的采样时间,确保信号稳定。
- 降低 ADC 时钟频率(不超过 14 MHz,通常设为 12 MHz)。
-
软件滤波
- 通过多次采样取平均(如 8~64 次)或中值滤波,抑制随机噪声。
-
隔离模拟与数字电路
- 在 PCB 上单独划分模拟区域,使用独立电源层和地平面。
典型误差范围
- 无优化时:实际精度可能降至 10~11 位(误差约 2~5 LSB)。
- 优化后:可接近理论 12 位精度(误差 <1 LSB)。
关键代码配置示例
// 初始化 ADC 并校准
ADC_InitTypeDef ADC_InitStructure;
ADC_DeInit(ADC1);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);
// 启用 ADC 校准
ADC_Cmd(ADC1, ENABLE);
ADC_ResetCalibration(ADC1);
while (ADC_GetResetCalibrationStatus(ADC1));
ADC_StartCalibration(ADC1);
while (ADC_GetCalibrationStatus(ADC1));
// 设置采样时间(例如通道 0,采样时间 239.5 周期)
ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5);
通过硬件优化和软件处理,可显著提升 STM32F1 ADC 的实际精度。
STM32F1内部ADC的DUAL MODE的使用问题求解
我想利用STM32F1内部的ADC采集四路电压值,因为要求同时采集,所以我使用了ADC的DUAL MODE,可是由于始终未能读明白芯片手册!
STM32F1 ADC和DMA的简单理解
本文主要讲解stm32f1中ADC和DMA的使用,在学习中参考了多篇文章,感谢前辈的付出。STM32F10X
资料下载
佚名
2021-12-27 19:09:32
STM32F1系列单片机的时钟系统
这是stm32的时钟系统,时钟与单片机的关系就好比心脏与人的关系一样,它为单片机的运行提供时间基准。STM32F1系列单片机的时钟树请看图1
2023-03-23 17:44:21
STM32F1 ADC主要特性和结构框图解析
STM32F1 ADC简介 ADC(analog to digital converter)即模数转换器,它可以将模拟信号转换为数字信号。按照其
2022-07-13 11:45:03
STM32F1的ADC2如何使用DMA功能 USART过载错误Overrun error
STM32F1的ADC2如何使用DMA功能,USART过载错误Overrun error
2020-03-14 14:42:01
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- ssd是什么意思
- 什么是蓝牙?它的主要作用是什么?
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机