(STM32基础)ADC模数转换器

ADC - Analog Digital Converter

(STM32基础)ADC模数转换器_第1张图片

 STM32主要是数字电路,没有几V电压的概念,只有高低电平。

DAC是数字到模拟量的桥梁,但是DAC大部分功能都可以被PWM替代,因为PWM只有完全导通和完全断开两种状态,基本没有功率损耗,所以大功率电机调速一般都是使用PWM,而不是DAC。目前DAC应用领域较广在生成波形领域,例如信号发生器、音频解码芯片。

这个型号STM32无DAC外设。

12位ADC分辨率是2的12次方-1,位数越高,量化越精细,对应分辨率越高。

转换时间是转换出结果所需要的时间是1us,所以转换频率是1MHz。

         ADC结构框图

(STM32基础)ADC模数转换器_第2张图片

ADC开始触发信号Start有两种触发方式:一种是软件触发(写一行代码手动触发),一种是硬件触发(如图触发源,主要是来自定时器的TRGO引脚触发,也可以是外部中断触发)。

(STM32基础)ADC模数转换器_第3张图片

 输入通道和外部引脚对应参考表

ADC1和ADC2引脚基本相同,ADC2没有16 、17 两个内部引脚。

ADC转换器的转换模式常用的四种。

单次转换-扫描模式

多次转换-非扫描模式

单次转换-非扫描模式

多次转换-扫描模式

(STM32基础)ADC模数转换器_第4张图片

 采样时间 = 采样 + 保持

ADC周期为RCC内部时钟提供

(STM32基础)ADC模数转换器_第5张图片

(STM32基础)ADC模数转换器_第6张图片

(STM32基础)ADC模数转换器_第7张图片

 按照图示配置初始化函数  以及读取规则组寄存器值

利用施密特触发器相似的原理来滤除抖动(迟滞比较):

设定两个阈值(低阈值、高阈值) 当AD值大于高阈值时触发高阈值的操作,低于高阈值,高于低阈值,则继续保持高阈值操作;低于低阈值触发低阈值操作,高于低阈值,低于高阈值,保持低阈值操作。

还可以采用均值滤波方式,连续采样多个值,取平均值,使得最终AD值变化比较平滑。

裁剪分辨率,把数据的尾数裁掉,

你可能感兴趣的:(单片机,stm32,嵌入式硬件)