【TC3xx芯片】TC3xx芯片的GTM模块详解

目录

前言

正文

1.GTM模块功能概述

1.1 GTM具体功能

1.2 GTM架构

2. GTM模块输入时钟

2.1.fGTM的值怎么计算

3. CMU

3.1 CMU功能

3.2 CMU时钟的计算

3..2.1 CLS0_CLK怎么计算

3.2.1 GTM Global Clock时钟计算

3.2.2 分频时钟的计算

4. CCM

4.1 CCM功能

4.2 CCM时钟计算

5. TBU

5.1 TBU的功能

5.2 TBU时钟计算

6. TOM

6.1 TOM功能

6.2 TOM硬件资源

6.3 TOM中断

6.4 TOM时钟

6.5 TOM内部原理

6.5.1 TOM通道使能

6.5.2 TOM通道输出

6.5.3 TOM占空比,周期,时钟频率的更新机制

6.5.4 TOM同步更占空比和异步更新占空比

6.5.5 计数模式

6.5.5.1 Continuous Counting Up Mode

6.5.5.2 Continuous Counting Up-Down Mode

6.5.5.3 One-shot Counting Up Mode

6.5.5.4 One-shot Counting Up-Down Mode

7. TIM

7.1 TIM功能

7.2 TIM硬件资源

7.3 TIM中断

7.4 TIM时钟

7.5 TIM内部原理

7.5.1 TIM功能概述

7.5.2 TIM输入源选择

7.5.3 输入查看

7.5.4 外部捕获源选择

7.5.5 TIM过滤功能

7.5.5.1 Immediate Edge Propagation Mode

7.5.5.2 Individual De-glitch Time Mode (up/down counter)

7.5.5.3 Individual De-glitch Time Mode (hold counter)

7.5.5.4 Individual De-glitch Time Mode (reset counter)

7.5.5.5 Immediate Edge Propagation and Individual De-glitch Mode

7.5.6 超时检测

7.5.7 TIM通道架构

7.5.8 TIM通道模式

7.5.8 .1 TIM PWM Measurement Mode (TPWM)

7.5.8 .2 TIM Pulse Integration Mode (TPIM)

7.5.8 .3 TIM Input Event Mode (TIEM)  

7.5.8 .4 TIM Input Prescaler Mode (TIPM)

7.5.8 .5 TIM Bit Compression Mode (TBCM)

7.5.8 .6 TIM Gated Periodic Sampling Mode (TGPS)

7.5.8 .7 TIM Serial Shift Mode (TSSM)


前言

GTM模块功能非常的强大也就会非常的复杂,我们在介绍GTM模块的时候仅站在工程开发者的角度去介绍需要用户关注和配置的关键地方,且仅重点介绍GTM对于PWM信号的输入输出功能,对于原理其其他复杂功能仅粗略介绍,详细的原理介绍请参考芯片手册,复杂的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

TIM

Timer Input Module

正文

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作为模块的输入时钟,根据<< ??? >>一文我们知道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芯片】TC3xx芯片的Clock System功能详解>>一文,如果我们配置:

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.

3. CMU

3.1 CMU功能

5 Fixed Clock

CMU_FXCLK[x]
(x:0 - 4)

Used for TOM sub-module for PWM generation

9 Divided clocks

CMU_CLK[y]
(y: 0 - 8)

Used for other sub-modules of GTM for signal generation

3 external clocks

CMU_ECLK[z]
(z: 0 - 2)

Used for external peripheral components

CMU模块是系统时钟(SYS_CLK, 也就是fSTM)的时钟分频器 (clock divider),其他子模块的counter 计数都是由CMU提供。

考虑到GTM内部晶体管的功率消散,这个系统时钟不能超过 100MHz,GTM 内部的时钟最大频率可达到 200MHz。

SYS_CLK = fGTM clock p

  • 35
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值