STM32 ADC两种通道采样方式 规则组与注入组的区别

在 STM32 的 ADC (模数转换器) 中,ADC 有两组不同的通道采样方式:规则组(Regular Group)和注入组(Injected Group)。它们在工作模式、优先级、使用方式等方面有所不同。下面将详细介绍这两组的作用和区别。

1. 规则组(Regular Group)

规则组是 STM32 ADC 中最常用的通道组。通常,它用于采集常规的、周期性的信号。规则组的采样顺序由用户配置,它是 ADC 的默认采样模式。

特点:
  • 常规采样:规则组用于采集来自 ADC 通道的常规信号,通常是比较稳定的信号,常常用于测量电池电压、温度等。
  • 单次或连续模式:规则组可以工作在单次转换模式或连续转换模式。在连续模式下,ADC 会一直进行转换,直到用户手动停止。
  • 采样顺序:用户可以选择规则组的采样通道,并指定转换的顺序。规则组的采样顺序是由用户通过 ADC 配置寄存器(如 ADC_SQR1ADC_SQR2ADC_SQR3)来设定的。
  • 转换结束中断:规则组转换完成后,可以触发中断或生成 DMA 请求,方便处理后续数据。
  • 优先级较低:当规则组和注入组同时运行时,规则组的转换优先级低于注入组。
应用场景:
  • 用于一般的、连续的、低优先级的采样任务,如电池电压、外部传感器数据等。

2. 注入组(Injected Group)

注入组用于特殊的、需要优先级较高的转换任务。它允许在规则组的转换过程中插入优先级更高的转换任务,从而提高数据采集的响应速度。

特点:
  • 优先级更高:注入组的转换优先级高于规则组。当注入组开始转换时,当前正在进行的规则组转换会被暂停,直到注入组转换完成。这使得注入组适合用于高优先级的采样任务。
  • 触发方式:注入组的触发可以是定时器、外部事件或者由软件手动触发。它的触发通常是独立于规则组的。
  • 注入通道:注入组的通道与规则组的通道是分开的,它有自己的通道选择寄存器(如 ADC_JSQR)。
  • 注入采样模式:注入组可以配置为单次转换模式或连续转换模式,但通常用于需要高优先级和快速响应的事件采集。
  • 注入转换完成中断:注入组转换完成时,可以触发不同于规则组的中断,用于处理特定的、优先级更高的任务。
应用场景:
  • 用于测量临时的、急需响应的信号,比如外部触发事件(如外部中断),或者用于一些需要高精度采样的临时信号(如温度传感器读取)。

3. 规则组与注入组的区别

特性规则组(Regular Group)注入组(Injected Group)
用途常规采样,低优先级任务高优先级任务,需要快速响应的采样任务
优先级低于注入组高于规则组
采样顺序配置可配置多通道顺序,按照用户配置采样每个注入组有固定的通道配置
转换触发方式定时器、外部触发、软件等定时器、外部触发、软件触发
转换模式单次转换或连续转换单次转换或连续转换
使用场景常规、周期性的采样任务,如电池电压、外部传感器数据对响应速度要求高的信号,如外部触发事件的采样
中断/标志转换完成后可以触发中断或 DMA 请求转换完成后可以触发不同的中断处理

4. 规则组与注入组的协同工作

STM32 的 ADC 支持规则组和注入组的并行工作。两者是独立的,互不干扰,但注入组的优先级高于规则组。因此,如果同时启动规则组和注入组,当注入组转换开始时,会暂停规则组的转换,直到注入组完成转换,之后规则组才会继续进行转换。

这种机制非常适合处理那些需要实时响应的、对优先级有要求的信号(如外部触发的事件),而不影响常规的采样任务。

总结

  • 规则组:用于常规的、低优先级的信号采样,支持多通道、连续采样等功能。
  • 注入组:用于高优先级的采样任务,支持独立触发、优先级高于规则组,通常用于快速响应的应用。

你可以根据应用的需求来选择使用规则组或注入组,或将两者结合使用,以实现高效的 ADC 数据采集。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值