STM32 ADC两种通道采样方式 规则组与注入组的区别
在 STM32 的 ADC (模数转换器) 中,ADC 有两组不同的通道采样方式:规则组(Regular Group)和注入组(Injected Group)。它们在工作模式、优先级、使用方式等方面有所不同。下面将详细介绍这两组的作用和区别。
1. 规则组(Regular Group)
规则组是 STM32 ADC 中最常用的通道组。通常,它用于采集常规的、周期性的信号。规则组的采样顺序由用户配置,它是 ADC 的默认采样模式。
特点:
ADC_SQR1
, ADC_SQR2
, ADC_SQR3
)来设定的。应用场景:
2. 注入组(Injected Group)
注入组用于特殊的、需要优先级较高的转换任务。它允许在规则组的转换过程中插入优先级更高的转换任务,从而提高数据采集的响应速度。
特点:
ADC_JSQR
)。应用场景:
3. 规则组与注入组的区别
特性 | 规则组(Regular Group) | 注入组(Injected Group) |
---|---|---|
用途 | 常规采样,低优先级任务 | 高优先级任务,需要快速响应的采样任务 |
优先级 | 低于注入组 | 高于规则组 |
采样顺序配置 | 可配置多通道顺序,按照用户配置采样 | 每个注入组有固定的通道配置 |
转换触发方式 | 定时器、外部触发、软件等 | 定时器、外部触发、软件触发 |
转换模式 | 单次转换或连续转换 | 单次转换或连续转换 |
使用场景 | 常规、周期性的采样任务,如电池电压、外部传感器数据 | 对响应速度要求高的信号,如外部触发事件的采样 |
中断/标志 | 转换完成后可以触发中断或 DMA 请求 | 转换完成后可以触发不同的中断处理 |
4. 规则组与注入组的协同工作
STM32 的 ADC 支持规则组和注入组的并行工作。两者是独立的,互不干扰,但注入组的优先级高于规则组。因此,如果同时启动规则组和注入组,当注入组转换开始时,会暂停规则组的转换,直到注入组完成转换,之后规则组才会继续进行转换。
这种机制非常适合处理那些需要实时响应的、对优先级有要求的信号(如外部触发的事件),而不影响常规的采样任务。
总结
你可以根据应用的需求来选择使用规则组或注入组,或将两者结合使用,以实现高效的 ADC 数据采集。
作者:T-C-SAH