前言
GTM模块功能非常的强大也就会非常的复杂,TC3xx的MCAL使用GTM作为其他AUTOSAR标准模块的输入时钟,如ICU和PWM模块都使用GTM作为时钟源。所以,学习TC3xx的MCAL,GTM必须熟悉。我们在介绍GTM模块的时候仅站在工程开发者的角度去介绍需要用户关注和配置的关键地方,且仅重点介绍GTM对于PWM信号的输入输出功能,对于原理其其他复杂功能仅粗略介绍,详细的原理介绍请参考芯片手册,复杂的GTM功能作者也没有实践经验。本文为GTM功能概述及GTM输入时钟介绍。
缩略词
简写 |
全称 |
GTM |
General Time Module |
PWM |
Pulse Width Modulation |
CMU |
Clock Management Unit |
CCM |
Cluster Configuration Module |
TBU |
Time Base Unit |
TOM |
Timer Output Module |
CCU |
Counter Compare Unit |
注:本文章引用了一些第三方工具和文档,若有侵权,请联系作者删除!
正文
1.GTM模块功能概述
通用定时器模块(General Timer Module)是博世(Bosch)公司所设计的一个模块。GTM可确保在汽车动力系统应用中实现准确的多输入数据采集和多输出信号生成。GTM可实时捕捉数字输入信号的变化并对其进行特征数据提取,以便进一步处理。由于GTM强大的可编程性,允许其使用复杂的脉冲调制(PWM)生成几乎任何信号形状。多个变成通道可并行允许,同时确保同步信号生成。
当前主流的半导体厂商,如Infineon, Renesas, NXP, ST, e.g.都在自家的MCU中集成了不同版本的GTM模块,满足不同的可编程PWM的需求。
1.1 GTM具体功能
GTM基础功能
. 过滤,解析输入的PWM信号
. 输入可调制的(占空比,频率可可编程)PWM信号
GTM复杂功能
通过单个模块或者多个模块组合提供复杂的功能
. 无刷直流电机控制
. 发动机管理应用的发动机角度时钟
. 生成喷射/点火脉冲
….
1.2 GTM架构
GTM 系统架构旨在为嵌入式控制应用提供灵活且可扩展的平台。这种灵活性和可扩展性通过体系结构实现,其中子模块旨在提供特定于定时器的功能。这些子模块由基础设施组件提供支持,这些基础设施组件提供时钟,时基(Time bases)和通信路径来连接子模块。 通过添加或删除不同应用程序域的子模块,可以实现可扩展性。
基础组件子模块
子模块 |
功能 |
CMU |
为GTM内部模块和计数器提供时钟分频器 |
TBU |
为其他子模块提供24位宽的时间戳 |
ICM |
中断集中器,捆绑GTM内部中断,以减少到CPU的中断数量 |
PSM |
参数存储模块,可用作FIFO,将参数存储进GTM或从GTM取值 |
BRC |
广播数据,以一对多的方式通过高级路由单元传输数据 |
ARU |
高级路由单元,以时分复用方式路由53位数据,实现一对一传输 |
输入输出子模块
子模块 |
功能 |
TIM |
提供8个输出通道,可对输入信号进行特征提取或测量 |
TOM |
提供16个通道用于产生PWM。每个通道既可以独立于其他通道允许,也可以相对于其他TOM通道允许 |
ATOM |
与TOM不同,ATOM是与ARU连接的定时器输出模块。可以生成代表时间戳的PWM信号或复杂的输出序列 |
DTM |
生成带死区的PWM。此外,DTM还可用于组合TOM或ATOM输出信号 |
MCS可以理解位GTM的内核。MCS有自己独立的内部RAM。可编程的对输入信号进行操作,并产生复杂的输出信号。输入信号铜鼓ARU路由到MCU,输出命令通过ARU路由到ATOM。
特定应用的子模块
子模块 |
功能 |
DPLL |
用于发动机位置检测和生成角度时钟 |
MAP |
负责将TIM0采样的信号映射到DPLL模块 |
SPE |
SPE子模块在TIM->SPE->TOM信号传输路径中提供无刷直流输入模式检测和无刷直流输出模式产生的功能 |
用于功能安全的子模块
子模块 |
功能 |
CMP |
CMP模块可以比较来自TOM或者ATOM模块的两个相邻通道输出,并在这两个信号不相同时产生错误 |
MON |
MON模块用于监控GTM内部时钟和MCS |
2. GTM模块输入时钟
GTM模块使用fGTM作为模块的输入时钟,根据<<TC3xx芯片Clock System功能详解-时钟分配CCU >>一文我们知道fGTM在Clock的CCU模块配置。
需要注意的是fGTM也就是GTM模块中的SYS_CLK. SYS_CLK是GTM IP中的定义。
2.1.fGTM的值怎么计算
如上截图所示,fGTM的取值根据CCUCON0.GTMDIV的值和fSOURCEGTM的值来确定,fSOURCEGTM又根据CCUCON0.GTMDIV的不同而不同。
值得注意的是在MCAL配置工具EB中没有对CCUCON0.GTMDIV和CCUCON0.SPBDIV的配置,而是通过fSPB和fGTM的配置值去反推(生成寄存器的配置代码)fSOURCEGTM和CCUCON0.GTMDIV和CCUCON0.SPBDIV.
参考在<<TC3xx芯片Clock System功能详解-时钟分配CCU>>一文,如果我们配置:
fsource0 == fPLL0 == 300MHz
fsource1 == fPLL1 == 320MHz
fsource2 == fPLL2 == 200MHz
fSPB == 100MHz
fGTM == 200MHz
则反推出:
CCUCON0.GTMDIV = 0x01
CCUCON0.SPBDIV = 0x03
也就是因为CCUCON0.GTMDIV == 0x01,则:
fGTM / 1 == fSOURCEGTM == fSPB * 2 == 200MHz.
关注本公众号了解GTM后续更精彩内容!
End
「汽车电子嵌入式在CSDN上同步推出AUTOSAR精进之路专栏,本专栏每个模块完全按实际项目中开发及维护过程来详细介绍。模块核心概念介绍、实际需求描述、实际工程配置、特殊需求介绍及背后原理、实际工程使用经验总结。目的是让读者看完每一个章节后能理解原理后根据需求完成一个模块的配置或者解决一个问题。」
点击文章最后左下角的阅读原文可以获取更多信息
或者复制如下链接到浏览器获取更多信息
https://blog.csdn.net/qq_36056498/article/details/132125693
文末福利
后台回复“
“即可免费下载;
2.为便于技术交流,创建了汽车电子嵌入式技术交流群,可尽情探讨AP,CP,DDS,SOME/IP等前沿热点话题,后台回复“加群”即可加入;
注:本文引用了一些第三方工具和文档,若有侵权,请联系作者删除!
原文始发于微信公众号(汽车电子嵌入式):TC3xx芯片GTM模块详解-GTM功能概述及GTM输入时钟介绍
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论