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.
工具/软件:Code Composer Studio
您好,先生,
我目前正在使用ADC通过PWM工作。 我正在尝试获取脉冲以为全桥直流/直流转换器供电。
我也可以获得带死区的开关脉冲。主要问题是,当我尝试实施脉冲关闭功能时,一个通道被关闭,另一个通道被设置为“高”。
我发现我使用了pwm_deadbandpolical()命令,在两个通道之间脱离相位,这导致另一个通道无法关闭。
是否有其他方法可以在不使用上述命令的情况下使两个通道之间的相位脱离
请帮帮我
谢谢
在PWM操作期间,不应重新配置停用时间模块。
我配置了ePWM,以便将来自Action Qualifier模块的A和B信号用于失效时间模块。
对于启用/禁用,我使用了操作限定符的持续软件强制功能,将A和B信号强制到所需状态
这是我的配置的摘录:
ePWM初始化:
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; //在CMPA_UP上设置输出
EPwm1Regs.AQCTLA.bit.CAD = AQ_Clear; //清除CMPA_DOWN上的输出
EPwm1Regs.AQCTLB.bit.CAU = AQ_SET; //在CMPA_UP上设置输出
EPwm1Regs.AQCTLB.bit.CAD = AQ_Clear; //清除CMPA_DOWN上的输出
EPwm2Regs.AQCTLA.bit.CAU = AQ_SET; //清除CMPA_UP上的输出
EPwm2Regs.AQCTLA.bit.CAD = AQ_Clear; //在CMPA_DOWN上设置输出
EPwm2Regs.AQCTLB.bit.CAU = AQ_SET; //在CMPA_UP上设置输出
EPwm2Regs.AQCTLB.bit.CAD = AQ_Clear; //清除CMPA_DOWN上的输出
//死机时间
EPwm1Regs.DBCTL.bit.in_mode = 2; //
EPwm1Regs.DBCTL.bit.POLSEL = 2; //有源高互补模式
EPwm1Regs.DBCTL.bit.out_mode =3; //两个输出上的死区
EPwm2Regs.DBCTL.bit.in_mode = 2; //
EPwm2Regs.DBCTL.bit.POLSEL = 2; //有源高互补模式
EPwm2Regs.DBCTL.bit.out_mode =3; //两个输出上的死区
软件禁用:
EPwm1Regs.AQCSFRC.bit.CSFA = 1;
EPwm1Regs.AQCSFRC.bit.CSFB = 2;
EPwm2Regs.AQCSFRC.bit.CSFA = 1;
EPwm2Regs.AQCSFRC.bit.CSFB = 2;
软件启用:
EPwm1Regs.AQCSFRC.bit.CSFA = 0;
EPwm1Regs.AQCSFRC.bit.CSFB = 0;
EPwm2Regs.AQCSFRC.bit.CSFA = 0;
EPwm2Regs.AQCSFRC.bit.CSFB = 0;
此致,Mitja