- ADC需要若干个ADC_CLK周期完成对输入的电压进行采样,采样的周期数可通过ADC 采样时间寄存器ADC_SMPR1和ADC_SMPR2中的 SMP[2:0]位设置,ADC_SMPR2控制的是通道 0 ~ 9,ADC_SMPR1控制的是通道10 ~ 17。每个通道可以分别用不同的时间采样。其中采样周期最小是 3个,即如果我们要达到最快的采样,那么应该设置采样周期为3个周期,这里说的周期就是1/ADC_CLK。
- ADC的总转换时间跟ADC的输入时钟和采样时间有关:公式为 $${T_{conv} = 采样时间 + 12个周期}$$
- 当 ADCCLK = 30MHz,即PCLK2为 60MHz,ADC时钟为2分频,采样时间设置为 3个周期,那么总的转换时为:Tconv = 3 + 12 = 15个周期 =0.5us。
- 一般我们设置 PCLK2=90MHz,经过 ADC预分频器能分频到最大的时钟只能是 22.5M,采样周期设置为3个周期,算出最短的转换时间为0.6667us,这个才是最常用的。 $$ 15个周期 * 1/(ADC_{CLK} )= 15 * (1 / (22.5 * 10^6)) = 0.667us$$
STM32F429之ADC
Author: CLL's Blog
Permalink: https://leichen2552.github.io/post/stm32f439-zhi-adc/
License: MIT License
Alipay
Wechat