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 数据采集。

    作者:T-C-SAH

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32 ADC两种通道采样方式 规则组与注入组的区别

    发表回复