ADC扫描组Scan Group

基本概念

Scan Group(扫描组)是芯片厂商(主要是英飞凌 AURIX 系列)在 MCAL 实现中引入的硬件特定概念。它是 ADC 转换请求源(Group Request Source)的一种类型,与 "队列组(Queued Group / 普通组)" 相对应。

在英飞凌 AURIX TC27x/TC3xx 系列芯片中,ADC 支持三种转换请求源:

REQSRC0_8STG_QUE:Group Queued source(队列组 / 普通组)

REQSRC1_NCH_SCAN:Group Scan source(扫描组)

REQSRC2_BGND_SCAN:Background Scan source(后台扫描组)

工作原理

扫描组是按照组内预先定义的固定通道顺序进行自动转换的序列:

  1. 配置阶段:在 MCAL 工具中预先定义扫描组包含的通道及其转换顺序
  2. 触发阶段:通过软件 API 或硬件信号触发一次扫描
  3. 转换阶段:ADC 硬件自动按照配置好的顺序依次转换所有通道,无需软件干预
  4. 完成阶段:所有通道转换完成后,生成一个组转换完成中断(如果配置了的话)
  5. 结果存储:转换结果自动存入预先分配的结果缓冲区中

对比

|-----------|-----------------------|-----------------------------|
| 对比维度 | Scan Group(扫描组) | Queued Group(队列组 / 普通组) |
| 通道顺序 | 固定不变,只能按照组内预先定义的顺序转换 | 灵活可变,支持 8 级序列的任意顺序转换 |
| 硬件资源 | 不使用硬件队列资源,直接使用预定义通道列表 | 使用硬件队列资源,每个队列有 8 个阶段 |
| 调度开销 | 极低,几乎没有硬件调度开销 | 有一定的队列调度开销 |
| 动态调整 | 运行时无法修改通道顺序和数量 | 运行时可以动态修改队列中的通道 |
| 最大通道数 | 受 ADC 硬件单元支持的最大通道数限制 | 每个队列最多 8 个通道 |
| 优先级机制 | 与其他请求源通过仲裁槽优先级竞争 | 队列内的每个请求可以有独立的优先级 |

扫描组是汽车电子中最常用的 ADC 转换方式

扫描组适用于以下场景

1.固定顺序、周期性采集多个通道:例如电机控制中的三相电流、电压采样,需要在每个 PWM 周期的固定时刻按照相同顺序采集

2.对转换效率要求高:扫描组的转换延迟更低,CPU 占用几乎为零,适合高速采样场景

3.需要数据一致性:一次触发完成所有通道转换,保证同一时刻的采样数据一致性

4.简单的多通道采集:不需要复杂的优先级调度和动态通道调整的场景

普通组(队列组)适用于以下场景

1.需要动态调整通道顺序和数量:根据系统状态动态选择需要采集的通道

2.不同优先级的采集任务:队列内的每个请求可以设置不同的优先级

3.复杂的多任务采集:多个应用层组件共享同一个 ADC 硬件单元

4.需要中断单个通道转换:可以单独取消队列中的某个通道转换请求

相关推荐
sunoo-22934 分钟前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx1 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件
老当益壮梁奶奶2 小时前
ARM汇编学习笔记(五):从按键轮询到 GIC 中断控制器(ARM Cortex-A7 )
arm开发·笔记·单片机·嵌入式硬件
西城微科方案开发3 小时前
基于SIC8F0535芯片的红外额温枪开发方案
单片机·嵌入式硬件
LCG元4 小时前
STM32F103 NTC 热敏电阻测温实战:分压网络设计、Steinhart-Hart 标定与 ADC 采样优化实测
stm32·单片机·嵌入式硬件
_Ningye4 小时前
通用异步收发器 UART
单片机
H_oRIZoN_4 小时前
Linux入门DAY45 IMX6ULL 裸机开发笔记:汇编点灯、C 语言点灯、GIC 中断梳理
linux·单片机·嵌入式硬件
离凌寒5 小时前
一、关于linux开发板上移植ubuntu根文件系统并配置桌面环境笔记记录
驱动开发·单片机
辰域电子6 小时前
STM32项目开源:实验室消防预警控制系统(代码 + 原理图 + 仿真)
stm32·单片机·嵌入式硬件·开源·proteus
老当益壮梁奶奶6 小时前
ARM汇编学习笔记(四):i.MX6ULL裸机开发:从汇编点灯到C语言BSP工程管理
c语言·arm开发·单片机·嵌入式硬件·51单片机