IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 英飞凌单片机--GTM(Generic Timer Module) -> 正文阅读

[嵌入式]英飞凌单片机--GTM(Generic Timer Module)

GTM(Generic Timer Module)

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

GTM总体架构如下图所示: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的结构框图:
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结构框图如下所示:
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提供。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章           查看所有文章
加:2022-06-26 17:01:57  更:2022-06-26 17:02:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/27 5:26:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码