
1.概述EVADCEnhanced 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每个内核是一套完整的独立转换单元——拥有自有的 SH、转换器、请求控制逻辑与结果处理逻辑。内核间互不影响可独立运行、顺序级联或通过 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:输出服务请求至 IR2.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②AdcGlobalInputClassEVADC 全局输入类Global Input Class的 MCAL 配置容器直接映射硬件寄存器 GLOBICLASS0 / GLOBICLASS1该配置项可以直接被后续的ADC实体单元容器引用。③AdcHwUnitAdcHwUnit 容器 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. AdcGroupAUTOSAR层面的“转换任务”定义容器它把“哪些通道、按什么顺序、何时触发、结果放哪”打包成一个可执行的转换单元。这是 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 0001b意味着CDTM0_DTM1_2 ...模块被链接到ADC_TRIG0_[0]。值得注意的是它指的是任何一个触发源都可以被链接SEL0而SEL0的数值仅仅是用来选择哪个一个触发源。后续专门出一期如何关联EVADC模块与ATOM的EB配置其实这中间非常容易搞混乱当时我也是理了很久。