STM32 ADC详解

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-07
STM32F1的单片机内部自带12位的ADC处理器,如果12位已经满足了采样要求,那么不用另外接入ADC芯片(这类芯片一般很贵),可以外接的ADC芯片比如ads1256(24位)、AD7689(16位)。

ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。转换时最快为1us,当ADC的输入时钟超过14MHz 时其会损失一些精度。也就是说,可以牺牲采样速度来获取采样精度,也可以牺牲采样精度来获取采样速度,当然精度要满足任务要求。
时钟分频:ADC 时钟 ADC 接在APB2 上,APB2的时钟为72MHz,通过分频的方式给ADC 提供时钟,预分频主要有2、4、6、8 四种分频方式。比如,如果打算选择分频6,那么就是ADC采样时钟频率就是72MHz/6=12MHz

转换时间:转换时间TCONV = 采样时间+ 12.5 个周期(12.5个周期采集12位AD时间是固定的周期)

  例如:当ADCCLK=14MHz和1.5周期的采样时间

  TCONV = 1.5 + 12.5 = 14

  周期=1μs

  例如:当ADCCLK=14MHz 和1.5 周期的采样时间 TCONV = 1.5 + 12.5 = 14 周期 = 1μs

  1)一般情况,如果是软件启动,那么转换时间即是采样周期。

  2)若通过定时器进行触发启动ADC,则还需要加上定时器的相关时间。

采样周期:采样周期对于转换时间/采样时钟频率

STM32—ADC详解

STM32的ADC采样时间