Edit online

脉冲输出功能

Read time: 1 minute(s)

脉冲输出功能,为发送特定数量的脉冲信号的功能。

通过寄存器 PUL_OUT_EN= 0x1,进入脉冲输出模式,设置 PUL_OUT_NUM,可以配置发送脉冲的数量,发送的脉冲数量为 PUL_OUT_NUM+1。

基本的脉冲输出功能的时序图如下:
  1. PUL_OUT_EN = 0x1 的时刻,触发一次的脉冲输出,此时 EPWM 计数器需复位到 0,并且 PUL_OUT_NUM 的数值会传到 PUL_CNT。
  2. 计数器每完成一次周期的计数后,会对 PUL_CNT 进行递减 1,在这里过程中,EPWM 的输出信号为正常输出的状态。
  3. 在计数器完成了所设置的执行的周期数后,则进入了 IDLE 状态,EPWMA 通路为 AIDLE,EPWMB 通路为 BIDLE,A/BIDLE 的输出电平直接采用 AB 通道的初始值控制。
  4. 如果在 IDLE 状态,对 PUL_OUT_NUM 寄存器进行一次写的操作,则触发新一轮的脉冲群的发送。相应的此时会复位计数器的计数到 0,重新开始新的一轮计数。如下图的对寄存器 PUL_OUT_NUM 写入数值 3。
  5. 在完成上一步的操作,也即是完成 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 时刻。