首页> 科技 > > 正文

DSP C2000系列DB模块配置ePWM死区(TMS320F280039)

2023-06-09 20:49:26 来源:哔哩哔哩

由于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);

下图所示开关位置为默认位置,即如果不使用代码配置,则信号将按照图中的方式进行传递,对应库函数功能已在图中标出

将出现的经典死区波形如下:

标签: