脉冲输出功能
脉冲输出功能用于生成特定数量的脉冲信号,支持动态配置、强制更新及统计功能,适用于精确时序控制场景。
配置脉冲输出模式
- 使能寄存器设置
写入 PUL_OUT_EN = 0x1 激活脉冲输出模式。
- 脉冲数量配置
通过 PUL_OUT_NUM 寄存器设定基础脉冲数,实际发送脉冲数量为 PUL_OUT_NUM + 1。
脉冲输出时序逻辑
基础脉冲输出时序流程
- 在 PUL_OUT_EN = 0x1 时刻,触发一次脉冲输出,EPWM 计数器复位至 0,PUL_OUT_NUM 值载入 PUL_CNT。
- 计数执行阶段,每完成一个计数周期,PUL_CNT 递减 1。在此过程中,EPWM 的输出信号为正常输出状态。
- 在计数器完成所设置的执行周期数后则进入空闲状态(IDLE),EPWMA/B 通道分别切换至 AIDLE/ BIDLE 模式,输出电平由 AB 通道初始值控制。
IDLE 状态下的重触发
- 如果在 IDLE 状态下,向 PUL_OUT_NUM 写入新值(如图所示,写入 3),将触发新一轮脉冲群发送,计数器同步复位至
0,开始新一轮计数。
- 在完成上一步的操作,也即是完成 4 个脉冲的输出后,再次进入 IDEL 状态,EPWM 输出 IDLE 电平。
运行中修改脉冲数量
若在脉冲群发送过程中更新 PUL_OUT_NUM 数值,新配置将在当前脉冲群完成后生效,计数器不立即复位。
如下图所示,在 T0 时刻,对寄存器 PUL_OUT_NUM 写入数值 1,此时不会复位计数器的计数,而是会在发送完当前的 4 个脉冲群之后才会执行此时写
PUL_OUT_NUM = 0x1 的脉冲群。

持续脉冲输出模式
持续脉冲输出功能是指支持强制持续输出脉冲群的功能,设置 PUL_OUT_NUM = 0xFFFFFFFF 进入无限脉冲模式。对 PUL_OUT_NUM
写入常规数值,可退出持续输出脉冲群的状态。写入常规数值后,需等待计数器周期结束方可生效。具体如下图所示:

脉冲输出支持软件强制更新功能,方便动态调整脉冲参数而无需重启模块,写 PUL_SW_UPDT = 1 触发一次强制更新信号 PUL_UPDT。如下图所示,在 T0 时刻,写
PUL_SW_UPDT = 1:

