猜你喜欢
更多>由于TMS320F280039主频为120MHz,EPWM时钟与SYSCLK相同,故计数器的一个时钟周期为1 / 120M = 8.3ns、例如设计死区时间为220ns,对应的DB计数器的值为26 (EPWM_DEAD_BAND * fEpwm) / S2NS,其中S2NS意思为秒到毫秒的进制转换,S2NS = 1000000000(10的9次方),这样就可以让EPWMA在上升沿延迟26个Counter上拉,在下降沿提前26个Counter下拉
【资料图】
故可设置计算参数宏定义如下:
#define PWMC_CAL_DEADBAND_COUNT(DEADBAND_VALUE) (((DEADBAND_VALUE) * PWMC_EPWM_CLOCK / PWMC_EPWM_DIV) / S2NS
死区配置程序如下:
// 高有效死区设置,即在死区时间内,A和B都输出低电平
// Active high complementary PWMs - Set up the deadband
pwm_db_ticks_hs = PWMC_CAL_DEADBAND_COUNT(220u); EPWM_setDeadBandCounterClock(base1,EPWM_DB_COUNTER_CLOCK_FULL_CYCLE);
EPWM_setRisingEdgeDelayCount(base1,pwm_db_ticks_hs);
EPWM_setFallingEdgeDelayCount(base1,pwm_db_ticks_hs);
EPWM_setDeadBandDelayMode(base1,EPWM_DB_RED,true);
EPWM_setDeadBandDelayMode(base1,EPWM_DB_FED,true);
EPWM_setRisingEdgeDeadBandDelayInput(base1,EPWM_DB_INPUT_EPWMA);
EPWM_setFallingEdgeDeadBandDelayInput(base1,EPWM_DB_INPUT_EPWMA);
EPWM_setDeadBandDelayPolarity(base1,EPWM_DB_FED,
EPWM_DB_POLARITY_ACTIVE_LOW);
EPWM_setDeadBandDelayPolarity(base1,EPWM_DB_RED,
EPWM_DB_POLARITY_ACTIVE_HIGH);
下图所示开关位置为默认位置,即如果不使用代码配置,则信号将按照图中的方式进行传递,对应库函数功能已在图中标出
将出现的经典死区波形如下:
标签:
最新推荐
更多>