TMS320F280049C 学习笔记25 ePWM死区 DB模块配置

承前 TMS320F280049C 学习笔记7 ePWM ,在参考TI官方的例程时,发现死区配置的方式和想象中不一样,特此记录。

贴一个例程中的死区配置方式:

// 高有效死区设置,即在死区时间内,A和B都输出低电平
    // Active high complementary PWMs - Set up the deadband
    EPWM_setDeadBandCounterClock(base2,EPWM_DB_COUNTER_CLOCK_FULL_CYCLE);
    EPWM_setRisingEdgeDelayCount(base2,pwm_db_ticks_hs);
    EPWM_setFallingEdgeDelayCount(base2,pwm_db_ticks_hs);
    EPWM_setDeadBandDelayMode(base2,EPWM_DB_RED,true);
    EPWM_setDeadBandDelayMode(base2,EPWM_DB_FED,true);
    EPWM_setRisingEdgeDeadBandDelayInput(base2,EPWM_DB_INPUT_EPWMA);
    EPWM_setFallingEdgeDeadBandDelayInput(base2,EPWM_DB_INPUT_EPWMA);
    EPWM_setDeadBandDelayPolarity(base2,EPWM_DB_FED,
                                  EPWM_DB_POLARITY_ACTIVE_LOW);
    EPWM_setDeadBandDelayPolarity(base2,EPWM_DB_RED,
                                  EPWM_DB_POLARITY_ACTIVE_HIGH);

代码需要结合手册中18.7.3节的图来理解,我把各个开关对应的函数在图中做了标记。需要注意的是,图中所示开关位置为默认位置,即如果不使用代码配置,则信号将按照图中的方式进行传递。
TMS320F280049C 学习笔记25 ePWM死区 DB模块配置_第1张图片
由于不需要交换A和B的输出,所以图中最右侧的EPWM_setDeadBandOutputSwapMode()函数在例程中没有用到。
例程实现的PWM输出如下图所示:TMS320F280049C 学习笔记25 ePWM死区 DB模块配置_第2张图片
对比“A最终和”“B最终”的波形,可以看到分别添加了RED和FED时间长度的死区,其中RED=FED=pwm_db_ticks_hs=50.
由于280049C的主频为100MHz,一个时钟周期对应10ns。所以RED=50对应500ns的死区。

你可能感兴趣的:(TI,DSP学习,280049C,ePWM,死区,DB模块)