28335 SWPM之定时器(TB)Time-Base
SWPM的总图:
TB的作用:1/配置PWM的频率
2/管理PWM的同步问题(后边会单独说)
3/设置定时器的计数模式:增/减/增减
4产生事件:当计数器等于周期的时候;当计数器等于0的时候
5配置自身时钟(根据系统时钟进行配置)
寄存器:
这里只说重点的:(详情请见官方手册)
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
PRDLD 周期寄存器重装模式,0表示周期寄存器等于0的时候重装周期寄存器的值,1表示立刻重装。
PHSEN:相位重装使能位,也是PWM同步的关键。0表示禁止。即主机模式(master),1是使能,即从机模式(slave)。
master是要发出指令的,slave只要听命令,我让你们重装执行即可,然后大家一起同步。
CTRMODE 计数模式,不说了
PWM的时钟:TBCLK = SYSCLKOUT / (HSPCLKDIV × CLKDIV)
PWM的周期:
这里的同步模式没看懂,后边根据例子说同步
波形:
1重点关注EPWMxSYNCI信号对TBPHS的影响,EPWMxSYNCI过来后,计数器重装TBPHS的值。
在增减模式下,重点关注EPWMxSYNCI和 TBCTL-PHSDIR位对计数器重装TBPHS的值的影响。
官方给的逻辑图: