28335 SWPM之定时器(TB)Time-Base

SWPM的总图:

28335 SWPM之定时器(TB)Time-Base

TB的作用:1/配置PWM的频率

2/管理PWM的同步问题(后边会单独说)

3/设置定时器的计数模式:增/减/增减

4产生事件:当计数器等于周期的时候;当计数器等于0的时候

5配置自身时钟(根据系统时钟进行配置)


28335 SWPM之定时器(TB)Time-Base


寄存器:

28335 SWPM之定时器(TB)Time-Base


这里只说重点的:(详情请见官方手册)

1周期寄存器/TBPRD (0000~FFFFh)This sets the PWM frequency.

2 相位寄存器Time-Base Phase Register (TBPHS)/就是设定初始值的

3计数寄存器Time-Base Counter Register (TBCTR)/计数用的

4控制寄存器重要位:

HSPCLKDIV  CLKDIV :决定定时器的时钟频率:TBCLK = SYSCLKOUT / (HSPCLKDIV × CLKDIV)

PHSDIR  在增减模式下,决定了初始化后的是增还是减。(后边说)

SYNCOSEL  同步输出选择,我们后边应用的时候会用到它。重点关注:00 EPWMxSYNC

28335 SWPM之定时器(TB)Time-Base

PRDLD  周期寄存器重装模式,0表示周期寄存器等于0的时候重装周期寄存器的值,1表示立刻重装。

PHSEN:相位重装使能位,也是PWM同步的关键。0表示禁止。即主机模式(master),1是使能,即从机模式(slave)。

master是要发出指令的,slave只要听命令,我让你们重装执行即可,然后大家一起同步。

CTRMODE 计数模式,不说了

PWM的时钟:TBCLK = SYSCLKOUT / (HSPCLKDIV × CLKDIV)

PWM的周期:

28335 SWPM之定时器(TB)Time-Base


这里的同步模式没看懂,后边根据例子说同步

波形:

1重点关注EPWMxSYNCI信号对TBPHS的影响,EPWMxSYNCI过来后,计数器重装TBPHS的值。

28335 SWPM之定时器(TB)Time-Base

28335 SWPM之定时器(TB)Time-Base

在增减模式下,重点关注EPWMxSYNCI和 TBCTL-PHSDIR位对计数器重装TBPHS的值的影响。

28335 SWPM之定时器(TB)Time-Base

28335 SWPM之定时器(TB)Time-Base


官方给的逻辑图:

28335 SWPM之定时器(TB)Time-Base