脉冲输出功能
脉冲输出功能用于产生固定脉冲数量,并且脉冲的频率和占空比均可以调整。利用 EPWM 的 A、B 通道输出,可以产生典型的方向脉冲、正交脉冲和 CW/CCW 脉冲信号。
脉冲输出
脉冲输出的功能,通过影子更新信号 PUL_CNT_ZRO,配合以下寄存器的影子更新实现:
-
PWM_CNT_PRDV:PWM计数器的周期值,用于控制产生脉冲的周期;
-
PWM_CNT_AV:PWM计数器比较A值;
-
PWM_CNT_BV:PWM计数器比较B值;
-
PWMA_ACT:PWMA动作寄存器;
-
PWMB_ACT:PWMB动作寄存器;
-
PWMA_ACT_SW_CT:软件持续控制PWMA动作;
-
PWMB_ACT_SW_CT:软件持续控制PWMB动作;
-
PUL_OUT_NUM:输出脉冲设置,用于控制产生脉冲的数量;
影子更新信号 PUL_CNT_ZRO,可以通过寄存器的使能作为中断信号。以下三种方式可以产生 PUL_CNT_ZRO:
-
软件写寄存器字段EPWM_PUL_OUT_EN = 0x1,使能脉冲输出功能;
-
脉冲计数器完成脉冲数PUL_OUT_NUM的计数;
-
软件写寄存器字段EPWM_PUL_SW_UPDT = 0x1,强制产生一次PUL_CNT_ZRO的信号。
脉冲计数器的计数,可以通过寄存器字段 EPWM_PUL_CNT_SRC 选择不同触发信号作为脉冲计数器的信号源。 而脉冲数寄存器的配置,可以控制脉冲计数器需要的计数次数,计数次数为(PUL_OUT_NUM + 1),在完成脉冲计数后,会产生一次 PUL_CNT_ZRO 信号,用于硬件自动更新影子寄存器。