9.2.5 模数转换单元

更新于 2026年10月10日 版权声明
9.2.5 模数转换单元

当触发模数转换后,系统在ADC的时钟ADCCLK的驱动下,对输入通道的信号进行采样、保持、量化和编码,并将转换结果分别送到两个不同组的ADC结果寄存器中。

1.通道采样时间配置

ADC的时钟频率越高,其转换速度越快,STM32F1系列芯片规定ADC的时钟ADCCLK不能超过14 MHz,该频率由PCLK2经ADC预分频产生,预分频值有2、4、6、8。

模数转换在采样-保持阶段需要一定时间,STM32F1系列的ADC通道采样时间都可以进行配置,可配置为采样周期的1.5倍、7.5倍、13.5倍、28.5倍、41.5倍、55.5倍、71.5倍、239.5倍。模数转换时间计算方法:TADC(总时间)=T(采样时间)+12.5个T(采样周期)。

例如,若ADCCLK=14 MHz,采样时间为1.5倍ADC采样周期,则通过计算可得,TADC总时间为(1.5+12.5)×(1/14 MHz)=1μs,此值也是ADC采样的最短时间。

2.数据对齐格式配置

STM32F1系列MCU的模数转换结果是12位的二进制数,存放结果的ADC_DR、ADC_JDRx寄存器均是32位寄存器。除双ADC同时转换模式下ADC_DR用到了高16位外,其他模式均只用到低16位。12位的转换结果放在16位寄存器中有两种存放方式(左对齐、右对齐),通过ADC_CR2寄存器来进行设置。图9.3所示为数据右对齐,图9.4所示为数据左对齐。常采用数据右对齐以方便计算。

图示

图9.3 数据右对齐

图示

图9.4 数据左对齐

3.ADC转换模式

(1)ADC单次转换模式。在单次转换模式下,ADC只执行一次转换,如图9.5(a)所示。

(2)ADC连续转换模式。在连续转换模式下,当前面的转换一结束,马上就启动另一次转换,如图9.5(b)所示。输入通道一般不能配置为连续转换模式,唯一的例外是当规则通道配置为连续转换模式后,输入通道可以配置为连续转换模式。(https://www.daowen.com)

(3)ADC自动扫描模式。ADC自动扫描模式用来扫描一组模拟通道,如图9.5(c)所示。

(4)ADC间断模式。ADC间断模式即多个通道连续转换,如图9.5(d)所示。间断模式可分为规则组和输入组。

图示

图9.5 ADC转换模式

(a)ADC单次转换模式;(b)ADC连续转换模式;(c)ADC自动扫描模式;(d)ADC间断模式

4.内部温度传感器

内部温度传感器用于测量芯片内部的温度,温度传感器在内部与ADC1_IN16输入通道相连,此通道把温度传感器输出的电压转换成数字值。温度传感器模拟输入推荐采样时间是17.1μs。内部温度传感器的结构如图9.6所示。

图示

图9.6 内部温度传感器的结构

已知在内部ADC转换后得到的数字量,可通过转换得出电压值VSENSE,利用下列公式得出温度:

图示

式中,V25表示VSENSE在25℃时的数值;Avg_Slope表示温度与VSENSE曲线的平均斜率(单位为mV/℃或μV/℃)。参考数据手册的电气特性V25=1.43 V,Avg_Slope=4.3 mV/℃。

5.ADC校准

ADC有一个内置自校准模式。校准可大幅减小因内部电容器组的变化而造成的精度误差。在校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。建议每次上电后执行一次ADC校准,以保证采集数据的准确性。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)