ADC模数转换
ADC简介
- ADC(Analog-Digital Converter)模拟-数字转换器
- ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁
- 12位逐次逼近型ADC,1us转换时间
- 输入电压范围:0~3.3V,转换结果范围:0~4095
- 18个输入通道,可测量16个外部和2个内部信号源
- 规则组和注入组两个转换单元
- 模拟看门狗自动监测输入电压范围
- STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道
逐次逼近型ADC
比较器:将输入的模拟电压与内部DAC(数模转换器)输出的模拟电压进行比较
逐次逼近寄存器:二分法进行逐次逼近比较
DAC:就是把逐次逼近寄存器中的数字量转换为模拟量,用于和输入的模拟电压在比较器中进行比较
ADC框图
规则组通道:最多选择16个
注入组通道:最多选择4个
由于ADCCLK的最大为14MHz,所以只能选择进行6,8分频
规则组:它最多可以同时测量16个通道,但规则通道数据寄存器(16位)只能存储一个转换值。因此,为了避免数据覆盖,通常需要与DMA(结合使用。DMA可以在每次转换完成后自动将数据从ADC的数据寄存器转移到内存中,从而确保数据的完整性和实时性。
触发源
有多种触发源:定时器的输出,外部中断,软件触发
中断:
中断标志位:
EOC(转换结束)
JEOC(注入转换结束)
AWD(模拟看门狗事件)用于检测输入电压是否在正常范围内
ADC1和ADC2进行双ADC模式
四种转换模式
软件触发或外部触发,对通道2的信号进行一次数模转换,转换完成后通过EOC告知外部转换完成
触发后,持续对通道 2 的模拟信号进行模数转换,每次转换完成由 EOC 标识,且不断重复该过程。
触发信号到来后,会按照序列 1 到序列 7 的顺序,依次对通道 2、通道 5、通道 4、通道 1、通道 0、通道 3、通道 6 这 7 个通道的模拟信号进行一次模数转换,全部转换完成后,由 EOC(转换结束标志)给出转换结束的信号。
触发控制
右对齐:数据的低位在最右侧,符合我们通常的数字读写习惯,能直接反映转换后的实际数值大小。
左对齐:相当于右对齐左移4位,数据左移四次,比实际值大 16 倍 ,左移n位,数值会乘以2^4;
校准模式