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.

TMS320F28035: 峰值电流控制HVPSFB例程的一些疑问

Part Number: TMS320F28035
Other Parts Discussed in Thread: CONTROLSUITE

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void PWMDRV_PSFB_PCMC_CNF(int16 n, int16 period, int16 SR_Enable, int16 Comp2_Prot)
{
// n = the ePWM module number, i.e. selects the target module for init.
// ePWM(n) init. Note EPWM(n) is the Master
//Time Base SubModule Register
(*ePWM[n]).TBCTL.bit.PRDLD = TB_IMMEDIATE; // Set Immediate load
(*ePWM[n]).TBPRD = period;
(*ePWM[n]).TBPHS.half.TBPHS = 0;
(*ePWM[n]).TBCTR = 0;
(*ePWM[n]).TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
(*ePWM[n]).TBCTL.bit.PHSEN = TB_DISABLE;
(*ePWM[n]).TBCTL.bit.SYNCOSEL = TB_CTR_CMPB; // Used to sync EPWM(n+1) "down-stream"
(*ePWM[n]).TBCTL.bit.HSPCLKDIV = TB_DIV1;
(*ePWM[n]).TBCTL.bit.CLKDIV = TB_DIV1;
// Counter compare submodule registers
(*ePWM[n]).CMPCTL.bit.SHDWAMODE = CC_IMMEDIATE;
(*ePWM[n]).CMPCTL.bit.SHDWBMODE = CC_IMMEDIATE;
(*ePWM[n]).CMPA.half.CMPA = period-68;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

在上述的配置epwm1模块以及epwm2模块的代码中,有一些我不太理解的地方:

1.首先是epwm1模块将计数到CMPB时记为一次同步信号输出,同步信号输出到epwm2中,而epwm2模块的DCAEVT1事件的配置中,同样使能了DCAEVT1的同步信号,那epwm2模块会响应两个同步信号吗,如果是响应两个同步信号,峰值电流控制的波形就不太对了。

2.其次是在设置epwm2时,将PRD设置为period-1,而CMPA设置为period+10,那下方AQ配置中的CAU事件又是怎么触发的。

3.整段函数读下来我无法和峰值电流控制的波形所对应,由于我还没有完整地分析过此例程,此例程还配合其他部分来产生峰值电流控制的epwm了吗?