工具与软件:
专家、您好!
上图中的 S5和 S7是一组 ePWM (A 和 B)、而 S6和 S6是一组 ePWM (A 和 B)。 当正弦值为正值时、S5和 S7在高频率下相互补充、而 S6和 S8在高电平下使用负正弦值。 S6和 S8在高频下相互补充、S5和 S7在高频下相互补充。 正弦周期为20ms。
我使用以下配置 ePWM 方法:
SYSCTL_disablePeripheral (SYSCTL_PERIPH_CLK_TBCLKSYNC);
//5.
EPWM_setActionQualifierAction (HB_PWM_1_2_PWM_BASE、EPWM_AQ_OUTPUT_B、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
EPWM_setActionQualifierAction (HB_PWM_1_2_PWM_BASE、EPWM_AQ_OUTPUT_B、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
//7.
EPWM_setActionQualifierAction (HB_PWM_1_2_PWM_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
EPWM_setActionQualifierAction (HB_PWM_1_2_PWM_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
EPWM_setDeadBandDelayPolarity (HB_PWM_1_2_PWM_BASE、EPWM_DB_FED、EPWM_DB_POLARY_ACTIVE_LOW);
//6.
EPWM_setActionQualifierAction (HB_PWM_3_4_PWM_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
EPWM_setActionQualifierAction (HB_PWM_3_4_PWM_BASE、EPWM_AQ_OUTPUT_A、EPWM_AQ_OUTPUT_HIGH、EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
//8.
EPWM_setActionQualifierAction (HB_PWM_3_4_PWM_BASE、EPWM_AQ_OUTPUT_B、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_UP_CMPA);
EPWM_setActionQualifierAction (HB_PWM_3_4_PWM_BASE、EPWM_AQ_OUTPUT_B、EPWM_AQ_OUTPUT_LOW、EPWM_AQ_OUTPUT_ON_TIMEBASE_DOWN_CMPA);
EPWM_setDeadBandDelayPolarity (HB_PWM_3_4_PWM_BASE、EPWM_DB_FED、EPWM_DB_POLARY_ACTIVE_HIGH);
SYSCTL_enablePeripheral (SYSCTL_PERIPH_CLK_TBCLKSYNC);
但我担心频繁禁用和启用 PWM 时钟可能会影响系统的波形。 这种使用是否合理? 是否有更简单、更有效的方法来实现 ePWMA 并在高频互补波和高电平之间切换?
最棒的地方!
您的
谢谢