GTM general Architecture

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

  1. Advanced Routing Unit (ARU)
  2. Broadcast Module (BRC) 广播单元
  3. First In First Out Module (FIFO)
  4. AEI to FIFO Data Interface (AFD)
  5. FIFO to ARU Unit (F2A)
  6. Clock Management Unit (CMU) 时钟管理单元
  7. Cluster Configuration Module (CCM)
  8. Time Base Unit (TBU) 时间基准单元
  9. Timer Input Module (TIM) 定时器输入模块
  10. Timer Output Module (TOM) 定时器输出模块
  11. ARU-connected Timer Output Module (ATOM) ARU定时器输出模块
  12. Dead Time Module (DTM)
  13. Multi Channel Sequencer (MCS)
  14. Memory Configuration (MCFG)
  15. TIM0 Input Mapping Module (MAP) 输入映射模块
  16. Digital PLL Module (DPLL) 数字锁相环模块
  17. Sensor Pattern Evaluation (SPE) 传感器模式分析
  18. Interrupt Concentrator Module (ICM) 中断聚集模块
  19. Output Compare Unit (CMP) 输出比较单元
  20. Monitor Unit (MON) 检测单元

从框架与可以总结如下:

  • ARU是GTM的核心部件,其主要功能是将数据从连接的源子模块传递到连接的目标子模块。传递的数据字节大小为52位,数据结构中最高5位为控制信息,后面的俩个24位为GTM模块的操作寄存器数据。

  • Broadcast Module (BRC) 能够将数据从一个源模块分发到连接在ARU上的多个目标模块。

  • 参数存储模块包括三个子单元:FIFOAFDF2A,参数存储模块可以作为输入数据特征的数据存储或作为输出数据的参数存储。

  • 具体功能细节需要查看芯片手册

  • TIM 模块可以过滤外部信号并附加一些信息,比如每个通道都能够测量脉冲高低电平的时间以及PWM占空比、周期等信息。

  • Clock Management Unit (CMU) 可以为GTM模快内部提供多达13个不同频率的时钟信号,对外部硬件可以输出最多三路时钟信号,可以作为一个系统时钟的分频器,在其他子模块内部实现的计数器通常由该子模块驱动。

  • **Time Base Unit (TBU)**为GTM提供了三个独立的通用时间基准,其中两个独立的时间基准来源可以配置成数字锁相环DPLL的输出sub_inc1c 和sub_inc2c.

  • GTM信号输出模块TOM和ARU-connected Timer Output Module (ATOM) ARU定时器输出模块,每个TOM模块都能够在其输出端产生一个PWM信号,ATOM模块可以在不需要CPU干预的情况下产生复杂的输出信号。

  • Output Compare Unit (CMP)和Monitor Unit (MON) 检测单元用来实现与安全相关的功能。例如,CMP能够比较ATOM和TOM的两个输出通道,并将结果发送到MON子模块,MON模块还能够检测ARU和CMU模块的运行状态。

  • GTM模块含有大量中断源,这些中断源可以通过Interrupt Concentrator Module (ICM) 中断聚集模块从而形成中断源组。

下面分别分析重要的几个子模块:

时钟管理

在GTM内部,MAP、DPLL、CMU、TBU,四个子单元都参与了整个GTM的时钟和时基管理。

Clock Management Unit (CMU)

功能:负责GTM的时钟生成
组成:三个子单元

  1. 外部时钟生成单元 EGU
  2. 可配置时钟生成单元 CFGU
  3. 固定时钟生成单元 FXU

可配置时钟生成子单元 CFGU

功能:为TIM ATOM TBU MON 提供八个专用时钟源,如图中的clock source 0 divider - clock source 7 divider

固定时钟生子单元成FXU

功能:为TOM和MON生成预定义的不可配置时钟CMU_FXCLK,时钟分频因子固定为202428212216

外部时钟生成子单元 EGU

功能:生成多达3个GTM外部时钟信号CMU_ECLK

Time Base Unit (TBU)

时间基准单元为GTM模块提供时间基准,TBU模块以通道作为最小工作单位,其中通道数量与芯片型号相关TBU内部最多有四个通道,TBU0的时间基准控制器寄存器TBU_CH0_BASE为27位,可以配置低24为或者高24位作为信号TBU_TS0提供给GTM,另外两路时间基准寄存器均为24位。

四个寄存器的的使能或者禁止由全局通道控制器TBU_CHEN控制,时钟基准通道的选择是通过这个控制寄存器的CH_MODE位实现的

输入的CMU_CLK[x]可以选择来自CMU模块的八个信号之一

Digital PLL Module (DPLL)

数字锁相环子模块主要用于信号的倍频,其输入有TRIGGER和STATE信号。

GTM输入模块

定时器输入模块(TIM)主要用于为GTM模块提供输入信号,同时具有滤波功能,TIM具有先进的数据处理功能,能够通过ARU连接到其他模块从而传递信息;同时还能在的信号的上升沿和下降沿打时间戳,测量波形的频率以及占空比,其结构框图如下:

The number of channels m inside a TIM sub-module depends on the device.
Each of the m dedicated input signals are filtered inside the FLTx sub-unit of the TIM Module. It should be noted that the incoming input signals are synchronized to the clock SYS_CLK, resulting in a delay of two SYS_CLK periods for the incoming signals.

The measurement values can be read by the CPU directly via the AEI-Bus or they can be routed through the ARU to other sub-modules of the GTM.

For the GTM TIM0 sub-module only, the dashed signal outputs TIM[i]_CHx, TIM[i]_CHx and TIM[i]_CHx come from the TIM0 sub-module channels zero (0) to five (5) and are connected to MAP submodule. There, they are used for further processing and for routing to the DPLL.

The two (three) time bases coming from the TBU are connected to the TIM channels to annotate time stamps to incoming signals. For TIM0 the extended 27 bit width time base TBU_TS0 is connected to the TIM channels, and the user has to select if the lower 24 bits (TBU_TS0(23…0)) or the higher 24 bits (TBU_TS0(26…3)) are stored inside the GPR0 and GPR1 registers.

Above figure gives an overview of the channel internal connectivity of the sub units. The sub units with the major functionality are listed next:
INPUT_SRCx: Select signal for processing by the Filter unit FLTx
FLTx: The filter unit provides different filter mechanisms
TDUx: Timeout detection unit (no subsequent edge detected during a specified duration
TIM_CHx: Measurement unit; different measurements strategies configurable on the filtered signal
IRQx: Local interrupt controller (enabling, status, …)
EXT_CAP_SRCx: Selects a local signal ext_capture(x) which is needed by certain functions

GTM模块中有多个TIM模块,每个TIM模块含有m路通道,为了实现每一路通道的独立控制,设计了通道控制寄存器:TIMi_CHx_CTRL
寄存器的不同字段的控制参数请参考芯片手册

同时TIM通道有6中不同的测量模式,可以通过寄存器TIMi_CHx_CTRL的位域TIM_MODE配置,同时寄存器TIMi_CHx_CTRL的其他位域也能配置每种测量模式的详细参数。
其中:
DSL: 控制测量模式的信号极性,定义低电平为主还是高电平为主
EGPR0_SEL,GPR0_SEL和EGPR1_SEL,GPR1_SEL:控制寄存器GPR0和GPR1储存的测量信号的参数类型
CNTS_SEL:控制寄存器CNTS的内容类型
ARU_EN:寄存器GPR0和GPR1使能发动到ARU模块

测量模式

PWM测量模式

测量原理:如果寄存器中DSL的位置1,那么通道就会在检测到上升沿的时候开始测量,计数器开始计数,直到检测到下降沿停止,此时计数器的值被保存到寄存器CNTS中,计数器也继续开始计数直到下一个上升沿,CNTS的值被保存到GPR0,CNT的值被保存到GPR1,最终,GPR0中记录了占空比长度,GPR1中记录了信号周期,通过寄存器GPR0和GPR1中存储的计数器数值和时钟信息就可以计算出周期和占空比

脉冲计时测量模式

DSL: 控制测量低电平脉冲还是高电平脉冲
计数器CNT:测量电平与配置相等时累加,计数器引用CMU的输出频率工作
寄存器CNTS,GPR0和GPR1确定最后结果

边沿检测模式

DSL&ISL: 控制测量上升沿/下降沿
计数器CNT:测量边沿检测数,检测的期望值可以写入寄存器控制
TIMi_NEWEVALx_IRQ:中断可以被触发

GTM输出模块

ATOM

  • 每个ATOM有8个相互独立的输出通道
  • 每个通道提供5中输出模式:SOMI 立即输出;SOMC比较输出;SOMP PWM输出;SOMS 串行输出

As described above, each ATOM channel can operate independently from each other in one of five dedicated output modes:
• ATOM Signal Output Mode Immediate (SOMI)
• ATOM Signal Output Mode Compare (SOMC)
• ATOM Signal Output Mode PWM (SOMP)
• ATOM Signal Output Mode Serial (SOMS)
• ATOM Signal Output Mode Buffered Compare (SOMB)

  • ATOM通道的操作寄存器是24位宽,且输入时钟来自于CMU的CMU_CLKx,所以ATOM通道的计数器时钟频率可以灵活配置,ATOMi_CHx_OUT可以控制实现串行输出移位。
  • 每个ATOM通道提供一个操作寄存器和影子寄存器集合,操作寄存器控制,影子寄存器重载。

ATOM工作模式

ATOM的内部结构如下:

SOMI:

SOMC:

SOMP:

CM0和CM1分别控制了输出PWM信号的周期和占空比。

SOMS:

SOMB:

Generic Timer Module (GTM)相关推荐

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

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

  2. 英飞凌单片机--GTM(Generic Timer Module)

    这里写自定义目录标题 GTM(Generic Timer Module) 数据路由与存储 ARU( Advanced Routing Unit ) Broadcast Module (BRC) Par ...

  3. 英飞凌--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)? ...

  4. ARM generic timer驱动代码分析

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

  5. ARM Generic Timer

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

  6. [architecture]-Generic Timer

    快速链接: .

  7. Generic Polygon Module in MAME 0.120u1

    蝴蝶效应: MAME 0.120u1中的一个小动向,也许就是一场大规模技术变动的前奏.经历了相当长久的视频系统改进铺垫之后,看来提高3D视频模拟效率这一议题总算被提上日程了.在最新的Mame0.120 ...

  8. 英飞凌TC3xx系列GTM系统介绍

    本文框架 1. 本系列前言 2. GTM模块系统介绍 2.1 GTM模块常用缩略语 3. 系列介绍规划 1. 本系列前言 英飞凌TC3xx是英飞凌AURIX 2G系列单片机,该系列单片机是32位微控制 ...

  9. AURIX TC397 Timer PWM 基础知识

    目录 Timer/PWM资源 STM GTM GPT12 CCU6 参考 微信公众号 Timer/PWM资源 TC397有下列Timer/PWM资源: 6x STM GTM 1x GPT12 1x C ...

最新文章

  1. 李彦宏:简单搜索永远没有广告;安全是自动驾驶第一天条
  2. 《Splunk智能运维实战》——3.11 制作折线图显示项目浏览量和购买量随时间的变化...
  3. Pytorch 计算参数量与计算量Flops
  4. 关于AttributeError: type object ‘XXX‘ has no attribute ‘XXX‘的问题
  5. python网络编程能做什么_python网络编程——什么是socket?
  6. LeetCode 460. LFU缓存(哈希双链表)
  7. 通过printf从目标板到调试器的输出
  8. 圣诞素材ae模板-圣诞节日聚会派对视频素材ae模板
  9. Scala 类和对象
  10. Zend Framework实例教程三
  11. springboot maven打包pom配置
  12. 30个超实用Python代码片段
  13. 【备忘】加入L2范数正则化后的正规方程求解参数推导过程
  14. Linux Vim替换字符串的方法总结
  15. 百万级别数据库优化方案
  16. 深度学习与自然语言处理(5)_斯坦福cs224d 大作业测验2与解答
  17. IDF实验室-抓到一只苍蝇
  18. kubernetes 与 rook 架构说明
  19. hadoop批量安装第三方包
  20. WINPE WIN10 测试i9-9900k+2080TI\i9-9980XE+P5000\i7-8086k+titanX\E5-2678+128G跑分

热门文章

  1. 我的微信群里有一个外国人
  2. 会计科目的共同类指的是什么
  3. C#Winform中DataGridView控件下的右键菜单事件获取行值方法
  4. php采集新闻数据插入数据库,PHP采集www.php.cn的文章,并存入数据库。
  5. android 视频特效,安卓特效相机(四) 视频录制
  6. 《特征工程三部曲》之一:数据处理
  7. 2018通达信l2服务器源码,[通达信] 通达信L2正版DDX指标美化
  8. 《初等数论》:最大公因数与最小公倍数
  9. 【前端运维】打通任督二脉!(nginx篇和nodejs + go)
  10. 几种swf格式视频转换器简介