TI中文支持网
TI专业的中文技术问题搜集分享网站

ePWM问题

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

xun qinglai:重新回顾了一下资料,貌似置0应该是触发了CAD事件,这个事件优先级很低,所以脉冲置0了,那么现在的问题是有什么办法把脉冲给纠正过来

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

Eric Ma:

回复 xun qinglai:

"在使用EPWM模块的时候因为各种原因,必须要在一个时刻同时将几个EPWM通道的计数值同时置为0。各个EPWM通道采用的都是上升技术方式,A通道为主导。现在的问题是在同时置零时有的通道会出现意想不到的电平,例如第一个比较点为0,那么在我置0时就会触发2个事件,第一个事件是zero,第二个是CAU"
ERIC
你是什么方式去将几个PWM通道同时置零?
建议可以通过PWM的同步功能,PWM1计数器在0时产生同步信号将其他PWM模块置位0.
另外,为什么有CAD事件?你的比较器的值很接近0?

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

xun qinglai:

回复 Eric Ma:

PWM计数器置0是通过将TBCTR直接给0实现的,这样操作的原因是由于多个28335的ePWM模块需要同步操作,实际上计数没有到PRD,程序中停止计数后将TBCTR置0,这样肯定产生了一个zero事件,一个CAD事件,但是CAD事件优先级低所以没有作用。

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

Eric Ma:

回复 xun qinglai:

“PWM计数器置0是通过将TBCTR直接给0实现的,这样操作的原因是由于多个28335的ePWM模块需要同步操作,实际上计数没有到PRD,程序中停止计数后将TBCTR置0,这样肯定产生了一个zero事件,一个CAD事件,但是CAD事件优先级低所以没有作用。”
Eric:
你把TBCTR置0,怎么会产生CAD, CAD的条件是TBCTR在下降计数时等于比较寄存器的情况。
另外,建议你使用PWM同步功能区处理。

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

xun qinglai:

回复 Eric Ma:

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

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

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

赞(0)
未经允许不得转载:TI中文支持网 » ePWM问题
分享到: 更多 (0)