我正在处理示例项目 EPWM_EX8_DEADband 项目。 我没有 看到任何死区。 我 正在尝试。在 ePWM 处、基周期为50kHz
这些是我的设置
/**
*导入此配置中使用的模块。
*/
const ePWM = scripting.AddModule ("/driverlib/epwm.js、{}、false);
const epwm1 = ePWM.addInstance();
const epwm2 = ePWM.addInstance();
const epwm3 = ePWM.addInstance();
const epwm4 = ePWM.addInstance ();
const epwm5 = ePWM.addInstance ();
const epwm6 = ePWM.addInstance ();
/**
*将自定义配置值写入导入的模块。
*/
epwm1.$name ="myEPWM1";
epwm1.epwmTimebase_counterMode ="EPWM_COUNTER_MODE_UP_DOWN";
epwm1.epwmTimebase_hsClockDiv ="EPWM_HSCLOCK_DIVIDER_1";
epwm1.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA ="ePWM_AQ_OUTPUT_HIGH";
epwm1.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA ="ePWM_AQ_OUTPUT_LOW";
epwm1.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB ="ePWM_AQ_OUTPUT_LOW";
epwm1.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB ="ePWM_AQ_OUTPUT_HIGH";
epwm1.epwmTimebase_period = 1000;
epwm1.epwmCounterCompare_cmpA = 500;
epwm1.epwmCounterCompare_CMPB = 500;
epwm1.epwmDeadband_enableRED = true;
epwm1.epwmDeadband_delayRED = 100;
epwm1.epwmTimebase_syncInPulseSource ="ePWM_SYNC_IN_PULSE_SRC_DISABLE";
epwm1.ePWM.$assign ="EPWM1";
epwm1.ePWM.ePWM_apin.$assign ="GPIO0";
epwm1.ePWM.ePWM_bPin.$assign ="GPIO1";
epwm2.epwmDeadband_enableRED = true;
epwm2.epwmDeadband_enableFED = true;
epwm2.epwmTimebase_clockDiv ="epwm_clock_divider 4";
epwm2.epwmTimebase_hsClockDiv ="EPWM_HSCLOCK_DIVIDER_4";
epwm2.epwmTimebase_period = 2000;
epwm2.epwmTimeBase_counterMode ="ePWM_COUNTER_MODE_UP_DOWN";
epwm2.epwmCounterCompare_cmpA = 500;
epwm2.epwmCounterCompare_CMPB = 1500;
epwm2.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm2.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA ="ePWM_AQ_OUTPUT_HIGH";
epwm2.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA ="ePWM_AQ_OUTPUT_LOW";
epwm2.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm2.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB ="ePWM_AQ_OUTPUT_HIGH";
epwm2.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB ="ePWM_AQ_OUTPUT_LOW";
epwm2.$name ="myEPWM2";
epwm2.copyUse = true;
epwm2.copyFrom ="myEPWM1";
epwm2.epwmDeadband_delayRED = 400;
epwm2.epwmDeadband_delayFED = 200;
epwm2.ePWM.$assign ="EPWM2";
epwm2.ePWM.ePWM_apin.$assign ="GPIO2;
epwm2.ePWM.ePWM_bPin.$assign ="GPIO3";
epwm3.epwmDeadband_polarityRED ="ePWM_DB_POLICY_ACTIVE_LOW";
epwm3.epwmDeadband_polarityFED ="ePWM_DB_POLICY_ACTIVE_LOW";
epwm3.epwmDeadband_enableRED = true;
epwm3.epwmDeadband_enableFED = true;
epwm3.epwmTimebase_clockDiv ="epwm_clock_divider 4";
epwm3.epwmTimebase_hsClockDiv ="EPWM_HSCLOCK_DIVIDER_4";
epwm3.epwmTimebase_period = 2000;
epwm3.epwmTimebase_counterMode ="ePWM_COUNTER_MODE_UP_DOWN";
epwm3.epwmCounterCompare_cmpA = 500;
epwm3.epwmCounterCompare_CMPB = 1500;
epwm3.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm3.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA ="ePWM_AQ_OUTPUT_HIGH";
epwm3.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA ="ePWM_AQ_OUTPUT_LOW";
epwm3.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm3.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB ="ePWM_AQ_OUTPUT_HIGH";
epwm3.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB ="ePWM_AQ_OUTPUT_LOW";
epwm3.$name ="myEPWM3";
epwm3.copyUse = true;
epwm3.copyFrom ="myEPWM1";
epwm3.epwmDeadband_delayRED = 400;
epwm3.epwmDeadband_delayFED = 200;
epwm3.ePWM.$assign ="EPWM3";
epwm3.ePWM.ePWM_apin.$assign ="GPIO4";
epwm3.ePWM.ePWM_BPin.$assign ="GPIO5";
epwm4.epwmDeadband_polarityFED ="EPWM_DB_POLICY_ACTIVE_LOW";
epwm4.epwmDeadband_enableRED = true;
epwm4.epwmDeadband_enableFED = true;
epwm4.epwmTimebase_clockDiv ="epwm_clock_divider 4";
epwm4.epwmTimebase_hsClockDiv ="EPWM_HSCLOCK_DIVIDER_4";
epwm4.epwmTimebase_period = 2000;
epwm4.epwmTimebase_counterMode ="EPWM_COUNTER_MODE_UP_DOWN";
epwm4.epwmCounterCompare_cmpA = 500;
epwm4.epwmCounterCompare_CMPB = 1500;
epwm4.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm4.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA ="ePWM_AQ_OUTPUT_HIGH";
epwm4.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA ="ePWM_AQ_OUTPUT_LOW";
epwm4.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm4.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB ="ePWM_AQ_OUTPUT_HIGH";
epwm4.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB ="ePWM_AQ_OUTPUT_LOW";
epwm4.$name ="myEPWM4";
epwm4.copyUse = true;
epwm4.copyFrom ="myEPWM1";
epwm4.epwmDeadband_delayRED = 400;
epwm4.epwmDeadband_delayFED = 200;
epwm4.ePWM.$assign ="EPWM4";
epwm4.ePWM.epwm_apin.$assign ="GPIO6";
epwm4.ePWM.ePWM_bPin.$assign ="GPIO7";
epwm5.epwmDeadband_polarityRED ="EPWM_DB_POLICY_ACTIVE_LOW";
epwm5.epwmDeadband_enableRED = true;
epwm5.epwmDeadband_enableFED = true;
epwm5.epwmTimebase_clockDiv ="epwm_clock_divider 4";
epwm5.epwmTimebase_hsClockDiv ="EPWM_HSCLOCK_DIVIDER_4";
epwm5.epwmTimebase_period = 2000;
epwm5.epwmTimeBase_counterMode ="EPWM_COUNTER_MODE_UP_DOWN";
epwm5.epwmCounterCompare_cmpA = 500;
epwm5.epwmCounterCompare_CMPB = 1500;
epwm5.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm5.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA ="ePWM_AQ_OUTPUT_HIGH";
epwm5.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA ="ePWM_AQ_OUTPUT_LOW";
epwm5.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm5.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB ="ePWM_AQ_OUTPUT_HIGH";
epwm5.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB ="ePWM_AQ_OUTPUT_LOW";
epwm5.$name ="myEPWM5";
epwm5.copyUse = true;
epwm5.copyFrom ="myEPWM1";
epwm5.epwmDeadband_delayRED = 400;
epwm5.epwmDeadband_delayFED = 200;
epwm5.ePWM.$assign ="EPWM5";
epwm5.ePWM.epwm_apin.$assign ="GPIO8";
epwm5.ePWM.ePWM_bPin.$assign ="GPIO9";
epwm6.epwmTimebase_clockDiv ="epwm_clock_divider 4";
epwm6.epwmTimebase_hsClockDiv ="EPWM_HSCLOCK_DIVIDER_4";
epwm6.epwmTimebase_period = 2000;
epwm6.epwmTimeBase_counterMode ="EPWM_COUNTER_MODE_UP_DOWN";
epwm6.epwmCounterCompare_cmpA = 500;
epwm6.epwmCounterCompare_CMPB = 1500;
epwm6.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm6.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_UP_CMPA ="ePWM_AQ_OUTPUT_HIGH";
epwm6.epwmActionQualifier_ePWM_AQ_OUTPUT_A_ON_TIMEBASE_DOWN_CMPA ="ePWM_AQ_OUTPUT_LOW";
epwm6.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_ZERO ="ePWM_AQ_OUTPUT_LOW";
epwm6.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_UP_CMPB ="ePWM_AQ_OUTPUT_HIGH";
epwm6.epwmActionQualifier_ePWM_AQ_OUTPUT_B_ON_TIMEBASE_DOWN_CMPB ="ePWM_AQ_OUTPUT_LOW";
epwm6.$name ="myEPWM6";
epwm6.copyUse = true;
epwm6.copyFrom ="myEPWM1";
epwm6.epwmDeadband_outputSwapOutA = true;
epwm6.epwmDeadband_outputSwapOutB = true;
epwm6.ePWM.$assign ="EPWM6";
epwm6.ePWM.epwm_apin.$assign ="GPIO10";
epwm6.ePWM.ePWM_bPin.$assign ="GPIO11";
