最近在做有限控制集模型预测控制,需要实时配置PWM。我的配置如下:
EPwm3Regs.AQCTLA.all = 0;EPwm3Regs.AQCTLB.all = 0;EPwm3Regs.AQSFRC.bit.RLDCSF = 0x03;EPwm4Regs.AQSFRC.bit.RLDCSF = 0x03;EPwm4Regs.AQCTLA.all = 0;EPwm4Regs.AQCTLB.all = 0;case 0:{EPwm3Regs.AQCSFRC.all = PWMS_ALBH;EPwm4Regs.AQCSFRC.all = PWMS_ALBH;break;}case 1:{EPwm3Regs.AQCSFRC.all = PWMS_AHBL;EPwm4Regs.AQCSFRC.all = PWMS_ALBH;break;}case 2:{EPwm3Regs.AQCSFRC.all = PWMS_AHBL;EPwm4Regs.AQCSFRC.all = PWMS_AHBL;break;}case 3:{EPwm3Regs.AQCSFRC.all = PWMS_ALBH;EPwm4Regs.AQCSFRC.all = PWMS_AHBL;break;}
在进中断之后,可以正确达到所需要的电平,但是在终端结束前(或者后?)PWM会回到低电平(如下图)。图中中间一段是需要一直高电平的,但是中间出现了一段段的低电平,请问下是怎么回事呢?或者有没有别的配置方式?谢谢!
Keting:
明白了,是死区配置的问题 😀
Susan Yang:
回复 Keting:
正在看您的问题…很高兴您能解决问题