英飞凌TLE9945GPT12

13 通用定时器单元(GPT12)

13.1 特性概述

通用定时器(GPT12)由五个 16 位定时器组成,这些定时器被分为两个定时器模块 GPT1 和 GPT2。这两个定时器模块可独立用于各种用途,如定时、事件计数、脉宽测量、脉冲生成、频率倍增等。

GPT1 具备以下特性:

模块时钟除以 4 后的最大分辨率
3 个独立的定时器 / 计数器
定时器 / 计数器可级联
4 种工作模式:

定时器模式
门控定时器模式
计数器模式
增量接口模式

重载和捕获功能
GPT1 有多种输入选项
GPT1 有一个输出用于外设互联和产生中断请求(IRQ)

GPT2 具备以下特性:

模块时钟除以 2 后的最大分辨率
2 个独立的定时器 / 计数器
定时器 / 计数器可级联
3 种工作模式:

定时器模式
门控定时器模式
计数器模式

扩展的捕获和重载功能
GPT2 有多种输入选项
GPT2 有一个输出用于外设互联和产生中断请求(IRQ)

13.2 框架图

13.2.1 GPT1 模块

GPT1 模块包含三个定时器 / 计数器:核心定时器 T3 以及两个辅助定时器 T2 和 T4。其最大分辨率为 GPT 时钟除以 4 。GPT1 的辅助定时器可选择性地配置为重载寄存器或核心定时器的捕获寄存器

Figure 111 GPT1 block (n = 2 … 5)

13.2.2 GPT2 模块

GPT2 模块包含两个定时器 / 计数器:核心定时器 T6 和辅助定时器 T5。其最大分辨率为。一个额外的捕获 / 重载寄存器(CAPREL)支持具有扩展功能的捕获和重载操作。

Figure 112 GPT2 block

13.3 接口

13.3.1 顶层信号

表 124 顶层连接

13.3.2 中断

13.3.2.1 GPT1 定时器的中断控制

当一个定时器从FFFFH上溢到0000 H(向上计数时),或者从0000 H下溢到FFFFH(向下计数时)时,寄存器IS中的中断请求标志将被置位。如果相应的中断使能位被置位,这将导致相应定时器中断向量中断。

在重载模式下,在触发信号时,T3加载相应定时器的内容(T2或T4),并设置寄存器IS中的相应中断请求标志。

在增量接口模式下,中断请求生成可以选择如下:

– 在旋转检测模式下(T3 M = 110 B),每次T3的计数方向改变时,都会生成中断请求

-在边缘检测模式下(T3 M = 111 B),每次检测到T3的计数沿时,都会生成中断请求。

在捕获模式下,在相应输入引脚触发(选定转换)时,核心定时器T3的内容被加载到辅助定时器寄存器Tx中,并且寄存器IS中的相关中断请求标志将被置位

13.3.2.2 GPT2定时器和CAPREL的中断控制

当定时器从 FFFFH 向上计数溢出到 0000H ,或从 0000H 向下计数下溢到 FFFFH 时,寄存器 IS 中的中断请求标志将被置位。如果相应的中断使能位已置位,这将引发对相应定时器中断向量的中断。

每当在引脚 CAPIN 检测到根据位域 CI中的选择而定的转换时,寄存器 IS 中的中断请求标志将被置位。设置该请求标志会引发对相应定时器或 CAPREL 中断向量的中断,前提是相应的中断使能位已置位。

两个定时器(T5、T6 )以及 CAPREL 寄存器各有一个中断控制寄存器。所有中断控制寄存器都具有寄存器说明中描述的相同结构

AURIX系列之TC275学习笔记(三): GPT1模块_tc275有几个定时器-CSDN博客

AURIX系列之TC275学习笔记(四):GPT2 模块_tc gpt-CSDN博客

13.3.2.3 GPT12中断生成

GPT12中断方案允许以下配置:·中断状态存储在寄存器IS中·软件可以通过ISS和ISC设置和清除中断状态·中断请求可以通过IEN使能·六个中断请求映射到中断节点指针IPTR,它有两个中断请求线IRQ 0和IRQ 1。

GPT12中断方案如图113所示。

13.5 功能描述

13.5.1 定时器模块 GPT1

从程序员的角度来看,GPT1 模块由一组特殊功能寄存器(SFR)组成,如下所述。GPT1 模块用于复用功能的端口和方向寄存器部分以阴影显示

图 114 与定时器模块 GPT1 相关的特殊功能寄存器

GPT1 模块的三个定时器(T2、T3、T4 )均可在四种基本模式下运行:定时器模式、门控定时器模式、计数器模式或增量接口模式。所有定时器均可进行向上或向下计数。GPT1 的每个定时器由一个独立的控制寄存器 TxCON 控制。

每个定时器都有一个关联的输入引脚 TxIN(复用引脚功能),在门控定时器模式下用作门控控制,在计数器模式下用作计数输入。计数方向(向上 / 向下)可通过软件编程设定,也可由外部加减控制输入引脚 TxEUD(复用引脚功能)上的信号动态改变。核心定时器 T3 的溢出 / 下溢由输出翻转锁存器 T3OTL 指示,其状态可在相关引脚 T3OUT(复用引脚功能)上输出。辅助定时器 T2 和 T4 ,除自身功能外,还可与核心定时器 T3 级联(通过 T3OTL ),或用作核心定时器 T3 的捕获或重载寄存器。

当前三个定时器的计数值可由 CPU 通过访问位于不可位寻址特殊功能寄存器空间中的相应定时器计数寄存器 T2、T3 或 T4 进行读取或修改。当 CPU 在定时器递增、递减、重载或捕获操作即将发生前的状态下对任何定时器寄存器进行写入时,为确保结果正确,CPU 写入操作具有优先级。

GPT1 的中断通过 IEN、IS、ISC 和 ISS 进行控制。

GPT1 的输入和输出线路连接到引脚上。端口功能的控制寄存器位于相应的端口模块中。

注意:外部输入信号的时序要求见 13.5.1.5 章节。
13.3.1 章节对模块接口信号进行了总结。

13.5.1.1 GPT1 核心定时器 T3 控制

核心定时器 T3 的当前计数值由其计数寄存器 T3 反映。该寄存器也可由 CPU 写入,例如,用于设置初始计数值。

核心定时器 T3 通过其控制寄存器 T3CON 进行配置和控制。

13.5.1.1.1 定时器 T3 运行控制

核心定时器 T3 可通过软件,利用位 T3R(定时器 T3 运行位)启动或停止。在 T3 的所有运行模式下,该位都起作用。设置位 T3R 将启动定时器,清除位 T3R 则停止定时器。

在门控定时器模式下,定时器仅在 T3R = 1 且门控信号为有效电平(高电平或低电平,取决于编程设置)时运行。

注意:当定时器控制寄存器 T2CON 或 T4CON 中的位 T2RC 或 T4RC 置位时,位 T3R 也将控制(启动和停止)辅助定时器 T2 和 / 或 T4 。

13.5.1.1.2 计数方向控制[yy1] 

GPT1 定时器(核心定时器和辅助定时器)的计数方向可通过软件控制,也可由外部输入引脚 TxEUD(核心定时器外部加减控制输入引脚)控制。这些选项由相应控制寄存器 TxCON 中的位 TxUD 和 TxUDE 选择。

当通过软件进行加减控制时(位 TxUDE = 0 ),可通过设置或清除位 TxUD 来改变计数方向。然而,当位 TxUDE = 1 时,引脚 TxEUD 是控制计数方向的信号源。但引脚 TxEUD 仍可用于反转实际计数方向, 如表 130 所示。无论定时器是否正在运行,都可改变计数方向。

注意:当引脚 TxEUD 用作外部计数方向控制输入时,必须将其配置为输入。

13.5.1.1.3 定时器 T3 输出翻转锁存

定时器 T3 的溢出 / 下溢与定时器模块图中名为 “翻转锁存器” 的模块相连。图 115 展示了该模块的详细信息。T3 的溢出或下溢将触发两个锁存器:第一个锁存器对应 T3OTL,在控制寄存器 T3CON 中。第二个锁存器是一个内部锁存器,触发 T3OTL 的输出。这两个锁存器的输出都连接到辅助定时器 T2 和 T4 的输入控制模块。影子锁存器的输出电平将与T3 OTL的输出电平匹配,但会延迟一个时钟周期。当 T3OTL 的值改变时,这将导致与T3 OTL和影子锁存器暂时不同的输出电平,这可以触发T2和/或T4中的所选计数事件。

当软件写入 T3OTL 时,两个锁存器会同时设置或清除。在这种情况下,发送到辅助定时器的两个信号电平相同,不会检测到边沿。寄存器 T3CON 中的位 T3OE(溢出 / 下溢输出使能)被使能,当 T3OTL 连接到外部端口引脚时(必须配置为输出),T3OTL 的状态可以通过外部引脚 T3OUT 进行监测, T3OUT可用于控制外部硬件。如果 T3OE = 1,T3OUT 输出 T3OTL 的状态;如果 T3OE = 0,T3OUT 输出高电平(只要将该引脚设置成T3OUT的复用功能)。

这些信号可用作计数器功能的输入,或作为辅助定时器 T2 和 T4 重载功能的触发信号。

从图 115 中还可以看出,当软件修改 T3OTL 时,内部影子锁存器会相应地设置或清除。因此,要确定输出 T3OT 的状态,必须同时考虑内部影子锁存器的状态。

图 115 核心定时器 T3(x = 3 )翻转锁存逻辑框图

13.5.1.2 GPT1 核心定时器 T3 工作模式

定时器 T3 可在以下模式之一运行:

定时器模式下的定时器 T3
门控定时器模式下的定时器 T3
计数器模式下的定时器 T3
增量接口模式下的定时器 T3

13.5.1.2.1 定时器模式下的定时器 T3

通过将寄存器 T3CON 中的位域 T3M 设置为 000B,可选择核心定时器 T3 的定时器模式。在定时器模式下,T3 由模块的输入时钟fGPT_CLK​ 经两个由在寄存器 T3CON 位域 BPS1 和 T3I控制的可编程预分频器分频后进行驱动。有关输入时钟选项的详细信息,请参见 13.5.1.5 章节。

图 116 定时器模式下核心定时器 T3 的框图

13.5.1.2.2 门控定时器模式下的定时器 T3

将寄存器 T3CON 中的位域 T3M 设置为 010B 或 011B,可选择核心定时器 T3 的门控定时器模式。位 T3M.0(T3CON.3 )用于选择门控输入的有效电平。

门控定时器模式下的输入频率选项与定时器模式相同(见 13.5.1.5 章节)。不过,此模式下定时器的输入时钟由外部引脚 T3IN(定时器 T3 外部输入)控制,必须将相关引脚配置为输入,才能启用此操作。

门控相当于又多了一个使能引脚

图 117 门控定时器模式下核心定时器 T3 的框图

如果 T3M = 010B,当 T3IN 引脚为低电平时,定时器使能;该引脚为高电平时,定时器停止。如果 T3M = 011B,T3IN 引脚必须为高电平,定时器才能使能。此外,可通过软件利用 T3R 位开启或关闭定时器。只有当 T3R = 1 且门控信号有效时,定时器才会运行;若 T3R = 0 或门控信号无效,定时器将停止。

注意:T3IN 引脚上门控信号的电平转换不会产生中断请求。

13.5.1.2.3 计数器模式下的定时器 T3

将寄存器 T3CON 中的位域 T3M 设置为 001B,可选择核心定时器 T3 的计数器模式。在计数器模式下,定时器 T3 由外部输入引脚 T3IN 上的电平转换触发计数时钟。使定时器递增或递减的事件可以是该引脚上的正跳变、负跳变,或正负跳变。定时器控制寄存器 T3CON 中的位域 T3I 可选择触发信号(详见 13.5.1.6.3 章节)。

图 118 计数器模式下核心定时器 T3 的框图

在计数器模式工作时,引脚 T3IN 必须配置为输入。计数器模式下允许的最大输入频率取决于所选的预分频器值。为确保施加到 T3IN 的计数输入信号的电平转换能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期。相关信息见 13.5.1.5 章节。

13.5.1.2.4 增量接口模式下的定时器 T3

将寄存器 T3CON 中的位域 T3M 设置为 110B 或 111B,可选择核心定时器T3的增量接口模式。在增量接口模式下,与核心定时器T3相关的两个输入引脚(T3IN、T3EUD)用于连接增量编码器。定时器T3由一个或两个外部输入引脚上的电平转换触发时钟,以提供 2 倍或 4 倍编码器输入分辨率。

图 119 增量接口模式下核心定时器 T3 的框图

控制寄存器 T3CON 中的位域 T3I 用于选择触发转换(见表 135 )。对两个输入信号的转换顺序进行评估,生成计数脉冲和方向信号。因此,T3 会根据增量编码器的速度和方向自动更新,其计数值始终代表编码器的当前位置。

可以选择中断请求(T3IRQ)生成模式:在旋转检测模式(T3M = 110B )下,每当 T3 的计数方向发生改变时,就会生成一个中断请求;在边沿检测模式(T3M = 111B )下,每当检测到 T3 的计数边沿时,就会生成一个中断请求。计数方向、计数方向变化以及计数请求由寄存器 T3CON 中的状态位 T3RDIR、T3CHDIR 和 T3EDGE 进行监测。

注意:编码器的第三个输出 T0 用于指示机械零位,可连接到外部中断输入引脚,触发定时器 T3 复位。
如果输入引脚 T4IN 可用,T0 可连接到该引脚,自动清除 T3 ,无需外部中断。

对于增量接口操作,必须满足以下条件:

位域 T3M 必须为 110B 或 111B。
引脚 T3IN 和 T3EUD 都必须配置为输入。

若引脚 T4IN 用于连接 T0,必须将其配置为输入。
位 T3UDE 必须置为 1,以启用自动外部方向控制。

增量接口模式下允许的最大计数频率取决于所选的预分频器值。为确保任何输入信号的电平转换都能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期。相关信息见 13.5.1.5 章节。

由于在增量接口模式下会对两个相差 90° 相位的输入信号进行评估,其最大输入频率可为最大计数频率的一半。

在增量接口模式下,计数方向根据输入信号的变化顺序自动确定,这与所连接传感器的旋转方向相对应。表 126 总结了可能的组合情况。

图 121 和图 122 给出了 T3 运行的示例,直观展示了计数信号生成和方向切换过程。它们还说明了如何补偿输入抖动,当传感器位于其switching点附近时可能会出现这种抖动情况。

图 121 增量编码器信号评估,双计数输入

图122 增量编码器信号评估,单计数输入

注意:在增量接口模式下运行的定时器 T3 会自动提供有关传感器当前位置的信息。通过测量输入信号周期(见组合捕获模式),可以获取动态信息(速度、加速度、减速度)。

13.5.1.3 GPT1 辅助定时器 T2/T4 控制

辅助定时器 T2 和 T4 功能完全相同。它们可配置为定时器模式、门控定时器模式、计数器模式或增量接口模式,具有与核心定时器 T3 相同的选项,包括计时频率和计数方向。此外,这四个定时器中的辅助定时器可与核心定时器级联,也可作为重载或捕获寄存器与核心定时器配合使用。辅助定时器的启动 / 停止功能可由 T3 运行控制位远程控制。因此,多个定时器可以同步控制。

当前辅助定时器 T2 或 T4 的计数值分别由其计数寄存器 T2 或 T4 反映。这些寄存器也可由 CPU 写入,例如,用于设置初始计数值。

辅助定时器 T2 和 T4 的各个配置由定时器控制寄存器 T2CON 和 T4CON 进行,它们的组织方式完全相同。请注意,GPT1 模块中所有三个定时器的功能和特定控制寄存器中的功能位置都相同。

注意:辅助定时器没有输出翻转锁存器,也没有替代输出功能。

13.5.1.3.1 定时器 T2/T4 运行控制

辅助定时器 T2 和 T4 中的每一个都可以通过软件以两种不同方式启动或停止:

通过相关的定时器运行位(T2R 或 T4R )。在这种情况下,需要相应的控制位 TxRC = 0。
通过核心定时器的运行位(T3R )。在这种情况下,相应的远程控制位必须置位(TxRC = 1 )。

所选的运行位在 T2/T4 的所有运行模式下都起作用。设置该位将启动定时器,清除该位将停止定时器。

在门控定时器模式下,只有当所选运行位已设置且门控信号为有效电平(高电平或低电平,取决于编程设置)时,定时器才会运行。

注意:如果选择远程控制,T3R 将启动 / 停止定时器 T3 以及所选的辅助定时器(多个) 。

13.5.1.3.2 计数方向控制

GPT1 定时器(核心定时器和辅助定时器)的计数方向控制方式相同,可通过软件或外部输入引脚 TxEUD 进行控制。请参考表 130 中的说明。

注意:当引脚 TxEUD 用作外部计数方向控制输入时,必须将其配置为输入。

13.5.1.4 GPT1 辅助定时器 T2/T4 工作模式

辅助定时器在基本工作模式下的运行方式与核心定时器几乎相同,仅有少数例外。此外,还可以选择一些组合工作模式。

13.5.1.4.1 定时器模式下的定时器 T2 和 T4

通过将寄存器 TxCON 中的位域 TxM 设置为 000B,可选择辅助定时器的定时器模式

图 123 定时器模式下辅助定时器的框图

13.5.1.4.2 门控定时器模式下的定时器 T2 和 T4

将寄存器 TxCON 中的位域 TxM 设置为 010B 或 011B,可选择辅助定时器 Tx 的门控定时器模式。位 TxM.0(TxCON.3 )用于选择门控输入的有效电平。

注意:TxIN 引脚上的门控信号电平转换不会产生中断请求

图 124 门控定时器模式下辅助定时器的框图

注意:T2 和 T4 没有输出翻转锁存器。
辅助定时器的启动 / 停止可本地或远程控制。

13.5.1.4.3 计数器模式下的定时器 T2 和 T4

将寄存器 TxCON 中的位域 TxM 设置为 001B,可选择辅助定时器 Tx 的计数器模式。在计数器模式下,辅助定时器可由其外部输入引脚 TxIN 上的电平转换触发计数时钟,也可由定时器 T3 的翻转锁存器 T3OTL 的电平转换触发。使定时器递增或递减的事件可以是相应输入引脚或翻转锁存器上的正跳变、负跳变,或正负跳变。定时器控制寄存器 TxCON 中的位域 TxI 用于选择触发转换(见表 134 )。

图 125 计数器模式下辅助定时器的框图

注意:只有 T3 的溢出 / 下溢导致 T3OTL 发生状态转换时,才会触发 T2/T4 的计数器功能。通过软件修改 T3OTL 不会触发 T2/T4 的计数器功能。

在计数器模式工作时,引脚 TxIN 必须配置为输入。计数器模式下允许的最大输入频率取决于所选的预分频器值。为确保施加到 TxIN 的计数输入信号的电平转换能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期。相关信息见 13.5.1.5 章节。

13.5.1.4.4 定时器级联

在计数器模式下,将翻转位 T3OTL 用作辅助定时器的时钟源,可将核心定时器 T3 与相应的辅助定时器级联。这种级联根据选择用来为辅助定时器提供时钟的 T3OTL 转换,形成 32 位或 33 位定时器 / 计数器:

32 位定时器 / 计数器
如果 T3OTL 的正跳变和负跳变都用于为辅助定时器提供时钟,那么每当核心定时器 T3 发生溢出 / 下溢时,该辅助定时器都会被触发时钟。这样,这两个定时器就构成了一个 32 位定时器。
33 位定时器 / 计数器
如果选择 T3OTL 的正跳变或负跳变之一为辅助定时器提供时钟,那么每当核心定时器 T3 每发生两次溢出 / 下溢时,该辅助定时器才会被触发时钟。这种配置形成一个 33 位定时器(16 位核心定时器 T3OTL + 16 位辅助定时器)。

只要 T3OTL 未被软件修改,它就代表内部翻转锁存器的状态,可被视为 33 位定时器的一部分。

两个级联定时器的计数方向不要求相同,这提供了多种不同的配置方式。

T3 代表级联定时器的低序部分,可工作在定时器模式、门控定时器模式或计数器模式下。

图 126 核心定时器 T3 与辅助定时器的级联

为测量较长时间周期,核心定时器 T3 可与辅助定时器(T2/T4 )级联。核心定时器包含扩展定时器值的低位部分,辅助定时器包含高位部分。

13.5.1.4.5 捕获模式下的定时器 T2 和 T4

将相应寄存器 TxCON 中的位域 TxM 设置为 101B,可选择辅助定时器 Tx 的捕获模式。在捕获模式下,当相应辅助定时器的外部输入引脚 TxIN 上出现信号转换时,核心定时器 T3 的计数值会被锁存到辅助定时器寄存器中。捕获触发信号可以是正跳变、负跳变,或正负跳变。

位域 TxI 的最低两位用于选择有效转换(见表 133 )。在捕获模式下,TxI 的第 2 位无关紧要,必须清零(TxI.2 = 0 )。

注意:当配置为捕获模式时,相应辅助定时器(T2 或 T4 )停止,不依赖T2R或T4 R[yy2] 。

图 127 捕获模式下的 GPT1 辅助定时器

当相应输入引脚 TxIN 上出现触发信号(选定的电平转换)时,核心定时器的计数值将被载入辅助定时器寄存器,同时相关的中断请求标志 TxIR 将被置位。

在捕获模式下工作时,相应的定时器输入引脚 TxIN 必须配置为输入。为确保施加到 TxIN 的捕获输入信号的电平转换能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期。相关详细信息见 13.5.1.5 章节。

13.5.1.4.6 增量接口模式下的定时器 T2 和 T4

将相应寄存器 TxCON 中的位域 TxM 设置为 110B 或 111B,可选择辅助定时器 Tx 的增量接口模式。在增量接口模式下,与辅助定时器 Tx 相关的两个输入引脚(TxIN、TxEUD )用于连接增量编码器。Tx 由一个或两个外部输入引脚上的电平转换触发时钟,以提供 2 倍或 4 倍编码器输入分辨率。

图 128 增量接口模式下辅助定时器的框图

辅助定时器 T2 和 T4 在增量接口模式下的运行及中断产生机制与核心定时器 T3 相同,相关说明、图表同样适用。

注意:工作在增量接口模式下的定时器 T2 和 T4 会自动提供传感器当前位置信息。如需获取动态信息(速度、加速度、减速度),请参考组合捕获模式。

13.5.1.4.7 重载模式下的定时器 T2 和 T4

将相应寄存器 TxCON 中的位域 TxM 设置为 100B,可选择辅助定时器 Tx 的重载模式。在重载模式下,核心定时器 T3 会由两种不同信号之一触发,从辅助定时器寄存器中重新载入计数值。触发信号的选择方式与计数器模式下时钟源的选择方式相同(见表 134 ),即辅助定时器输入引脚 TxIN 的电平转换或翻转锁存器 T3OTL 的电平转换均可触发重载。

注意:配置为重载模式时,相应辅助定时器(T2 或 T4 )会独立于其运行标志 T2R 或 T4R 停止运行。
若定时器输入引脚 TxIN 要触发重载操作,必须将其配置为输入。

图 129 重载模式下的 GPT1 辅助定时器

触发信号出现时,T3 会载入相应定时器寄存器(T2 或 T4 )中的值,同时相应的中断请求标志(T2IR 或 T4IR )会被置位。

注意:若选择 T3OTL 的电平转换作为触发信号,触发时中断请求标志 T3IR 也会被置位,表示 T3 发生溢出或下溢。通过软件修改 T3OTL 不会触发 T2/T4 的计数器功能。

为确保施加到 TxIN 的重载输入信号的电平转换能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期,具体见 13.5.1.5 章节。

由 T3 翻转锁存器触发的重载模式可用于多种不同配置。根据所选的有效转换,可实现以下功能:

若 T3OTL 的正跳变和负跳变都被选来触发重载,核心定时器会在每次 T3 溢出或下溢时,从重载辅助定时器寄存器中载入值。这是标准重载模式(在溢出 / 下溢时重载)。
若 T3OTL 的正跳变或负跳变之一被选来触发重载,核心定时器会在 T3 每发生两次上溢或下溢时,从重载辅助定时器寄存器中载入值。
对两个辅助定时器使用 “单跳变” 模式,可实现非常灵活的脉宽调制(PWM)。其中一个辅助定时器被编程为在 T3OTL 正跳变时重载核心定时器,另一个则编程为在 T3OTL 负跳变时重载。通过这种组合,核心定时器会交替地从两个辅助定时器中重载。

图 130 展示了一个使用 “单跳变” 重载机制生成 PWM 信号的示例。T2 定义 PWM 信号的高电平时间(在正跳变时重载),T4 定义 PWM 信号的低电平时间(在负跳变时重载)。若 T3OE = 1 ,PWM 信号可从引脚 T3OUT 输出。通过这种方法,PWM 信号的高低电平时间可在很宽的范围内变化。

注意:输出翻转锁存器 T3OTL 可通过软件访问,必要时可对其进行修改以调整 PWM 信号。
不过,这不会触发 T3 的重载操作

图 130 用于生成 PWM 的 GPT1 定时器重载配置

注意:虽然可行,但应避免为两个辅助定时器选择相同的重载触发事件。在这种情况下,两个重载寄存器会试图同时向核心定时器载入数值。如果选择了这种组合,T2 将被忽略,仅重载 T4 中的内容。

13.5.1.5 GPT1 时钟信号控制

定时器模块 GPT1 内的所有操作均由其基本时钟的电平转换触发。该基本时钟由系统时钟经基本模块预分频器分频得到,由寄存器 T3CON 中的位域 BPS1 控制(见图 111)。

计数时钟可通过两种不同方式生成:

内部计数时钟:由 GPT1 的基本时钟经可编程预分频器分频得到,用于(门控)定时器模式。
外部计数时钟:由定时器的输入引脚获取,用于计数器模式。

对于这两种方式,基本时钟决定了最大计数频率和定时器的分辨率:

表 127 GPT1 模块基本时钟选择

注意:初始化 GPT1 模块时,若寄存器 T3CON 中的模块预分频器 BPS1 需设置为不同于其复位值(00B)的值,则在配置任何涉及外部触发信号的模式(包括计数器模式、增量接口模式、捕获模式和重载模式)之前,必须先对其进行初始化。否则,可能会意外发生计数 / 捕获 / 重载事件。

在这种情况下(例如,在 GPT1 模块运行期间更改 BPS1 ),在修改 BPS1 之前禁用相关中断,之后清除相应的服务请求标志,并重新初始化那些可能受计数 / 捕获 / 重载事件影响的寄存器(T2、T3、T4 )。

13.5.1.5.1 内部计数时钟生成

表128 GPT1定时器参数

13.5.1.5.2 外部计数时钟输入

GPT1 模块的外部输入信号由 GPT1 基本时钟进行采样(见图 111)。为确保信号能被正确识别,在信号发生变化前,其当前电平(高电平或低电平)必须至少保持一个完整的采样周期。如果对输入信号的两次连续采样结果代表不同电平,那么就认为检测到了一次信号电平转换。因此,对外部输入信号进行采样至少需要两个基本时钟周期。所以,输入信号的最大频率不得高于基本时钟频率的一半。

表 129 总结了对 GPT1 外部输入信号的相关要求。

表 129 GPT1 外部输入信号限制

这些限制适用于GPT1的所有外部输入信号,包括计数器模式和增量接口模式下的外部计数信号、门控定时器模式下的门控输入信号以及外部方向信号。

13.5.1.6 GPT1 编码

13.5.1.6.1 GPT1 定时器计数方向控制编码

表 130 GPT1 定时器计数方向控制

13.5.1.6.2 定时器模式和门控定时器模式:GPT1 总分频系数编码

表 131 GPT1 内部计数时钟总分频系数(定时器模式和门控定时器模式)

13.5.1.6.3 计数器模式:GPT1 输入边沿选择编码

表 132 GPT1 核心定时器 T3 输入边沿选择(计数器模式)

表 132(续)GPT1 核心定时器 T3 输入边沿选择(计数器模式)

表 133 GPT1 辅助定时器 T2/T4 输入边沿选择(捕获模式)

表 134 GPT1 辅助定时器 T2/T4 输入边沿选择(计数器模式、重载模式)

13.5.1.6.4 增量接口模式:输入边沿选择编码

表 135 GPT1 核心定时器 T3 输入边沿选择(增量接口模式)

13.5.2 定时器模块 GPT2

从程序员的角度来看,GPT2 模块由一组特殊功能寄存器(SFR)表示,总结如下。GPT2 模块用于替代功能的端口和方向寄存器部分以灰色显示。

图 131 与定时器模块 GPT2 相关的特殊功能寄存器

GPT2 模块的两个定时器(T5、T6 )均可在三种基本模式下运行:定时器模式、门控定时器模式或计数器模式。所有定时器均可向上或向下计数。GPT2 的每个定时器由独立的控制寄存器 TxCON 控制。

每个定时器都有一个相关的输入引脚 TxIN(复用引脚功能),在门控定时器模式下用作门控控制,在计数器模式下用作计数输入。计数方向(向上 / 向下)可通过软件编程设定,也可由外部增减控制输入引脚 TxEUD(复用引脚功能)上的信号动态改变。核心定时器 T6 的溢出 / 下溢由输出翻转锁存器 T6OTL 指示,其状态可通过相关引脚 T6OUT(复用引脚功能)输出。辅助定时器 T5 还可通过 T6OTL 与核心定时器 T6 级联。

捕获 / 重载寄存器 CAPREL 可用于捕获定时器 T5 的计数值,或重载定时器 T6。有一种特殊模式便于同时将 CAPREL 寄存器用于这两种功能,该模式支持频率倍增。捕获功能可由输入引脚 CAPIN 触发,也可由 GPT1 定时器的 T3 输入线 T3IN 和 T3EUD 触发。定时器 T6 的溢出 / 下溢也可为 CAPCOM 单元的定时器提供时钟。

CPU 可通过访问位于特殊功能寄存器空间的定时器计数寄存器 T5 或 T6,读取或修改每个定时器的当前计数值。当 CPU 在定时器递增、递减、重载或捕获操作发生前的状态下对定时器寄存器进行写入时,CPU 写入操作具有优先级,以确保结果正确。

GPT2 的中断由 IEN、ISC 和 ISS 控制。

GPT2 的输入和输出线连接到引脚。端口功能的控制寄存器位于相应的端口模块中。

注意:外部输入信号的时序要求见 13.5.2.6 章节。
13.3.1 章节总结了模块接口信号,包括引脚。

13.5.2.1 GPT2 核心定时器 T6 控制

核心定时器 T6 的当前计数值反映在其计数寄存器 T6 中。CPU 也可对该寄存器进行写入操作,比如设置初始起始值。

核心定时器 T6 通过其控制寄存器 T6CON 进行配置和运行控制。

13.5.2.1.1 定时器 T6 运行控制

定时器 T6 可通过软件,利用位 T6R(定时器 T6 运行位)启动或停止。该位在 T6 的所有工作模式下均有效。置位 T6R 将启动定时器,清零 T6R 则停止定时器。

在门控定时器模式下,仅当 T6R = 1 且门控信号有效(高电平或低电平,依编程设定)时,定时器才会运行。

注意:当定时器控制寄存器 T5CON 中的位 T5RC 被置位时,位 T6R 也将控制(启动 / 停止)辅助定时器 T5。

13.5.2.1.2 计数方向控制

GPT2 定时器(核心定时器和辅助定时器)的计数方向可通过软件控制,也可由外部输入引脚 TxEUD(定时器 Tx 外部增减控制输入)控制。这些选项由相应控制寄存器 TxCON 中的位 TxD 和 TxEUD 选择。当通过软件提供增减控制时(位 TxEUD = 0 ),通过置位或清零位 TxD 确定计数方向。但位 TxD 仍可用于反转实际计数方向,如表 140 所示。无论定时器是否正在运行,计数方向都可改变。

注意:当引脚 TxEUD 用作外部计数方向控制输入时,必须将其配置为输入。

13.5.2.1.3 定时器 T6 输出翻转锁存器

定时器 T6 的溢出 / 下溢信号连接到定时器模式图中所示的一个名为 “翻转锁存器” 的模块。图 132 展示了该模块的细节。T6 的溢出或下溢将为两个锁存器提供时钟:第一个锁存器代表控制寄存器 T6CON 中的位 T6OTL;第二个锁存器是一个内部影子锁存器,用于触发 T6OTL 的输出。这两个锁存器都连接到辅助定时器 T5 的输入控制模块。内部影子锁存器的输出电平将匹配T6OTL的输出电平,但会延迟一个时钟周期。当 T6OTL 的值发生变化时,这将导致来自T6OTL和内部影子锁存器的暂时不同的输出电平,这可以触发T5中的所选计数事件,

当通过软件同时写入 T6OTL 及其影子锁存器时,两个锁存器的电平不会发生变化。在这种情况下,发送到辅助定时器的两个信号电平相同,不会检测到边沿。若使能位 T6OE(溢出 / 下溢输出),则当 T6OTL 处于链接到外部输出引脚(必须配置为输出)的状态时,T6OTL 的状态变化将输出到外部引脚。如果 T6OE = 1 ,引脚 T6OUT 的状态为 T6OTL;如果 T6OE = 0 ,引脚 T6OUT 输出高电平(显示定时器输出信号)。

从图 132 可以看出,当通过软件修改 T6OTL 以确定输出引脚的状态时,内部影子锁存器也会相应地置位或清零。因此,在这种情况下不会检测到触发条件。

图132核心定时器T6的触发锁存逻辑框图(x = 6)

注意:T6 也用于为 CAPCOM 单元中的定时器提供时钟。为此,T6 的溢出 / 下溢线路与 CAPCOM 定时器之间存在内部直接连接(信号 T6OUF )。

13.5.2.2 GPT2核心定时器T6操作模式

定时器 T6 可在以下模式之一运行:

定时器T6处于定时器模式·

定时器T6处于门控定时器模式·

定时器T6处于计数器模式

13.5.2.2.1 定时器模式下的定时器 T6

图133定时器模式下内核定时器T6的框图

13.5.2.2.2门控定时器模式下的定时器T6

将寄存器 T6CON 中的位域 T6M 设置为 010B 或 011B,可选择核心定时器 T6 的门控定时器模式。位 T6M.0(T6CON.3)用于选择门控输入的有效电平 。门控定时器模式下的输入频率选项与定时器模式相同(见 13.5.2.6 章节)。不过,在此模式下,定时器的输入时钟由外部输入引脚 T6IN(定时器 T6 外部输入)控制。

要启用此功能,相关引脚 T6IN 必须配置为输入。

图 134 门控定时器模式下核心定时器 T6 的框图

如果 T6M = 010B,当 T6IN 为低电平时定时器启用,该引脚为高电平时定时器停止。如果 T6M = 011B,T6IN 引脚必须为高电平才能启用定时器。此外,还可通过软件利用位 T6R 开启或关闭定时器。只有当 T6R 为 1 且门控信号有效时,定时器才会运行。若 T6R 为 0 或门控信号无效,定时器将停止。

注意:引脚 T6IN 上门控信号的电平转换不会产生中断请求。

13.5.2.2.3 计数器模式下的定时器 T6

将寄存器 T6CON 中的位域 T6M 设置为 001B,可选择核心定时器 T6 的计数器模式。在计数器模式下,定时器 T6 由外部输入引脚 T6IN 的电平转换提供时钟。使定时器递增或递减的事件可以是该引脚上的正跳变、负跳变,或正负跳变皆可。控制寄存器 T6CON 中的位域 T6I 用于选择触发转换(见表 143)。

图 135 计数器模式下核心定时器 T6 的框图

在计数器模式下运行时,引脚 T6IN 必须配置为输入。计数器模式下允许的最大输入频率取决于所选的预分频器值。为确保施加到 T6IN 的计数输入信号的电平转换能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期。相关信息见 13.5.2.6 章节。

13.5.2.3 GPT2 辅助定时器 T5 控制

辅助定时器 T5 可配置为定时器模式、门控定时器模式或计数器模式,其定时器频率和计数信号选项与核心定时器 T6 相同。除这三种计数模式外,辅助定时器还可与核心定时器级联。在外部或内部触发时,T5 的计数值可捕获到寄存器 CAPREL 中。辅助定时器的启动 / 停止功能可通过核心定时器 T6 的运行位远程控制,因此多个定时器可实现同步控制。

辅助定时器的当前计数值反映在其计数寄存器 T5 中。CPU 也可对该寄存器进行写入操作,比如设置初始起始值。

辅助定时器 T5 的各个配置由其控制寄存器 T5CON 决定。该寄存器中的某些位还控制 CAPREL 寄存器的功能。请注意,GPT2 模块中所有定时器共有的功能,在各个特定控制寄存器中的控制位位置和控制方式均相同。

注意:辅助定时器没有输出翻转锁存器,也没有复用输出功能。

定时器 T5 运行控制

辅助定时器 T5 可通过软件以两种不同方式启动或停止:

通过相关的定时器运行位(T5R)。在这种情况下,要求相应的控制位 T5RC = 0。
通过核心定时器的运行位(T6R)。在这种情况下,相应的远程控制位必须置位(T5RC = 1)。

所选的运行位在 T5 的所有工作模式下均有效。置位该位将启动定时器,清零该位则停止定时器。

在门控定时器模式下,只有当所选运行位置位且门控信号有效(高电平或低电平,依编程设定)时,定时器才会运行。

注意:如果选择远程控制,T6R 将同步启动 / 停止定时器 T6 和辅助定时器 T5。

13.5.2.4 GPT2 辅助定时器 T5 工作模式

辅助定时器在基本工作模式下的运行方式与核心定时器几乎相同,仅有少数例外。此外,还可选择一些组合工作模式。

13.5.2.4.1 定时器模式下的定时器 T5

将寄存器 T5CON 中的位域 T5M 设置为 000B,可选择辅助定时器 T5 的定时器模式。图136定时器模式下辅助定时器T5的框图

13.5.2.4.2 门控定时器模式下的定时器 T5

将寄存器 T5CON 中的位域 T5M 设置为 010B 或 011B,可选择辅助定时器 T5 的门控定时器模式。位 T5M.0(T5CON.3)用于选择门控输入的有效电平。

注意:引脚 T5IN 上门控信号的电平转换不会产生中断请求。

图 137 门控定时器模式下辅助定时器 T5 的框图

注意:辅助定时器 T5 没有输出翻转锁存器。辅助定时器的启动 / 停止可本地或远程控制。

13.5.2.4.3 计数器模式下的定时器 T5

将寄存器 T5CON 中的位域 T5M 设置为 001B,可选择辅助定时器 T5 的计数器模式。在计数器模式下,辅助定时器可由其外部输入线 T5IN 的电平转换提供时钟,也可由定时器 T6 的翻转锁存器 T6OTL 的电平转换提供时钟。使定时器递增或递减的事件可以是相应输入引脚或翻转锁存器上的正跳变、负跳变,或正负跳变皆可。控制寄存器 T5CON 中的位域 T5I 用于选择触发转换(见表 142)。

图138计数器模式下辅助定时器T5的方框图

注:只有T6的上溢/下溢引起的T6 OTL状态转换才会触发T5的计数器功能。通过软件修改T6 OTL不会触发T5的计数器功能。

在计数器模式下运行时,引脚 T5IN 必须配置为输入。计数器模式下允许的最大输入频率取决于所选的预分频器值。为确保施加到 T5IN 的计数输入信号的电平转换能被正确识别,在信号发生变化前,其高电平或低电平必须至少保持若干个模块时钟周期。相关信息见 13.5.2.6 章节。

13.5.2.4.4 定时器级联

在计数器模式下,将翻转位 T6OTL 用作辅助定时器的时钟源,可将核心定时器 T6 与辅助定时器 T5 级联。这种级联方式会形成一个 32 位或 33 位的定时器 / 计数器,具体取决于 T6OTL 的转换方式。以下是相关配置:

32 位定时器 / 计数器:如果 T6OTL 的正跳变和负跳变都用于为辅助定时器提供时钟,那么该定时器会在核心定时器 T6 每次溢出 / 下溢时计数。这样,两个定时器就构成了一个 32 位定时器。
33 位定时器 / 计数器:如果选择 T6OTL 的正跳变或负跳变之一为辅助定时器提供时钟,那么该定时器会在核心定时器 T6 每两次溢出 / 下溢时计数。这种配置构成一个 33 位定时器(16 位核心定时器 + T6OTL + 16 位辅助定时器 )。

只要 T6OTL 未被软件修改,它就代表内部翻转锁存器的状态,可视为 33 位定时器的一部分。

两个级联定时器的计数方向不要求相同,这提供了多种不同的配置方式。

T6 作为级联定时器的低位部分,可以工作在定时器模式、门控定时器模式或计数器模式。

图139核心定时器T6和辅助定时器T5

13.5.2.5 GPT2 寄存器 CAPREL 工作模式

捕获 / 重载寄存器 CAPREL 可用于捕获定时器 T5 的计数值,或重载定时器 T6。有一种特殊模式便于同时将 CAPREL 寄存器用于这两种功能,该模式支持频率倍增。捕获功能可由 CAPIN、T3IN 和 T3EUD 触发,或由读取 GPT1 定时器触发。重载功能由定时器 T6 的上溢或下溢触发。

除捕获功能外,捕获触发信号还可用于单独清除定时器 T5 和 T6 的计数值。

寄存器 CAPREL 的功能通过定时器控制寄存器 T5CON 和 T6CON 中的若干位(域)进行控制。

13.5.2.5.1 捕获模式下的捕获 / 重载寄存器 CAPREL

将控制寄存器 T5CON 中的位 T5SC 置位(将寄存器 T5CON 中的位域 CI 设置为非零值以选择触发信号),可选择寄存器 CAPREL 的捕获模式。在捕获模式下,辅助定时器 T5 的计数值会在所选外部输入引脚发生信号电平转换时锁存到寄存器 CAPREL 中。位 CT3 选择外部输入线 CAPIN 或 GPT1 定时器 T3 的输入线 T3IN 和 / 或 T3EUD 作为捕获触发源。线 CAPIN 上的正跳变、负跳变或正负跳变皆可触发捕获功能。输入线 T3IN 和 T3EUD 也是如此。有效边沿由寄存器 T5CON 中的位域 CI 控制。表 136 总结了这些选项。

表 136 CAPREL 寄存器输入边沿选择

如果捕获由内部 GPT1 读取信号触发(见寄存器 PISEL 和组合捕获模式),则必须选择上升沿。

图 140 捕获模式下的捕获 / 重载寄存器 CAPREL

当检测到所选触发信号时,辅助定时器 T5 的计数值将锁存到寄存器 CAPREL 中,同时中断请求线 CRIRQ 被激活。同一事件还可选择清除定时器 T5 和 / 或定时器 T6,该选项分别通过寄存器 T5CON 中的位 T5CLR 和寄存器 T6CON 中的位 T6CLR 启用。如果 TxCLR = 0 ,定时器 Tx 的计数值不会在捕获时被清除。如果 TxCLR = 1 ,在当前定时器 T5 的值被锁存到寄存器 CAPREL 后,定时器 Tx 将被清除。

注意:位 T5SC 仅控制是否执行捕获操作。如果 T5SC 被清零,外部输入引脚仍可用于清除定时器 T5 和 / 或 T6,或作为外部中断输入。此中断由 CAPREL 中断控制位以及寄存器 IEN、ISC 和 ISS 控制。

当捕获触发信号 T3IN 或 T3EUD 被启用(CT3 = 1 )时,寄存器 CAPREL 会在所选输入信号发生电平转换时捕获 T5 的计数值。这些值可用于测量 T3 的输入信号。例如,当 T3 在增量接口模式下运行时,这有助于获取动态信息(速度、加速度)。

在捕获模式下运行时,所选引脚 CAPIN、T3IN 或 T3EUD 必须配置为输入。为确保施加到这些输入引脚之一的触发输入信号的电平转换能被正确识别,其高电平或低电平必须至少保持若干个模块时钟周期,具体见 13.5.2.6 章节。

13.5.2.5.2 重载模式下的捕获 / 重载寄存器 CAPREL

将控制寄存器 T6CON 中的位 T6SR 置位,可选择寄存器 CAPREL 的重载模式。在重载模式下,核心定时器 T6 在发生溢出或下溢时,会使用寄存器 CAPREL 中的内容进行重载,这将不会激活CAPREL 寄存器的相关中断请求线 CRIRQ。不过,中断请求线 T6IRQ 将被激活,指示 T6 发生溢出 / 下溢。

图 141 重载模式下的捕获 / 重载寄存器 CAPREL

13.5.2.5.3 捕获与重载模式下的捕获 / 重载寄存器 CAPREL

由于寄存器 CAPREL 的重载功能和捕获功能可分别通过位 T5SC 和 T6SR 单独启用,因此将这两个位置位,即可同时启用这两种功能。此特性可用于将输入频率倍频。

图 142 捕获与重载模式下的捕获 / 重载寄存器 CAPREL

引脚 CAPIN。当外部事件发生时,定时器 T5 的计数值被锁存到寄存器 CAPREL 中,并且定时器 T5 被清零(T5CLR = 1 )。因此,该寄存器始终保存着两次事件之间的准确时间,以定时器 T5 的增量来度量。定时器T6工作在定时器模式下,以递减方式运行(例如频率为fGPT/4),并在下溢时使用寄存器CAPREL中的值进行重载。这意味着,寄存器CAPREL的值现在表示定时器T6两次下溢之间的时间(以定时器T6的计数增量为单位)。由于(在本例中)定时器T6的运行速度是定时器T5的8倍,因此在两次外部事件之间,定时器T6会下溢8次。因此,定时器T6的下溢信号会生成8个“节拍”(ticks)。每次下溢时,中断请求线T6IRQ会被激活,同时位T6OTL会翻转。T6OTL的状态可以通过引脚T6OUT输出。该信号的跳变次数是施加在CAPIN引脚上的信号的8倍

注意:定时器 T6 的下溢信号还可用于为 CAPCOM 单元中的一个或多个定时器提供时钟。这使用户能够根据比外部事件更高的分辨率来设置比较事件。这种连接通过信号 T6OUF 实现。

13.5.2.5.4 捕获校正

输出频率会产生一定偏差,原因在于定时器 T5 会对实际时间单位进行计数(例如,T5 以 1MHz 运行,对于 10kHz 的输入信号,每 64 个计数单位会增加到 64/100 的值 ),而 T6OTL 仅在 T6 下溢时翻转。在上述示例中,T6 将计数到 64,而不是在 T6 进行 101 次计数后才发生下溢。实际输出频率则是 79.2kHz,而不是预期的 80kHz。

这种偏差可以通过 T6 的计数下溢来补偿。在这种情况下,T5 向下计数到零,T6 向上计数到 63。在引脚 CAPIN 上的信号转换时,T5 将其计数值锁存到 CAPREL 中,并且 T5 被清零到 0000H。在下一个时钟周期,T5 上溢到 FFFFH,并继续向下计数(在上述示例中,T6 在溢出后继续以 8 倍的速度向上计数 )。在这种情况下,T5 和 T6 在各自的时钟周期内计数的步数相同。

在上述示例中,T5 以 1MHz 运行,对于 10kHz 的输入信号,施加到 CAPIN 时,T5 计数到 FFCC,向下计数到 0000H,所以在溢出后再进行 100 次计数,此时 T6 在 T6OUT 的实际输出频率为预期的 80kHz。

然而,在这种情况下,CAPREL 并不直接包含两个外部事件之间的时间,而是其二进制补码。如果操作需要,软件将必须转换此值。

首先要明白下溢出0-F,上溢出F-0

当T5递增:100,T6:100~0共101个数,

当T5递减:100,T6: 0xFF9C → 0xFF9D → … → 0xFFFF共100个数

13.5.2.5.5 组合捕获模式

对于增量接口应用,特别是为了获取诸如速度、加速度或减速度等动态信息,可以将多个定时器功能组合起来。当前位置可直接从定时器寄存器(T2、T3、T4 )获取。

通过捕获自由运行定时器 T5 到寄存器 CAPREL 中的计数值来生成时间信息,以指示动态参数。此事件有两个触发源可供选择:

传感器信号转换时捕获触发
位置读取操作时捕获触发

捕获传感器信号转换可用于定时器 T3 输入。通过将位 CT3 置位并通过寄存器 T5CON 中的位域 CI 选择相关转换来选择此模式。然后,CAPREL 指示两次转换之间的时间(以 T5 的计数为单位测量 )。

位置读取操作时的捕获可用于定时器 T2、T3 和 T4。通过清零位 CT3 并通过寄存器 PISEL 中的位 IT2CAP、IT3CAP 或 IT4CAP 选择上升沿或下降沿来选择此模式。然后,CAPREL 指示两次位置读取操作之间的时间。

这些工作模式直接支持位置和转速的测量。通过对后续速度测量值进行评估,进而可以确定加速度和减速度。

13.5.2.6 GPT2 时钟信号控制

GPT2 模块内定时器的所有操作均由其基本时钟的转换触发。该基本时钟由模块时钟fGPT_CLK​经一个两级分块预分频器得到,由寄存器 T6CON 中的位域 BPS2 控制(见图 112 )。计数时钟可通过两种不同方式生成:

内部计数时钟:通过可编程预分频器从 GPT2 的基本时钟派生而来,用于(门控)定时器模式。
外部计数时钟:从定时器的输入引脚派生而来,用于计数器模式。

对于这两种方式,基本时钟决定了最大输入频率和定时器的分辨率:

表 137 GPT2 模块基本时钟选择

请注意位域 BPS2 的非线性编码。
复位后默认值。

注意:初始化 GPT2 模块时,若要将 T6CON 中的分块预分频器 BPS2 设置为与复位值(00B )不同的值,则在配置任何涉及外部触发信号的模式(包括计数器、捕获和重载模式 )之前,必须先对其进行初始化。否则,可能会出现意外的计数 / 捕获 / 重载事件。

在这种情况下(例如,在运行 GPT2 模块期间更改 BPS2 ),在更改 BPS2 及后续清除相应的服务请求标志并重新初始化可能受计数 / 捕获 / 重载事件影响的寄存器(T5、T6、CAPREL )之前,请禁用中断。

13.5.2.6.1 内部计数时钟生成

表138 GPT2计时器参数

13.5.2.6.2 外部计数时钟输入

GPT2 模块的外部输入信号由 GPT2 基本时钟进行采样(见图 112 )。为确保信号能被正确识别,其当前电平(高电平或低电平)在发生变化前,必须至少保持一个完整的采样周期。在两个连续采样点之间,输入信号必须代表不同电平。因此,外部输入信号的采样至少需要两个基本时钟周期。所以,外部输入信号的最大频率不得高于基本时钟频率的一半。

表 139 总结了 GPT2 外部输入信号的相关要求。

这些限制适用于GPT 2的所有外部输入信号,包括计数器模式下的外部计数信号和门控定时器模式下的门输入信号。

13.5.2.7 GPT2编码

13.5.2.7.1定时器计数方向控制编码

表140 GPT2定时器计数方向控制

13.5.2.7.2定时器模式和门控定时器模式:总预分频器因子的编码

表141 GPT2内部计数时钟的整体预分频器系数(定时器模式和门控定时器模式)

13.5.2.7.3计数器模式:输入边沿选择的编码

表142 GPT2辅助定时器T5输入边沿选择(计数器模式)

表 143 GPT2 核心定时器 T6 输入边沿选择(计数器模式)

辅助定时器补充

在捕获模式下,无需配置 T2R 和 T4R,因为系统会自动将它们置为停止状态。用户只需专注于配置捕获模式、触发边沿和输入引脚,即可实现外部事件的时间点捕获功能。


 [yy1]当使用外部引脚TxEUD作为定时器的加减方向时,同时要结合TxUDE(原因看电路图)

 [yy2]the respective auxiliary timer (T2 or T4) stops independently of

its run flag T2R or T4R.

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容