做双有源桥DAB拓扑的控制,第一次使用DSP28335PWM移相功能,做个记录
PWM移相以Epwm1为基准,具体配置如下:
采用上下计数:
EPwm3Regs.TBPRD = period / 2;
EPwm3Regs.TBPHS.all = 0x0000;
EPwm3Regs.TBCTR = 0x0000;
EPwm3Regs.CMPA.half.CMPA = period / 4;
EPwm3Regs.CMPB = period / 4;
EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE;//使能移相
EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_CTR_ZERO;
EPwm3Regs.TBCTL.bit.PHSDIR = TB_UP;//配置移相方向,超前或滞后
EPwm3Regs.TBPHS.half.TBPHS = 300;//设置移相值
EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2;
EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm3Regs.TBCTL.bit.SWFSYNC = 1;
EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
EPwm3Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;//
EPwm3Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;//DB_ACTV_LOC;//
EPwm3Regs.DBCTL.bit.IN_MODE = DBA_RED_DBB_FED;
EPwm3Regs.DBRED = EPWM_DeadBandTime;
EPwm3Regs.DBFED = EPWM_DeadBandTime;
EPwm3Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm3Regs.AQCTLA.bit.CAD = AQ_SET;
EPwm3Regs.AQCTLB.bit.CAU = AQ_CLEAR;
EPwm3Regs.AQCTLB.bit.CAD = AQ_SET;
主要是EPwm3Regs.TBCTL.bit.PHSEN, EPwm3Regs.TBCTL.bit.PHSDIR , EPwm3Regs.TBPHS.half.TBPHS这几个寄存器的配置。
至此,PWM移相功能就配置好了。