ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

AURIX TC3xx EVADC模块 EB配置详解

AURIX TC3xx EVADC模块 EB配置详解

1.概述


EVADC(Enhanced Versatile Analog-to-Digital Converter,增强型通用模数转换器)是 AURIX™ TC3xx 平台中负责通用模拟信号采集的 SAR 型 ADC 模块。其典型职责包括:电机相电流/母线电压采样、温度传感器采集、电位器/位置传感器读取、电源轨监控等。
EVADC 的设计核心是解决多任务、多优先级、多触发源场景下的模拟采集调度问题。它由若干相互独立的转换器块(Converter Block / Kernel)组成,这些内核可以:
①独立运行——各内核分别服务不同的采集任务;
②顺序级联——扩展转换序列长度;
③同步并行——最多 4 个内核同时对 4 路通道执行同步转换(电机控制相电流采样的标准用法)。

2. 硬件架构


2.1 簇(Cluster)与内核(Kernel)拓扑


EVADC 由若干 SAR 型 ADC 内核按簇(Cluster)组织。TC3xx 家族共定义三类功能簇,各自面向不同的速度、通道数权衡,如下图所示:

每个簇内包含若干内核(Kernel / Group),每个内核是一套完整的独立转换单元——拥有自有的 S&H、转换器、请求控制逻辑与结果处理逻辑。内核间互不影响,可独立运行、顺序级联,或通过 Master、Slave 机制同步并行。

2.2 ADC 内核内部结构

其各个模块功能如下

Analog reference ground/voltage:提供 VAREF/VAGND 参考
Analog input channels CHx:模拟输入,经输入复用器接入
AD converter:SAR型12 bit转换器
Conversion control:管理采样/转换时序、校准
Request control:管理本内核的专属请求源,决定连续转换的通道序列
Result handing:结果写入通道专属结果寄存器或组共享结果寄存器
Interrupt generation:输出服务请求至 IR

2.3 时钟架构

EVADC 涉及三个时钟域:
fSPB:总线接口(寄存器读写)
fADC:外设时钟,负责状态机、仲裁器、请求控制
fADCI:模拟转换器(转换器工作时钟),由模拟相位同步器派生

相位同步器(Analog Phase Synchronizer)机制:
①相位同步器为每次转换定义起始时钟脉冲,使并行运行的多个转换器起始沿对齐,最小化模拟系统内的相互干扰;
②转换一经启动,后续过程不再参考相位同步器,以保证并行内核行为的确定性;
③EVADC 仅在相位同步器信号为高电平期间工作;或置 GLOBCFG.USC = 1 进入非同步模式脱离该约束。

2.4 模拟输入与参考电压


模拟输入引脚记为 ANx,经端口复用配置后连接至对应簇的输入复用器。通道号与物理引脚的映射关系见型号 Data Sheet。
参考电压由专用引脚 VAREF(正参考)与 VAGND(负参考/模拟地)提供,转换结果满量程即 VAREF − VAGND。
部分输入通道支持备选参考源选择。
模拟电源的去耦与 VAREF 稳定性直接决定 TUE 指标,Layout 层面须按 Data Sheet 要求处理。

2.5 与片内其他模块的系统级连接


EVADC 并非孤立模块,其触发输入与服务请求输出构成系统级数据通路:
①触发输入侧(转换启动源):
GTM:主要硬件触发源。GTM 的 TOM/ATOM/CDTM 输出经多路选择器生成 ADC_TRIG触发信号组,路由至各组的 GxREQTRI/J/K/L(触发输入)与 GxREQGTA/B/K/L(门控输入),以及 Fast Compare 通道的 FCxREQTRI/J/K/L/M。触发源选择由 GTM 侧 ADCTRIGxOUTy 寄存器(SEL0..SEL7 位域)配置。PWM 中心对齐同步采样即通过此路径实现。
CCU6:另一常用定时器触发源。
软件触发:直接写请求源寄存器。
外部引脚:部分组支持端口触发。
②服务请求输出侧(结果消费方):
IR(中断路由):EVADC 服务请求节点可路由至任一 CPU 或 DMA 通道。
DMA:结果事件触发 DMA 搬运,实现转换完成、自动搬运、数据读取的零 CPU 干预链路。
SCU:负责 EVADC 的时钟使能、复位控制与电源管理。

3 TC3xx EB配置详解

①General

②AdcGlobalInputClass


EVADC 全局输入类(Global Input Class)的 MCAL 配置容器,直接映射硬件寄存器 GLOBICLASS0 / GLOBICLASS1,该配置项可以直接被后续的ADC实体单元容器引用。

③AdcHwUnit


AdcHwUnit 容器 = EVADC 物理内核(Conversion Group)在 MCAL 层的实例化。每一行对应芯片上一个真实存在的 ADC 组,是后续所有通道/组配置挂靠的锚点。以TC37x为例,其G0–G3是 Primary 簇,G8/G9 是 Secondary 簇,如下图所示。

1.General


包含该 ADC 内核的全局控制参数。这些配置直接影响 G0 的模拟电路行为、时钟同步和请求源工作模式。

2.AdcClockSoure


要求 Adc 驱动必须提供 AdcClockSource 参数,允许选择不同时钟源,但TC3xx是固定的,所以不能修改。

3.AdcPrescale


对应硬件寄存器GxANCFG中的DIVA位域,用于设置模拟内部时钟(fADCI)的分频系数。

4.AdcHwUnitInputClass


组级输入类配置,对应硬件寄存器 GxICLASS0 和GxICLASS1。与之前讲的 AdcGlobalInputClass是并列关系,区别仅在于作用域。这里仅该组有效。参数与之前一致,不再展开。

5. AdcChannel


逻辑通道配置页,将物理引脚映射为软件可用的 ADC 通道。每行对应一个模拟输入的完整配置。没有特殊功能要求,一般只用配置General项。

6. AdcGroup


AUTOSAR层面的“转换任务”定义容器,它把“哪些通道、按什么顺序、何时触发、结果放哪”打包成一个可执行的转换单元。这是 MCAL 从硬件资源走向功能实现的关键抽象。

4 EVADC与GTM模块的关联性(TOM/ATOM触发)


TOM/ATOM 的输出经过一个 16:1 的多路选择器ADCTRIGxOUTx,变成了少量的 ADC_TRIGx[n] 线。其中ADCTRIGxOUTx选择器主要就决定了选择哪个触发源。

值得注意的是,EVADC模块由于只有G0~G3、G8-G11,实际只有 8 个多路选择器在产生有效输出。
12 个 Mux 物理存在(GTM 硬件固定)
只有 8 个有实际连接(对应 8 个 ADC 组)
Mux 4-7 是空闲的(ADC_TRIG0[4-7] 没有连接到任何 ADC 组,因为 TC377 没有 G4-G7
多路选择器SEL用于选取具体的触发源,SEL名也对应Group的编号

举例:SEL0 = 0001'b,意味着CDTM0_DTM1_2 ...模块被链接到ADC_TRIG0_[0]。值得注意的是,它指的是任何一个触发源都可以被链接SEL0,而SEL0的数值仅仅是用来选择哪个一个触发源。

后续专门出一期如何关联EVADC模块与ATOM的EB配置,其实这中间非常容易搞混乱,当时我也是理了很久。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进