ZHDU116G January 2018 – June 2024 CC1312PSIP , CC1312R , CC1352P , CC1352R , CC2642R , CC2642R-Q1 , CC2652P , CC2652PSIP , CC2652R , CC2652RB , CC2652RSIP , CC2662R-Q1
GPTM 支持简单的 PWM 生成模式。在 PWM 模式下,计时器配置为 16 位向下计数器,其起始值(以及周期)由 GPT:TnILR 和 GPT:TnPR 寄存器定义。在该模式下,PWM 频率和周期是同步事件;因此,可确保它们无干扰。PWM 模式通过 GPT:TnMR 寄存器使能:将 TnAMS 位设置为 0x1,将 TnCM 位设置为 0x0,并将 TnMR 字段设置为 0x2。表 16-5 列出了计时器使能时加载到计时器寄存器中的值。
在 PWM 模式下不支持等待触发(菊花链)。计时器在使能后立即启动,而不等待前一个计时器的触发器。
| 注册 | 向下计数模式 | 向上计数模式 |
|---|---|---|
| GPT:TnR | GPT:TnILR | 不适用 |
| GPT:TnV | GPT:TnILR | 不适用 |
| GPT:TnPV | GPT:TnPR | 不适用 |
当软件写入 GPT:CTL TnEN 寄存器位时,计数器开始向下计数,直到达到 0x0 状态。或者,如果在设置 TnEN 位时设置了 GPT:TnMR TnWOT 寄存器位,则计时器会等待触发器才开始计数。在周期性模式下的下一个计数器周期,计数器从 GPT:TnILR 和 GPT:TnPR 寄存器重新加载其起始值,并继续计数,直到通过软件清除 GPT:CTL TnEN 寄存器位来禁用。计时器能够基于三种类型的事件生成中断:上升沿、下降沿或两者兼有。该事件由 GPT:CTL TnEVENT 寄存器字段配置,中断通过设置 GPT:TnMR TnPWMIE 寄存器位使能。发生此事件时,会设置 GPTM 原始中断状态寄存器 (GPT:RIS) CnERIS 位,并一直保持该位,直到通过写入 GPTM 中断清除寄存器 (GPT:ICLR) 将其清除。如果在 GPTM 中断屏蔽寄存器 (GPT:IMR) 中使能了捕获模式事件中断,则 GPTM 还会设置 GPTM 屏蔽中断状态寄存器 (GPT:MIS) CnEMIS 位。
除非设置 TnPWMIE 位,否则不会更新中断状态位。
在 PWM 模式下,GPT:TnR 和 GPT:TnV 寄存器始终具有相同的值,GPT:TnPS 和 GPT:TnPV 寄存器也是如此。
当计数器处于 GPT:TnILR 和 GPT:TnPR 寄存器的值(起始状态)时,输出 PWM 信号置为有效;当计数器值等于 GPT:TnMATCHR 和 GPT:TnPMR 寄存器的值时,输出 PWM 信号置为无效。软件可以通过设置 GPT:CTL TnPWML 寄存器位来反转输出 PWM 信号。反转输出 PWM 不影响边沿检测中断。因此,如果设置了正边沿中断触发,则在 PWM 反转产生正边沿时会将事件触发中断置为有效。
如果将 TnILR 更改为小于当前计数器值的值,则必须使能 LD_TO_EN 以避免 PWM 输出上出现瞬态。即使在使能“超时更新”模式时也是如此。
图 16-4 显示了如何在假设输入时钟为 50MHz 且 TnPWML = 0 的情况下,生成周期为 1ms、占空比为 66% 的输出 PWM(对于 TnPWML = 1 的配置,占空比为 33%)。在此示例中,起始值为 GPT:TnILR = 0xC350,比较值为 GPT:TnMATCHR = 0x411A。
图 16-4 16 位 PWM 模式示例
使用 GPT:SYNC 寄存器同步计时器时,必须正确配置计时器以避免 CCP 输出上出现干扰。TnPLO 和 TnMRSU 位都必须在 GPT:TnMR 寄存器中设置。图 16-5 显示了当设置 TnPLO 和 TnMRSU 位且 GPT:TnMATCHR 寄存器值大于 GPT:TnILR 寄存器值时,CCP 输出的工作方式。
图 16-5 CCP 输出,GPT:TnMATCHR > GPT:TnILR图 16-6 显示了当设置 PLO 和 MRSU 位且 GPT:TnMATCHR 寄存器值与 GPT:TnILR 寄存器值相同时,CCP 输出的工作方式。在这种情况下,如果 PLO 位为 0,则当加载 GPT:TnILR 寄存器值时 CCP 信号变为高电平,匹配结果将基本上被忽略。
图 16-6 CCP 输出,GPT:TnMATCHR = GPT:TnILR
图 16-7 显示了当设置 PLO 和 MRSU 位且 GPT:TnILR 寄存器值大于 GPT:TnMATCHR 寄存器值时,CCP 输出的工作方式。
图 16-7 CCP 输出,GPT:TnILR > GPT:TnMATCHR