1.概述
1.1 模块定位:ARU 连接的定时器输出模块
ATOM(ARU-connected Timer Output Module)是 GTM 中专为复杂输出信号生成设计的子模块。与 TOM 的纯定时器角色不同,ATOM 的核心定位是自治信号生成器——通过直接连接 ARU,ATOM 可以在无 CPU 干预的情况下,从 MCS、DPLL 或 PSM 等子模块获取输出参数(如 PWM 占空比、比较值),实现硬件自治的波形生成。
1.2 与 TOM 的核心差异
通道数/实例:TOM 一个实例 16 通道,ATOM 只有 8 通道。但 TOM 的 16 通道要分两个 TGC 管理,组间同步需要跨单元协调;ATOM 的 8 通道由单个 AGC 统一管理,同步启动/更新一次操作全覆盖。你的三相 FOC 用 6-7 个通道,一个 ATOM 实例正好,同步逻辑最简单。
寄存器宽度:TOM 是 16 位(最大 65535),ATOM 是 24 位(最大 0xFFFFFF)。高频 PWM(20 kHz)下两者差别不大,但低频长周期场景(如 100 Hz 以下)TOM 容易溢出,ATOM 的 24 位轻松覆盖毫秒级周期,且 SOMC 模式能设更远的时间戳。
ARU 连接:这是两者最本质的区别。TOM 更新参数必须靠 CPU 写寄存器,50 µs 电流环下每周期更新 6 路占空比会把 CPU 拖死;ATOM 可以让 DPLL 算好占空比后经 ARU 直接送达,内环完全硬件闭环,CPU 只管外环。双向意味着 ATOM 捕获的时间戳(SOMC)也能经 ARU 送回 DPLL 做闭环校正。
串行模式:TOM 只能输出电平翻转类信号;ATOM 的 SOMS 模式把 CM1 当 24 位移位寄存器用,逐位移出生成串行数据流,可以硬件生成 SENT 协议等串行波形,不用 CPU 精确控制 GPIO,也不用外挂专用 SENT 外设。
比较单元:TOM 每通道 1 个比较器,一次只能设一个比较点;ATOM 有 CCU0+CCU1 两个,可同时监视两个比较点。这让 ATOM 能做单次双沿脉冲(CCU0 设开始、CCU1 设结束)、SOMC 双时间戳捕获(起点终点都记录)、以及 CCU0 触发使能 CCU1 的接力机制,这些都是单 CCU 的 TOM 做不到的。
影子寄存器更新:TOM 的 SR 只能 CPU 写;ATOM 的 SR 支持 CPU 或 ARU 双写入源,且 ARU 更新有粒度选择——FOC 常规工况频率固定时只更新 SR1(占空比),节省 ARU 带宽;变频控制时才同时更新 SR0+SR1。这是为高频率闭环控制做的专门优化。
1.3 特性清单
2. 硬件架构
2.1 ATOM 子模块框图
ATOM子模块是 GTM 中独立的信号生成单元,每个实例包含 8 个输出通道(ATOM_CH0 ~ ATOM_CH7),由统一的 AGC 管理,通过 AEI 与 CPU 交互,通过 ARU 与 GTM 其他子模块交换数据。
与 TOM 的架构差异:
①TOM 每 8 通道一个 TGC(Timer Global Control),16 通道需 2 个 TGC;ATOM 仅 8 通道,单 AGC 即可全局管理,结构更紧凑。
②TOM 无 ARU 直接连接,参数更新依赖 CPU 或 DMA;ATOM 通过 ARU 实现硬件自治。
2.2 ATOM 通道架构
每个 ATOM 通道是独立的信号生成引擎,核心由双比较单元(CCU0/CCU1)、信号输出单元(SOU)、ARU 通信接口(ACI) 构成。
2.3 双缓冲机制:工作寄存器(CN0/CM0/CM1)vs 影子寄存器(SR0/SR1)
3. 通道操作模式详解
3.1 SOMI(Signal Output Mode Immediate):立即输出模式
核心特点:无比较逻辑,输出电平由 CPU 或 ARU 直接写入,立即生效。
输出行为:
控制路径:
ARU 禁用(ARU_EN=0):CPU 写 ATOM[i]_CH[x]_CTRL.ACB(0) → 立即更新输出
ARU 启用(ARU_EN=1):ARU 数据流更新 ATOM[i]_CH[x]_STAT.ACBI(0) → ACI 接收后立即更新输出。
寄存器:
ATOM[i]_CH[x]_CTRL(SOMI 模式)
MODE[1:0] = 00(SOMI)
SL: 不是直接输出值,而是后续所有输出逻辑的参考基准。通道在任何模式下产生的输出事件,最终都要经过 SL 翻译才落到物理引脚上。
ACB(0):ARU 禁用时的控制位
ARU_EN:ARU 使能开关
应用场景:
GPIO 替代:软件直接控制引脚电平,无需定时器逻辑
调试:强制输出特定电平,验证硬件连接
简单开关:LED 控制、继电器驱动
限制:无定时功能,不能生成 PWM 或脉冲。
3.2 SOMC(Signal Output Mode Compare):比较模式
核心特点:通道自身不计数,通过双比较单元(CCU0/CCU1)监视 GTM 全局时间基(TBU_TS0/1/2),在时间到达预设时刻时产生输出边沿,并自动捕获事件发生的确切时间。
输出行为:
1. 比较对象:全局时间基,非本地计数
2. 比较方式:可配置的符号比较
通过 CMP_CTRL 位(ATOM[i]_CH[x]_CTRL)配置:
3.匹配动作:输出边沿 + 时间戳捕获
当 TBU 时间基与 CMx 匹配时,硬件同时执行三个动作:
4. 输出行为:ACB10 位域决定边沿类型
ACB10(5:4) 两位编码 4 种输出动作:
示例(产生一个脉冲):
CCU0 匹配(脉冲开始):ACB10 = 01(置高)
CCU1 匹配(脉冲结束):ACB10 = 10(置低)
5.接力机制
CCU0 和 CCU1 不是独立工作,而是顺序接力:
3.3 SOMP(Signal Output Mode PWM):PWM 模式
核心特点:SOMP 是 ATOM 的标准 PWM 生成模式。通道通过本地计数器 CN0 循环计数,配合两个比较寄存器产生周期波形:
CM0:周期比较值,决定 CN0 何时复位(周期长度)
CM1:占空比比较值,决定输出电平在周期内的翻转点
核心特性是影子寄存器双缓冲——SR0/SR1 接收新参数,仅在周期边界原子性装载到CM0/CM1,确保占空比/周期更新无毛刺。
输出行为:
1. 波形生成机制
假设计数器行为(UDMODE=0b00,连续向上计数)
CN0 从 0 递增,计数到 CM0-1 后下一时钟复位为 0,形成周期循环:
2.计数模式
3.4 SOMS(Signal Output Mode Serial):串行模式
该模式主要用于模拟SENT 、SPI ,用的较少,不做展开
3.5 SOMB(Signal Output Mode Buffered Compare):缓冲比较模式
在SOMC、SOMB基础上双缓冲比较,匹配后自动重载影子寄存器,通道持续运行。
4. TC3xx EB配置详解
GTM(包括 ATOM)的时钟源(CMU)是 GTM 的全局资源,需要在 Mcu 模块中统一配置,会专门有一期讲解GTM模块,此处不展开讲。
① GtmAtomGlobalConf
这是 Mcu 模块中 GTM 全局配置的标签页,配置的是 ATOM 的 AGC 时间基触发(ATOM[i]_AGC_ACT_TB 寄存器)等。
②McuHardwareResourceAllocationConf
MCU 硬件资源分配配置
ATOM往往需要结合相关模块共同开发,如PWM。此文仅仅介绍了ATOM的功能,并未结合具体模块进行配置,后续在其他合集会专门讲解整体的配置方式。