这里写自定义目录标题

  • GTM(Generic Timer Module)
    • 数据路由与存储
      • ARU( Advanced Routing Unit )
      • Broadcast Module (BRC)
      • Parameter Storage Module(PSM)
        • First In First Out Module (FIFO)
        • AEI-to-FIFO Data Interface (AFD)
        • FIFO to ARU Unit (F2A)
    • 时钟和时间基准管理 GTM Clock and Time Base Management (CTBM)
      • Clock Management Unit (CMU)
        • Configurable Clock Generation sub-unit(CFGU)
        • Fixed Clock Generation sub-unit (FXU)
        • External Clock Generation sub-unit (EGU)
      • Time Base Unit (TBU)
      • TIM0 Input Mapping Module (MAP)
      • Digital PLL Module (DPLL)
    • GTM输入输出模块
      • Timer Input Module (TIM)
        • 测量模式:
      • Timer Output Module (TOM)
      • ARU-connected Timer Output Module (ATOM)
        • SOMI
        • SOMC
        • SOMP
        • SOMS
        • SOMB

GTM(Generic Timer Module)

GTM(Generic Timer Module)通用定时器模块,由带有不同功能的子模块组成。这些子模块可以以一种可配置的方式组合起来,以形成一个复杂的定时器模块。GTM形成了一个通用的计时器平台,服务于不同的应用程序域和一个应用程序域中的不同类。由于这种可伸缩性和可配置性,计时器被称为通用型。

GTM总体架构如下图所示:
以及GTM内核架构如下图:

如上图所示,GTM内部分为了多个cluster,每个cluster中都存在一定数量的子模块。
GTM由如下子模块组成:
Advanced Routing Unit (ARU)
Broadcast Module (BRC)
First In First Out Module (FIFO)
AEI-to-FIFO Data Interface (AFD)
FIFO-to-ARU Interface (F2A)
Clock Management Unit (CMU)
Cluster Configuration Module (CCM)
Time Base Unit (TBU)
Timer Input Module (TIM)
Timer Output Module (TOM)
ARU-connected Timer Output Module (ATOM)
Dead Time Module (DTM)
Multi Channel Sequencer (MCS)
Memory Configuration (MCFG)
TIM0 Input Mapping Module (MAP)
Digital PLL (DPLL)
Sensor Pattern Evaluation Module (SPE)
Interrupt Concentrator Module (ICM)
Output Compare Unit (CMP)
Monitoring Unit (MON)

数据路由与存储

ARU与广播(BRC)和参数存储模块(PSM)一起组成GTM的路由与存储基础设施部分。

ARU( Advanced Routing Unit )

ARU即高级路由单元是GTM的核心组件,大多数子模块位于该单元周围并与之相连。 高级路由单元(ARU)是一个灵活的基础设施组件,能够将数据从已连接的源子模块路由到已连接的目标子模块,在GTM核心的几个子模块之间以可配置的方式传输53位宽的数据(5个控制位和2个24位值)。
在连接ARU接受ARU数据的通道中,路由是以一种采用轮询调度的方案并且具有最坏情况下的往返时间的确定性的方式完成。

Broadcast Module (BRC)

由于GTM每一个子模块通道的写地址都能写入ARU且只能被单个模块读取,因此ARU不可能同时向不同的模块提供数据流。为了解决常规模块的这个问题,子模块Broadcast (BRC)允许多次复制数据流。BRC能够将数据从一个源模块分发到多个连接到ARU的目标模块。

**BRC子模块提供12个输入通道和22个输出通道。**为了克隆一个输入数据流,可以将相应的输入通道映射为零个或多个输出通道。输入通道可以读取任意的ARU地址位置,输出通道将广播数据提供给固定的ARU写地址位置。

Parameter Storage Module(PSM)

**PSM子模块由三个子单元组成:AEI-to-FIFO数据接口(AFD)、FIFO-to-ARU接口(F2A)和FIFO本身。PSM可以用作传入数据特征的数据存储器,也可以用作传出数据的参数存储器。**该数据存储在逻辑上位于FIFO子单元内部的RAM中。

First In First Out Module (FIFO)

FIFO单元是FIFO子模块的存储部分,每个FIFO单元嵌入8个逻辑FIFO。每个逻辑FIFO表示GTM子模块和连接到AFD子模块的微控制器之间的数据流。FIFO RAM计数1K个单词,其中单词大小为29位。这样就可以自由地编程或接收24位数据以及一个ARU数据字内的5个控制位。

AEI-to-FIFO Data Interface (AFD)

AFD子模块实现AEI总线和FIFO子模块之间的数据接口,该接口由8个逻辑FIFO通道组成。AFD子模块提供一个缓冲区寄存器,专用于FIFO的逻辑通道。

FIFO to ARU Unit (F2A)

F2A是ARU和FIFO子模块之间的接口。由于ARU的数据宽度是53位(两个24位值和5个控制位),而FIFO的数据宽度只有29位,F2A必须以可配置的方式将数据从FIFO通道分发到FIFO通道。FIFO和ARU之间的数据传输由8个不同的数据流组织起来,这些流连接到相应的FIFO模块的8个不同的通道。

如下为数据流在ARU、F2A和FIFO的一种数据流通构图:

时钟和时间基准管理 GTM Clock and Time Base Management (CTBM)

在GTM内部,有几个子单元参与整个GTM的时钟和时基管理,他们分别是MAP、DPLL、CMU、TBU。
如下图为CTBM的结构框图:

Clock Management Unit (CMU)

CTBM的一个重要模块是时钟管理单元(CMU),时钟管理单元(CMU)负责生成计数器和GTM的时钟。CMU由三个子单元组成,它们为整个GTM产生不同的时钟源。它为GTM的子模块产生多达14个时钟,以及多达3个GTM外部时钟CMU_ECLK[z] (z: 0…2)。5个CMU_FXCLK[y] (y: 0…4)时钟被TOM子模块用于产生PWM。
CMU由三个字模块组成,分别为EGU、CFGU和FXU
CMU结构框图如下所示:

Configurable Clock Generation sub-unit(CFGU)

CFGU即可配置时钟生成子单元为以下GTM模块提供了8个专用时钟源:TIM、ATOM、TBU和MON。该模块的每个实例可以选择任意的时钟源,以指定广泛的时间基准。

Fixed Clock Generation sub-unit (FXU)

固定时钟生成(FXU)子单元为TOM模块和MON模块生成预定义的不可配置时钟,时钟分频因子固定为20,24,28,212,216。

External Clock Generation sub-unit (EGU)

外部时钟产生(EGU)子单元能够产生多达三个芯片外部时钟信号。外部时钟生成(EGU)子单元能够生成CMU_CLK8时钟来为模块CCM管理2个时钟域。

Time Base Unit (TBU)

时间基准单元TBU为GTM提供常用的时间基准。在TBU内部有多达四个通道,每个通道使用一个CMU_CLK[x] (x: 0…7)时钟来为GTM生成一个公共的时间基准。TBU子模块产生TBU_TS0、TBU_TS1和TBU_TS2三个时基信号,这三个信号是GTM内部广泛使用的常用时基信号,用于信号的表征和生成。

时间基值在TBU时间基通道内以两种独立和一种依赖的操作模式生成。

1. Free Running Counter Mode(自由运行计数器模式)
TBU通道0以自由运行计数器模式提供27位计数器,TBU通道1和2在空闲运行计数器模式下提供24位计数器。

2. Forward/Backward Counter Mode(向前/向后计数模式)
TBU通道1和2提供了一个24位的向前/向后计数器.

3. Modulo Counter Mode(按模计数器模式)(依赖模式)
TBU通道3提供24位正向/反向按模的计数器。

TIM0 Input Mapping Module (MAP)

MAP子模块通过计算子模块TIM0通道0到5通道的输出信号,**为子模块DPLL生成两个输入信号TRIGGER和STATE。**通过使用TIM作为输入子模块,可以在TIM通道内部对输入信号进行滤波。

Digital PLL Module (DPLL)

数字锁相环(DPLL)子模块用于倍频。该模块的目的是在输入频率快速变化的应用中获得更高精度的位置或值信息通过DPLL, CPU的负载可以从本质上减少重复或周期性的标准任务。其输入有两个信号TRIGGER和STATE,它们处理周期性事件。两个输入信号TRIGGER和STATE可以是来自同一设备的传感器信号,也可以是来自两个独立设备的传感器信号。当它们来自同一个设备时,TRIGGER输入通常是一个更频繁的信号,而STATE是一个频率较低的信号。

当用于发动机管理应用时,DPLL可以在两种不同的模式下运行:正常模式和紧急模式。

GTM输入输出模块

GTM输入输出主要有三个子模块TIM、TOM和ATOM。

Timer Input Module (TIM)

**Timer Input Module (TIM)负责过滤和捕获GTM的输入信号。**在TIM通道内可以测量输入信号的几种特性。对于高级数据处理,可以将检测到的TIM模块输入特征通过ARU路由到GTM的后续处理单元。

每个TIM通道由一个输入边计数器ECNT、一个带计数器CNT的信号测量单元(SMU)、一个用于SMU计数器的计数器阴影寄存器CNTS和两个用于值存储的通用寄存器GPR0和GPR1组成。

上图概述了子单元的通道内部连接。下面列出了具有主要功能的子单元:
INPUT_SRCx:选择信号以由过滤器单元处理FLTx
FLTx:过滤器单元,提供了多种不同的过滤器机制。
TDUx:超时(在指定时间内没有检测到后续的边缘)检测单元
TIM_CHx:测量单元,本地中断控制器(使能,状态…)
EXT_CAP_SRCx:选择某些函数需要的本地信号

测量模式:

TIM提供了七种不同的测量模式,可以配置寄存器TIM[i]_CH[x]_CTRL的位字段TIM_MODE。

  1. TIMPWM测量模式在TIM PWM测量模式中,TIM通道测量输入PWM信号的占空比和周期。DSL位定义了被测量PWM信号的极性。
  2. TIM脉冲集成模式在TIM脉冲积分模式中,每个TIM通道都能够测量输入信号上脉冲高或低时间的总和,这取决于寄存器TIM[i]_CH[x]_CTRL寄存器所选的信号电平位DSL。
  3. TIM输入事件模式在TIM输入事件模式下,TIM通道可以计数边缘。
  4. TIM输入预分频模式
  5. TIM位压缩模式TIM位压缩模式可用于将TIM子模块的所有滤波输入信号组合成一个并行的m位数据字,该数据字可路由到ARU,其中m为TIM子模块的可用信道数。
  6. TIM门控周期采样模式
  7. TIM串行切换模式

Timer Output Module (TOM)

**定时器输出模块(TOM)提供多达16个独立通道(索引x),在每个输出脚TOM[i]_CH[x]_OUT产生简单的PWM信号。**此外,在TOM输出TOM[i]_CH15_OUT可以产生脉冲计数调制信号。

存在两个全局通道控制单元(TGC0和TGC1),通过外部或内部事件同步地驱动多个单独的TOM通道。每个TGC[y]可以驱动多达8个TOM通道,其中TGC0控制TOM通道0到7,TGC1控制TOM通道8到15。

每一个单独的TOM通道包括一个计数器比较单元0 (CCU0),它包含计数器寄存器CN0和周期寄存器CM0,计数器比较单元1 (CCU1)包含占空比寄存器CM1和信号输出产生单元SOU (SOU)包含输出寄存器SOUR。

ARU-connected Timer Output Module (ATOM)

ARU连接的定时器输出模块ATOM (Timer Output Module)由于与ARU连接,可以在不与CPU交互的情况下产生复杂的输出信号。每个ATOM子模块包含8个输出通道,可以在几种可配置的操作模式下独立运行。

每个ATOM通道提供五种操作模式:

  1. ATOM立即输出模式(SOMI)
  2. ATOM输出模式比较(SOMC)
  3. ATOM PWM输出模式(SOMP)
  4. ATOM串行输出模式(SOMS)
  5. ATOM缓冲比较输出模式(SOMB)

SOMI

在ATOM信号输出模式立即(SOMI)中,ATOM通道在链路上产生输出信号在寄存器ATOM[i]_CH[x]_STAT的位ACBI(0)更新后,立即使用ATOM[i]_CH[x]_OUT输出端口。

SOMC

在ATOM信号输出模式比较(SOMC)中,输出动作的执行依赖于位于CM0和/或CM1寄存器中的输入值与两个(三个)时间基值TBU_TS0或之间的比较。

SOMP

在ATOM信号输出模式PWM (SOMP)中,ATOM子模块通道能够产生不同占空比和周期的复杂PWM信号。占空比和周期可以同步和异步更改。

SOMS

在ATOM信号输出模式串行(SOMS)中,ATOM通道能够根据移位寄存器的值,产生一个串行信号,移位数量和移位方向可配置,移位时钟由CMU模块的时钟决定。

SOMB

在ATOM信号输出模式缓冲比较(SOMB)中,输出动作是根据位于CM0和/或CM1寄存器中的输入值和两个(三个)时间基值的比较结果执行的TBU_TS0或TBU_TS1(或TBU_TS2)由TBU提供。

英飞凌单片机--GTM(Generic Timer Module)相关推荐

  1. 英飞凌基础学习笔记(GTM)Generic Timer Module

    一.通用定时器模块 GTM Generic Timer Module GTM是一个模块化定时器单元,设计用于适应多种定时器应用,包括动态数字PWM输出.带滤波的数字采集.电机控制(包括BLDC).计时 ...

  2. 英飞凌--GTM架构-Generic Timer Module

    目录 1 what(GTM)? 1.1 GTM概念 1.2 GTM架构 1.2.1 ARU 1.2.2 GTM子模块 1.3 GTM的实现 1.3.1 GTM架构 Block图 2 why(GTM)? ...

  3. Generic Timer Module (GTM)

    GTM general Architecture GTM 由很多子模块组成,形成了一个通用定时器平台,服务不同的应用程序领域,其中的子模块可以根据外部需求进行灵活配置,其架构如下图所示: 各个子模块总 ...

  4. 英飞凌单片机TC264实战攻略

    简 介: 对于参加全国大学生智能车的队伍进行Infineon单片机技术的培训.本文给出了培训的相关细节. 关键词: 英飞凌,培训,智能车竞赛 §01 培训背景   全国大学生智能汽车竞赛是以智能汽车为 ...

  5. 如何快速提高英飞凌单片机编译器 TASKING TriCore Eclipse IDE 编译速度

    1.前言 使用英飞凌单片机编译器 TASKING TriCore Eclipse IDE 开发编译时,想必感受最深刻的就是编译速度,那是非常慢了,如果是部分修改的源文件编译还好,不用等太久,而如果选择 ...

  6. ARM generic timer驱动代码分析

     转自 蜗窝科技 http://www.wowotech.net/linux_kenrel/arm-generic-timer.html 一.前言 关注ARM平台上timer driver(clo ...

  7. ARM Generic Timer

    了解 ARM Generic Timer 1.Introduction   The Generic Timer in the Armv8-A can schedule events and trigg ...

  8. 英飞凌单片机知乎_AURIX学习篇——《英飞凌多核单片机应用技术(AURIX三天入门篇)》-第5章 GTM驱动波形合成...

    本次开始第五章学习,GTM与驱动波形合成,GTM部分在电机控制或是传统发动机控制中有着举足轻重的位置,所以此部分为重点章节,但本书仅是大致的罗列了基本概念,如需对GTM部分详细学习,建议参考AURIX ...

  9. 英飞凌单片机知乎_如何评价单片机大神郭天祥?

    没成想自己的一个回答获得300个赞,也是知乎灌水多年的第一次了..之前的回答里略有一点点偏激,是为了回应一个我看到的不爽的回答.下面比较严谨的表达一下自己的想法-- 如果把单片机开发比做一个大学专业, ...

最新文章

  1. C++中getline()与cin.getline()详解
  2. python枪战项目计划书_燕山大学操作系统课程设计计划书
  3. 做AI项目,找有三AI,200+研发人员为你服务
  4. 吴裕雄 19-Mysql 连接的使用
  5. 数据结构------选择排序
  6. Linux之shell脚本(2)
  7. android.net.wifi的简单使用方法
  8. python -- configparse读取配置文件
  9. [转载] Python基础:什么是字符串?字符串是用来做什么的?
  10. python深度学习介绍
  11. Solidworks CAM入门教程,简单生成雕刻机刀路,经验分享
  12. 诺基亚PC套件界面设计
  13. 记录一次网线水晶头的安装
  14. VMware下安装Raspbian树莓派系统
  15. ES6学习——新的语法:Temporal Dead Zone(TDZ)
  16. 搭建企业私有Git服务
  17. 微信小程序 - tab分页实现
  18. QT随机放1个1和七个2_天热了鸡蛋容易坏,不用放进冰箱,老农教你1招,放2个月还新鲜...
  19. Parse 控制面板
  20. java计算机毕业设计基于安卓Android的助农商城APP-农业信息app-计算机毕业设计

热门文章

  1. 循环结构中“当型”与“直到型”判断的理解
  2. C语言是什么?都包括哪些?
  3. HDU 1506 解题报告 Largest Rectangle in a Histogram (单调栈)
  4. MapReduce核心map reduce shuffle (spill sort partition merge)详解
  5. word文档及其历史版本的备份
  6. 无线路由器首次配置、修改WiFi名称和密码—— Cisco实验/家里实验
  7. Android App无法抓包的解决方案总结
  8. 操作符重载and模板(泛化, 全特化, 偏特化)
  9. php获取邮箱邮件列表,让PHP管理小型的邮件列表
  10. Prometheus自带指标整理