Other Parts Discussed in Thread: TMS320F28075
器件型号: TMS320F28075
您好:
我目前正在使用 TMS320F28075 开发一款产品 、对 向上/向下计数模式下的 HRPWM 配置有疑问。
我 TBPRD 仅 CMPA 在向上/向下双向计数模式下使用生成对称的 PWM 信号。 我的目标是将 HRPWM(高分辨率 PWM)应用于 TBPRD 基准的两侧、从而对最小占空比进行更精细的控制。
我已附上 PWM 配置代码以供您参考。
EPwm1Regs.TBPRD = (PWMCLK / EPWM1_TMN_SM_0_Freq)>>1; // Set timer period 705 TBCLKs
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000; // Phase is 0
EPwm1Regs.TBCTR = 0x0000; // Clear counter
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up and down
EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE; // Enable phase loading for sync signal receive
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // Load on Zero
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on event A, up count
EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR; // Clear PWM1A on event A, down count
EPwm1Regs.CMPA.bit.CMPA = ((PWMCLK / EPWM1_TMN_SM_0_Freq)>>1)*0.95; //initiate
EALLOW;
EPwm1Regs.HRCNFG.all = 0x0; // Clear all bits first
EPwm1Regs.HRCNFG.bit.EDGMODE = HR_REP; // MEP control on Rising edge
EPwm1Regs.HRCNFG.bit.CTLMODE = HR_CMP;
EPwm1Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO_PRD;
EPwm1Regs.HRCNFG.bit.AUTOCONV = 1;
EPwm1Regs.HRPCTL.bit.HRPE = 0;
EDIS;
我尝试应用 HRPWM、但我遇到的问题似乎不是对称应用 TBPRD。 如随附的波形所示、HRPWM 效果仅在右侧可见。
-
红色 (ePWM7A): 这是具有相同
CMPA值的基准信号(无 HRPWM)。 -
黄色 (ePWM1A): 这是应用 HRPWM 的信号。
- EPwm1Regs.HRCNFG.bit.EDGMODE = HR_REP;

2. EPwm1Regs.HRCNFG.bit.EDGMODE = HR_FEP

是否可以将 HRPWM 配置为也应用于左侧(如波形 1 中所示)? 如果是、请告知必要的设置或调整?
感谢您的帮助。