ADC - Analog Digital Converter
STM32主要是数字电路,没有几V电压的概念,只有高低电平。
DAC是数字到模拟量的桥梁,但是DAC大部分功能都可以被PWM替代,因为PWM只有完全导通和完全断开两种状态,基本没有功率损耗,所以大功率电机调速一般都是使用PWM,而不是DAC。目前DAC应用领域较广在生成波形领域,例如信号发生器、音频解码芯片。
这个型号STM32无DAC外设。
12位ADC分辨率是2的12次方-1,位数越高,量化越精细,对应分辨率越高。
转换时间是转换出结果所需要的时间是1us,所以转换频率是1MHz。
ADC结构框图
ADC开始触发信号Start有两种触发方式:一种是软件触发(写一行代码手动触发),一种是硬件触发(如图触发源,主要是来自定时器的TRGO引脚触发,也可以是外部中断触发)。
输入通道和外部引脚对应参考表
ADC1和ADC2引脚基本相同,ADC2没有16 、17 两个内部引脚。
ADC转换器的转换模式常用的四种。
单次转换-扫描模式
多次转换-非扫描模式
单次转换-非扫描模式
多次转换-扫描模式
采样时间 = 采样 + 保持
ADC周期为RCC内部时钟提供
按照图示配置初始化函数 以及读取规则组寄存器值
利用施密特触发器相似的原理来滤除抖动(迟滞比较):
设定两个阈值(低阈值、高阈值) 当AD值大于高阈值时触发高阈值的操作,低于高阈值,高于低阈值,则继续保持高阈值操作;低于低阈值触发低阈值操作,高于低阈值,低于高阈值,保持低阈值操作。
还可以采用均值滤波方式,连续采样多个值,取平均值,使得最终AD值变化比较平滑。
裁剪分辨率,把数据的尾数裁掉,