TC33x/TC32x 【GTM 配置】

发布时间:2026/7/28 10:16:24
TC33x/TC32x 【GTM 配置】 AURIX TC33x 芯片 GTM 模块之 TIM 与 TOM 详解在 AURIX TC33x 系列 MCU 中GTMGeneric Timer Module是一个功能强大的通用定时器模块广泛用于工业控制、电机驱动等场景中对时间敏感的应用。其中TIMTimer Input Module和 TOMTimer Output Module是 GTM 的核心子模块 ——TIM 负责 PWM 信号的检测频率 / 占空比TOM 负责 PWM 信号的输出。本文将详细讲解两个核心子模块的功能、配置方法及关键注意事项助力开发者快速上手。一、GTM 模块概述与 CMU 时钟管理GTM 内部包含多个子模块如 TIM、TOM、ATOM 等这些模块的运行依赖于时钟管理单元 CMUClock Management Unit提供的时钟源。CMU 的核心作用是为 TIM、TOM 等子模块分配可配置的时钟源确保各模块按预期频率工作。二、TIM 模块PWM 信号检测1 TIM 的构成与通道资源在 TC333 芯片中GTM 的TIM 包含 TIM0 和 TIM1 两个模块其中每个 TIM 模块管理 1 个group每个group包含 8 个channel2×816TIM模块总计支持16个channel的信号检测。2.TIM的通道配置通道1配置举例有中断的通道配置GTM_TIM1_CH1_CTRL.U 0x00510F00; /* CMU时钟源选择 和 测量模式类型 */GTM_TIM1_CH1_FLT_FE.U 0x0; /* 下降沿滤波参数 */GTM_TIM1_CH1_FLT_RE.U 0x0; /* 上升沿滤波参数 */GTM_TIM1_CH1_IRQ_EN.U 0x00000005; /* 新触发有效和防计数超时溢出中断en */SRC_GTMTIM11.B.SRPN INTERRUPT_GTM_TIM11_PRIORITY; /* 中断优先级 */SRC_GTMTIM11.B.CLRR 1; /* 清除两个中断标志写1复位 */SRC_GTMTIM11.B.SRE 1; /* 使能CPU中断 */通道2配置举例无中断的通道配置GTM_TIM0_CH0_CTRL.U 0x03532F00; /* 周期测量模式 */GTM_TIM0_CH0_FLT_FE.U 0xA0; /* 下降沿滤波参数 */GTM_TIM0_CH0_FLT_RE.U 0xA0 ; /* 上升沿滤波参数 */注意应用层的选择不需要实时处理逻辑未配置中断触发减少系统资源占用。3.TIM 通道输入来源TIM 通道的输入信号通过TIMnINSEL指定 32 bit每 4 bit控制 1 个channel一个TIMnINSEL可控制8个channelleg GTM_TIM0INSEL.B.CH0SEL 7; /* TIM0 通道 0 的输入源 选为7 */GTM_TIM1INSEL.B.CH1SEL 8; /* TIM1 通道 0 的输入源 选为8 */4.TIM索引对应引脚《AURIX™ TC33x_TC32x User Manual》查找位置Table 207三、TOM 模块PWM 信号输出5.TOM作用及构成在T333芯片中TOM包含TOM0/TOM1两个模块每个 TOM 模块含 2 个group每个group有8个channelTGC0 控制 ch0-ch7TGC1 控制 ch8-ch15。TOM 通道总数 32 个2 模块 ×16 通道注意TOM 通道按组划分依赖 TGC 控制而 TIM 无组划分。6.TOM初始化配置举例:TOM 的初始化需先配置组控制寄存器TGC确保通道输出的基础功能使能GTM_TOM1_TGC0_GLB_CTRL.U 0xAAAA0000; /* 使能 / 禁止「从影子寄存器」里更新参数 */GTM_TOM1_TGC0_OUTEN_CTRL.U 0x00005556; /* 使能 CH0-CH7 的输出允许规则 */GTM_TOM1_TGC0_OUTEN_STAT.U 0x00005556; /* 强制输出使能的状态 不做细分 */GTM_TOM1_TGC0_ENDIS_CTRL.U 0x0000AAAA;/* 控制 CH0-CH7 “使能 / 禁用” 更新 */GTM_TOM1_TGC0_ENDIS_STAT.U 0x0000AAAA; /*控制 CH0-CH7 “使能 / 禁用” 状态*/7.TOM 通道配置举例通道配置决定了 PWM 的频率、占空比等核心参数关键寄存器如下GTM_TOM1_CH0_CTRL.U 0x01000000; /* 配置通道 0 的核心工作模式 */GTM_TOM1_CH0_CN0.B.CN0 0; /* TOM1 通道 0 计数器初始值寄存器 */GTM_TOM1_CH0_CM0.B.CM0 10000; /* TOM1 通道 0 比较值 0 寄存器 */GTM_TOM1_CH0_CM1.B.CM1 5000; /* TOM1 通道 0 比较值 1 寄存器 */GTM_TOM1_CH0_SR0.B.SR0 10000; /* TOM1 通道 0 影子寄存器 0/1 */GTM_TOM1_CH0_SR1.B.SR1 5000; /* TOM1 通道 0 影子寄存器 1 */手册《Infineon-AURIX_TC3xx_Part2》快速查找TOM寄存器位置“28.14.7 TOM Configuration Register Overview”8.TOUT选择信号源GTM_TOUTSEL0.B.SEL0 7; /* TOM1_4 */《AURIX™ TC3xx User Manual Part-2》快速查找位置Timer Output Select Register《AURIX™ TC33x_TC32x User Manual》查找位置Table 208TOUTx定时器输出信号载体将 TOM/ATOM 信号路由至复用引脚leg配置 TOUTSEL0 的 SEL0将TOM1_4 的 PWM 信号通过 TOUT0 对应的 P2.0 引脚输出。SELx 为单个 TOUT选 “信号源”legTOUTSEL0 的 SEL0 控制 TOUT0SELx与TOUT关系SEL控制TOUT的信号源选择每个 SELx 对应一个 TOUTSELx 取值意义为这个 TOUT选择某个“ TOM/ATOM “通道 作为信号源。9.TOUT与引脚关系/* P2.0 TOUT0 */Pin与TOUT关系引脚在 TOUT 模式下对应唯一的 TOUT 编号TOUTSELn.SELx唯一10.注意事项同一 TOM 通道的信号可通过多个 TOUTx 路由到不同引脚实现 “一信号多输出”。同一时间一个 TOUTx 只能被一个 TOM/ATOM 通道驱动避免信号冲突。四、总结TIM 和 TOM 是 GTM 模块中实现 “输入检测” 与 “输出控制” 的核心组件其配置需注意TIM 的滤波参数需根据实际信号噪声调整中断配置按需选择实时处理 vs 后台读取。TOM 的影子寄存器是实现无毛刺 PWM 更新的关键需正确配置 TGC 组控制寄存器。TOUT 路由需明确信号源与引脚的对应关系避免冲突。掌握这些要点后开发者可灵活运用 TIM 和 TOM 模块满足工业控制中对 PWM 信号的检测与生成需求。代码示例****最后重点***如果您觉得有用***帮忙点赞加收藏哟***谢谢****