简介
ADC,全称:Analog-to-Digital Converter,指模拟/数字转换器
自然界中大多数物理量是连续变化的,如温度、声音、压力等。这些物理量所表示的信号即为模拟信号。ADC的核心功能是将自然界中连续变化的模拟信号(如温度、声音、压力等)转换为数字信号。在嵌入式系统、通信、测控等领域,模拟信号通常需要转换为数字信号,以便在计算机或数字电路中进行处理、传输和存储。
大概框图
简单描述各个参数配置:详细参考对应数据手册,以下以F1为例
输入通道和序列
总共有18个通道,可测量16个外部和2个内部(内部温度传感器和参考电压)信号源。
规则组可以最多有16个转换,注入组最多4个。都可以从上述的18个中任意选择。在进行转换时,注入组可以打断规则组。
触发源
可分为软件触发(即为手动触发,常用于规则组)和外部事件触发(比如,定时器的溢出更新事件可触发)
转换时间
1、先配置好ADC的时钟
ADC是挂载在APB2上的时钟的,接着自行调预分频器的值,但最大不超过14M Hz
图解:
2、ADC转换时间 = 采样周期数 + 12.5个ADC周期
数据对齐
因为该ADC转换器的分辨率是12位的,但是ADC的数据寄存器是16位的,所以数据对齐可以选择左对齐或者右对齐两种模式。
连续转换模式和单次转换模式
ADC转换一次后停止即单次转换模式
连续转换模式:可以理解为循环转换(注:只有规则组才能触发该模式)
扫描模式
适用于有多个通道需要转换的情况下使用
总而言之,需要转换多个通道必须使用扫描模式,否则就会只转换第一个通道,想循环转换,就必须连续转换,然后自行搭配。
PS. 以上均为个人对于ADC的理解,如有错误,请大家不吝指正!