This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ePWM问题



在使用EPWM模块的时候因为各种原因,必须要在一个时刻同时将几个EPWM通道的计数值同时置为0。各个EPWM通道采用的都是上升技术方式,A通道为主导。现在的问题是在同时置零时有的通道会出现意想不到的电平,例如第一个比较点为0,那么在我置0时就会触发2个事件,第一个事件是zero,第二个是CAU。而在初始化设置的时候zero事件A通道输出低电平,cau事件输出高电平,按照手册上的优先级介绍应该输出高电平,但实际上A通道往往输出低电平,由于死区和上升延时的设置,就在输出产生了一个死区时间长短的负脉冲。请问各位大大问题出在哪里,有什么办法解决?拜谢了。

  • 重新回顾了一下资料,貌似置0应该是触发了CAD事件,这个事件优先级很低,所以脉冲置0了,那么现在的问题是有什么办法把脉冲给纠正过来
  • "在使用EPWM模块的时候因为各种原因,必须要在一个时刻同时将几个EPWM通道的计数值同时置为0。各个EPWM通道采用的都是上升技术方式,A通道为主导。现在的问题是在同时置零时有的通道会出现意想不到的电平,例如第一个比较点为0,那么在我置0时就会触发2个事件,第一个事件是zero,第二个是CAU"
    ERIC
    你是什么方式去将几个PWM通道同时置零?
    建议可以通过PWM的同步功能,PWM1计数器在0时产生同步信号将其他PWM模块置位0.
    另外,为什么有CAD事件?你的比较器的值很接近0?
  • PWM计数器置0是通过将TBCTR直接给0实现的,这样操作的原因是由于多个28335的ePWM模块需要同步操作,实际上计数没有到PRD,程序中停止计数后将TBCTR置0,这样肯定产生了一个zero事件,一个CAD事件,但是CAD事件优先级低所以没有作用。
  • “PWM计数器置0是通过将TBCTR直接给0实现的,这样操作的原因是由于多个28335的ePWM模块需要同步操作,实际上计数没有到PRD,程序中停止计数后将TBCTR置0,这样肯定产生了一个zero事件,一个CAD事件,但是CAD事件优先级低所以没有作用。”
    Eric:
    你把TBCTR置0,怎么会产生CAD, CAD的条件是TBCTR在下降计数时等于比较寄存器的情况。
    另外,建议你使用PWM同步功能区处理。
  • 现在的问题是我设置了CAU事件为输出高电平,zero事件输出低电平,当我将TBCTR置0时如果按照手册上的优先级应该一直保持高电平,触发CAU事件,但是实际上输出变为低电平了,泄漏出了死去时间长度的低电平脉冲,这个怎么解释?我实际想解决的是这个问题。
    另外,手册好像是看错了,上升计数模式没有cad事件。

  • 现在的问题是我设置了CAU事件为输出高电平,zero事件输出低电平,当我将TBCTR置0时如果按照手册上的优先级应该一直保持高电平,触发CAU事件,但是实际上输出变为低电平了,泄漏出了死去时间长度的低电平脉冲,这个怎么解释?我实际想解决的是这个问题。
    另外,手册好像是看错了,上升计数模式没有cad事件。
    在线查看