Nuru_Banmian
Nuru_Banmian
Published on 2025-07-17 / 48 Visits
0
0

ADC-ADC外设工作原理

ADC功能框图

完整功能框图

ADC-ADC外设工作原理-功能框图-完整

框图比较复杂,我们只关注上面部分

下面部分定时器触发这块暂时用不到,不关注

关注部分

ADC-ADC外设工作原理-功能框图-部分

具体介绍

V~DDA~ :模拟电源正

V~SSA~:模拟电源负

V~REF+~:模拟参考电源正

V~REF-~:模拟参考电源负

在实际电路设计中:

一般V~REF+~和V~DDA~接3.3V

一般V~REF-~和V~SSA~接地

所以ADC的测量范围是0~3.3V

ADC-ADC外设工作原理-实际电路设计

输入通道

用来输入模拟电压的通道

一共多达18个通道

  • 16个外部通道(ADCx_IN0-ADCx_IN15),对应着16个IO口。

  • 内部温度传感器(测量芯片温度),通道16。

  • 内部参考电压,通道17。

输入通道组织

我们可能会同时进行多路转换,输入通道组是把多个输入通道组织在一起,然后按组内顺序进行转换。

一共有两个通道组:

  • 规则通道

规则通道组内的通道转换完成之后,会把转换后的结果存储到规则通道数据寄存器中。

规则组允许最多16个通道。

由于规则通道寄存器只有一个,当多路要转换时,寄存器内的值要及时取走,否则后面通道转换结果会覆盖前面的结果。

一般会使用DMA把数据寄存器的数据取走。

  • 注入通道

注入通道组内的通道转换完成之后,会把转换后的结果储存到注入通道数据寄存器中。

注入组允许最多4个通道。

注入通道数据寄存器有4个,不用担心数据被覆盖问题。

规则通道和注入通道

注入通道的转换可以打断规则通道的转换。

在实际使用中,使用规则组的就够了,再配合前面学习的DMA,效果更好。

触发源

  • 软件触发

操作控制寄存器ADC_CR2的一些相关位。

  • 硬件触发

使用定时器的TRGO触发。

ADC-ADC外设工作原理-触发源-1

ADC-ADC外设工作原理-触发源-2

在实际使用中,一般软件触发就够了

转换方式

ADC_CR1寄存器SCAN:扫描模式(Scan mode)

​ 开启扫描模式:多通道,顺序扫描,挨个转换。

​ 关闭扫描模式:只转换通道组中第一个通道。

ADC_CR2寄存器CONT:连续转换(Continuous conversion)

​ 开启连续模式:通道组内转换一轮之后,继续转换下一轮。不会停

​ 关闭连续模式:通道组内转换一轮之后,停止转换,等待下一次启动。


Comment