在STM32微控制器中,ADC(模数转换器)的计算主要涉及参考电压、分辨率、采样值和实际电压之间的转换。以下是关键计算方法和步骤:
1. ADC分辨率
STM32的ADC通常是12位的,因此分辨率为: [ \text{分辨率} = 2^{12} = 4096 ] 即ADC输出的数字值范围为 0~4095(对应0V到参考电压)。
2. 参考电压(VREF)
ADC的参考电压通常有两种情况:
- 外部参考电压(VREF+):直接连接外部稳定电压源(如3.3V或2.5V)。
- 内部参考电压:部分STM32型号支持内部参考电压(如1.2V或2.5V),需查阅数据手册确认。
注意:如果使用VDDA(模拟电源电压)作为参考,需确保VDDA稳定且无噪声。
3. ADC转换公式
将ADC读取的数字值(ADC_Value)转换为实际电压(V_in):
[ V{\text{in}} = \frac{\text{ADC_Value}}{4095} \times V{\text{REF}} ]
示例:
- 若参考电压为3.3V,ADC读值为2048: [ V_{\text{in}} = \frac{2048}{4095} \times 3.3 \approx 1.65\text{V} ]
4. 采样时间计算
ADC需要足够的时间对输入信号采样。采样时间由以下公式决定: [ \text{采样时间(秒)} = \frac{\text{采样周期数}}{\text{ADC时钟频率(Hz)}} ]
步骤:
- 确定信号源阻抗((R{\text{source}}))和ADC输入阻抗((R{\text{ADC}}),通常约1kΩ)。
- 计算总阻抗:(R{\text{total}} = R{\text{source}} + R_{\text{ADC}})。
- 选择ADC采样周期数(通过寄存器配置,如3个周期、15个周期等)。
- 确保采样时间满足信号稳定要求: [ \text{采样时间} \geq 5 \times R{\text{total}} \times C{\text{ADC}} ] ((C_{\text{ADC}})为ADC内部采样电容,通常约8pF)
5. 转换时间计算
总转换时间包括采样时间和转换周期: [ \text{总时间} = \frac{\text{采样周期数} + 12.5}{\text{ADC时钟频率}} ]
- 12.5个周期:12位ADC转换所需的时间。
- ADC时钟频率:由系统时钟分频得到(需≤14MHz,建议≤10MHz以提高精度)。
示例:
- 若ADC时钟=14MHz,采样周期数=15: [ \text{总时间} = \frac{15 + 12.5}{14 \times 10^6} \approx 1.96\mu s ]
6. 校准ADC
为提高精度,STM32支持自动校准:
- 启动校准:
HAL_ADCEx_Calibration_Start()。 - 校准值会存储在ADC的校准寄存器中,后续转换自动补偿误差。
注意事项
- 确保参考电压(VREF)稳定,避免噪声。
- 若使用多通道扫描,总转换时间需乘以通道数。
- 对于高阻抗信号源,增加采样周期数或使用外部缓冲器。
通过上述公式和配置,可以准确计算STM32 ADC的转换结果和实际电压值。
STM32的ADC转换时间计算
STM32F103XX的ADC的采样时钟最快14MHz,最快采样率为1MHz。对于有ADC转换时间计算有如下公式:TCONV=采样时间+12.5
Ryita
2019-05-22 09:22:05
如何计算STM32 ADC的采样频率呢
标题STM32 ADC采样频率的理解刚初学stm32 adc,采样频率一直是个很模糊的概念,到底如何计算stm32的采样频率。翻了网络上许多帖子,有的说法,采样频率是要根据你自己设定的时钟定时设置
牛牛爱吃草
2022-03-01 06:05:31
hc32和stm32 adc的区别
hc32和stm32 adc的区别 HC32和STM32是两种不同的微控制器系列,它们各自拥有自己的ADC模块。在本文中,我们将探讨HC32和STM32 ADC之间的区别。 先来看看HC32的ADC
2023-08-16 11:33:26
STM32 ADC 的使用说明
前言 最近是有一个产品用到了ADC,使用的是STM32L051 芯片,使用 STM32CubeMX 生成的代码,本来以为简简单单,但是在调用 HAL ADC校准函数的时候遇到一个问题有点疑问,度娘
2023-06-22 10:15:00
关于STM32 ADC的工作频率
,否则转换精度会下降。每个转换通道都可以单独配置采样的时间周期,单个通道最大转换速率为1us。2.关于STM32 ADC的转换时间周期计算每个通道都可以单独配置为不同的采样时间,单个通道的转换时间计算公式为:Tconv = Sampling time + 12.5 cycles.例
啦啦啦啦啦啦啦l
2021-08-04 07:34:59
STM32的ADC详解和代码设计
模拟信号转换为表示一定比例电压值的数字信号。 从STM32F207的数据手册中下图看到,STM32F207VC有3个精度为12bit的ADC控制器,有16个外部通道,而144脚的STM32
2021-02-20 14:29:47
第12章-ADC采集电压和显示 基于STM32的ADC—电压采集(详细讲解+HAL库)
第12章-ADC采集电压和显示 基于STM32的ADC—电压采集(详细讲解+HAL库)
2024-08-21 16:31:34
STM32ADC中断的使用注意事项和优化建议
STM32ADC中断的使用注意事项和优化建议 STM32ADC(模拟数字转换器)是STMicroelectronics开发的一款用于外部模拟信号转换为数字信号的器件。在使用STM32ADC时,合理地
2024-01-12 15:17:50
STM32的ADC实验
STM32f103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,ADC3一般有8个外部通道,各通道的A/D转换可以单次、连续、扫描或间断
2023-02-10 14:57:54
详解STM32中的ADC
STM32F103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,ADC3一般有8个外部通道,各通道的A/D转换可以单次、连续、扫描或间断
2023-06-26 17:09:33
实战经验 | STM32U5 ADC 自校准不成功的问题分析
关键词:STM32U5,ADC 目录预览 1、引言 2、问题 3、问题解决 4、小结 01 引言 很多 STM32 系列中的 ADC 都带有自校准的功能。它提供了一个自动校准的过程,用于驱动包括
2023-12-10 16:45:01
STM32的多个ADC模块如何同时采样转换详细应用实例说明
在STM32家族里,多数系列芯片内含2到3个ADC模块,有的甚至更多,比方G4系列可以有5个ADC模块。其中,通道数因不同的系列或型号多少不等,几个到几十个的都有。有时,我们可能需要多个ADC模块
2019-06-30 10:40:39
ADC的采样时间是怎么计算的?
我是STM32初学者,无奈公司要一个月内改一个老的项目!以下是程序中关于有关ADC的配置,右边的注释都是我添加的(参照的固件库使用手册):void Set_System(void
trfchjc
2020-08-28 08:00:16
STM32 ADC基础内容
STM32的每个ADC有数条复用模拟输入通道,具体通道数因不同系列及型号而异。片内温度传感器、内部参考电压、VBAT还可以与内部模拟通道相连,便于测量和使用。
2021-03-12 13:51:49
STM32F103的ADC简介
项目背景笔者在进行不少项目开发时,都遇到了需要多通道多次采样的需求。由于STM32片上12位ADC的精度不少很高,通常需要对每个通道多次采样,然后计算平均值作为采样的结果。如果采用常规的读取ADC数值并
听风说梦
2021-08-13 07:21:16
STM32中的SAR ADC是怎么一回事?
STM32中的ADC是逐次逼近型ADC(Successive Approximation ADC),是逐个产生比较电压Vref,并逐次与输入电压分别比较,以逐渐逼近的方式进行A/D转换的。
2023-05-16 11:20:54
基于STM32片内信号的ADC应用演示案例
很多STM32芯片里往往内置了专用的ADC通道,比方用来测量Vrefint,VBAT的分压或温度传感器的输出电压信号。
2024-01-13 13:42:12
STM32 ADC模拟看门狗过程实现
我们在做ADC应用时,有些场合需要精确测量出待测信号的数据,有时可能并不关心ADC结果多准确,只要满足某个范围即可,这时我们就可以考虑使用STM32ADC看门狗功能了。 STM32 ADC基本上都
2023-07-13 10:28:11
STM32L0 ADC使用HAL库关于校准问题的说明
最近是有一个产品用到了ADC,使用的是STM32L051 芯片,使用 STM32CubeMX 生成的代码,本来以为简简单单,但是在调用 HAL ADC校准函数的时候遇到一个问题有点疑问,度娘一下也没有找到解答,还是经过翻阅了一些资料才得到答案,特此来记录一下。
2023-06-15 10:57:48
STM32F1 ADC主要特性和结构框图解析
STM32F1 ADC简介 ADC(analog to digital converter)即模数转换器,它可以将模拟信号转换为数字信号。按照其转换原理主要分为逐次逼近型、双积分型、电压频率转换
2022-07-13 11:45:03
STM32的ADC采样及各式滤波算法实现
本文为手把手教学ADC采样及各式滤波算法的教程,本教程的MCU采用STM32F103ZET6。以HAL库的ADC采样函数为基础进行教学,通过各式常见滤波的实验结果进行分析对比,搭配VOFA+工具直观的展示滤波效果。
2024-10-28 10:51:11
STM32开发板之ADC功能框图讲解
STM32f103系列有3个ADC,精度为12位,每个ADC最多有16个外部通道。其中ADC1和ADC2都有16个外部通道,ADC3一般有8个外部通道,各通道的A/D转换可以单次、连续、扫描或间断执行,ADC转换的结果可以左对齐或右对齐储存在16位数据寄存器中。
2023-08-14 12:42:51
STM32的ADC用法
AD采样在电路中是一种比较常见的功能,可以用于电池电压检测、传感器值读取、信号采集等。STM32的ADC,由于引入了DMA,以及多种触发源,功能自然强大,用法也多种多样。
2022-04-08 09:33:52