Generic Timer Module (GTM)

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:
  • 5
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值