This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280039C: C2000 ePWM_DB模块TBCTL shadow load 失败

Part Number: TMS320F280039C

DB死区模块 DBCTL[5:0]可以通过DBCTL2配置为shadow load,以及选择在CTR=ZRO的时刻进行load,但是没有调试显示没有load成功,进而影响了发波

还配置了GLDCTL2来全局加载DBCTL,其他的TBPRD都是可以成功加载的,以下是我的寄存器代码配置:(代码中关于DC和TZ的代码配置可忽略)

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void Drvr_EPwm1RegCfg(void)
{
//----------------------Enable clock---------------------------------------------------
EALLOW;
CpuSysRegs.PCLKCR2.bit.EPWM1 = 1; // ePWM1 clock
EDIS;
//----------------------Configure TB---------------------------------------------------
EPwm1Regs.TBPRD = LLC_SWT_UP_PRD; // Set timer period
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000; // Phase is 0
EPwm1Regs.TBCTR = 0x0000; // Clear counter
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up mode
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading
EPwm1Regs.TBCTL.bit.PHSDIR = TB_UP; // Phase Direction
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW; // shadow mode
EPwm1Regs.TBCTL2.bit.PRDLDSYNC = TB_CTR_ZERO_ONLY; // Shadow to Active Load of TBPRD occurs only when TBCTR = 0
EPwm1Regs.EPWMSYNCOUTEN.bit.ZEROEN = SYNC_OUT_SRC_ENABLE; //This bit enables the TBCTR = 0x0000 event to set the EPWMxSYNCOUT signal.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

我还利用driverLib中的库函数进行了配置,结果是一样的。

以下是DEBUG调试截图:

请问关于这个配置以及现象,有什么见解吗?