2026/2/9 17:23:56
网站建设
项目流程
网投网站建设,网站的赚钱方式,网页游戏网站电影,域名购买英飞凌 Aurix2G TC3XX GTM 模块详解
本文主要介绍 Infineon Aurix2G TC3XX 系列芯片中 GTM 模块硬件原理、MCAL 相关配置和部分代码实现。 1 模块简介
GTM(Generic Timer Module,通用定时器)是德国博世公司开发的定时器内核架构,它包含一个模块框架,其中包含具有不同功能…英飞凌 Aurix2G TC3XXGTM模块详解本文主要介绍 Infineon Aurix2G TC3XX 系列芯片中 GTM 模块硬件原理、MCAL相关配置和部分代码实现。1 模块简介GTM(Generic Timer Module,通用定时器)是德国博世公司开发的定时器内核架构,它包含一个模块框架,其中包含具有不同功能的子模块。这些子模块可以以可配置的方式组合起来,形成一个复杂的计时器模块,为不同的应用程序域和一个应用程序域中的不同类提供服务。由于这种可伸缩性和可配置性,计时器被称为通用计时器。GTM 具有多个子模块,模块可单独工作,包括高精度定时功能、Pwm波输出功能和Icu波形监控功能,也可进行组合实现各种复杂功能,如电机半桥死区输出功能、霍尔电机控制功能等。GTM 模块具有独立的内核,支持对其进行编程调试,也可作为芯片外设,通过外设寄存器进行访问控制。Aurix2G 系列芯片中集成的版本为 GTM IP v3.1.5.1,支持作为外设使用,通过 SPB 总线控制,且与芯片内部其他模块如中 IR 中断路由模块、Adc 模块等进行了连接设计,可配合实现复杂外设功能,同时解放 CPU 负载。本文结合代码和配置,主要介绍时钟控制模块 CMU、定时器输出模块 ATOM/TOM、定时器输入模块 TIM,同时还将介绍 Aurix2G 芯片中 GTM 与 Port、Adc等连接的查询方式。2 功能介绍作为定时器模块,时钟的频率计算至关重要。Aurix2G 中 Gtm 的时钟源有两个,取决与用户设置的时钟频率。其计算公式如下:也就是说,当 GTMDIV==1 时,GTM 的输入时钟频率等于外设总线时钟的 2 倍,否则等于系统时钟除以分频系数 GTMDIV。比如 SPB 为 100MHz 时,配置 GTMDIV 为 1,则 GTM 模块时钟为 2*100MHz=200MHz;系统时钟为 300MH 时,配置 GTMDIV 为 3,则 GTM 模块时钟为 300/3=100MHz。GTM 手册推荐时钟频率不高于 100MHz,主要考虑因素为功耗。2.1 GTM 总览GTM 子模块包括 ARU、BRC、FIFO、AFD、F2A、CMU、CCM、TBU、TIM、TOM、ATOM、DTM、MCS、MCFG、MAP、DPLL、SPE、ICM、CMP、MON,其架构框图如下图所示:如图所示,GTM 内部由多个簇(cluster)组成,有些模块如 ATOM、TOM、SPE 在多个簇里面存在,每个簇中功能相同,具体的数量取决于芯片型号;而有些模块如 CMU、TBU 只在主簇(Cluster0)中存在。每个簇有一个独立的输入时钟源,多个输入信号到 TIM 模块,多个输出经过 TOM/ATOM 然后从 DTM 输出;输入/输出信号一般是通过 Port 与外部进行信号交互,也可与其他模块如 Adc、Iom 等模块进行交互。每个簇及其中的模块都有相应的配置寄存器,可直接通过 Aurix2G 的外设总线进行设置。下面我们主要介绍CMU、TOM、ATOM、TIM模块。2.2 CMU(Clock Management Unit)2.2.1 功能介绍时钟管理单元(Clock Management Unit, CMU)负责生成计数器和 GTM 的时钟。CMU 由三个子单元组成,包括 CFGU 、FXU、EGU,为整个 GTM 模块生成不同的时钟源。CMU 的主时钟源是簇 0 时钟信号 cls0_clk,该信号由寄存器 GTM_CLS_CLK_CFG 中的位字段 CLS0_CLK_DIV 的值定义(默认为 2)。CMU 模块框图如图示。CFGU(Configurable Clock Generation Unit,可配置时钟生成模块)可根据用户需求进行较大范围的时钟配置(分频参数为 24 位宽),是 CMU 主要的时钟控制单元。其输入源为簇 0 的输入时钟 CLS0_CLK,可输出 8 路不同频率的时钟,供 TIM, ATOM, TBU 等模块使用,且连接丰富,例如同一 ATOM 模块内部多个通道可使用不同的 CMU_CLK。每路 CMU_CLK 与 GTM 总时钟源之间有 3 层分频,第一