此处记录TMS320F28x ePWM模块相关理解。
此处先介绍几个名词概念
TBCTR(时基计数器):时基计数器保存当前的计数值,用于生成PWM信号周期。
TBPRD(时基周期寄存器):这个寄存器存储PWM信号的周期值,计数器从0开始计数,直到TBPRD的值。
TBPHS(时基相位寄存器):这个寄存器控制PWM信号的相位偏移,主要用于调整PWM信号的起始点,以便实现相位调节。
CMPA(比较寄存器A):这是第一个比较寄存器,用来设置PWM的占空比。如果计数器的值小于CMPA的值,PWM信号为高电平;否则为低电平。
CMPB(比较寄存器B):这是第二个比较寄存器,通常用于生成对称PWM信号,或者用于双向PWM控制。
ePWMxSYNCI(时基同步信号输入):输入脉冲用于时基计数器与之前的 ePWM模块同步,每个 ePWM 模块可以通过软件配置为使用或者忽略此信号。ePMW1的时基同步信号输入来自外部引脚,而ePMW2的时基同步信号输入来自ePMW1的时基同步信号输出,之后的ePWM模块3、4等以此类推。
ePWMxSYNCO(时基同步信号输入):出脉冲用于随后的 ePWM 的时基计数器同步。该输出信号取决于以下三个事件之一,具体如何选择看软件配置:
- ePWMxSYNCI
- TBCTR=CMPB
- TBCTR=0
ePWM 周期和频率的计算
ePWM 的频率是由时基周期寄存器值(TBPRD)和时基计数器的计数模式(TBCTRL)共同决定的。时基计数器的计数模式有向上计数(递增)模式、向下计数(递减)模式、向上-向下计数(先递增后递减)模式。下边就以周期寄存器设置为 4(TBPRD=4)举例说明。向上-向下计数模式(先递增后递减)
在此模式下,时基计数器先从 0 开始向上计数(递增)直到递增到周期寄存器的值 4,然后再由 4 向下计数(递减)直到减到 0,再重复以上动作,如下图所示: 在此模式下,随着同步信号的到来,时基模块的输出波形有两种情形,需要通过设置相位方向 TBCTL[PHSDIR]来确定。如果 TBCTL[PHSDIR]=0 时,那么当同步信号到来时,对应的输出波形如下图所示: 如果 TBCTL[PHSDIR]=1 时,那么当同步信号到来时,对应的输出波形如下图所示:上图第一层为TBCTR的值的变化,第二层ePWMxSYNCI时基同步信号输入,第三层为CTR的方向,第四层为CTR值为0的信号,第五层为CRT值为PRD的信号。
当时基同步信号输入激活时,CTR无论是多少,都会被置为TBPHS的值。而TBCTL[PHSDIR]决定了CTR重置后的递增或递减,即CTR方向。当CTR的值达到特殊值时就会触发对应特殊信号,如当CTR达到TBPRD的值时,CTR=PRD信号就会被激活。
向上计数模式(递增)
在此模式下,时基计数器从 0 开始向上计数,直到递增到周期寄存器的值后,时基计数器会自动复位到 0,重复以上动作,如下图所示: 在此模式下,随着同步信号的到来,时基模块的输出波形如下所示:向下计数模式(递减)
在此模式下,时基计数器首先加载周期寄存器的值,然后开始递减,直到减到 0 时,自动在加载周期寄存器的值,重复以上动作,如下图所示: 在此模式下,随着同步信号的到来,时基模块的输出波形如下所示:
待更新...
标签:记录,ePWM,计数,计数器,信号,寄存器,相关,时基 From: https://www.cnblogs.com/Explosion556/p/18530459