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.

[FAQ] [参考译文] [常见问题解答]向上/向下计数器模式下的 HRPWM 仅在 CTR=ZERO 上加载用户 CMP 影子寄存器

Guru**** 1302830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/746906/faq-hrpwm-in-up-down-counter-mode-will-only-load-user-cmp-shadow-registers-on-ctr-zero

当使用加/减计数器模式设置 HRPWM 模块时、CMPx 和 CMPxHR 影子加载模式必须设置为在 CMP=ZERO 和 PRD 上加载。

EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;

EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_Zero_PRD;
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;

EPwm1Regs.HRCNFG.bit.EDGMODE = HR_BEP;
EPwm1Regs.HRCNFG.bit.CTLMODE = HR_CMP;
EPwm1Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO _PRD; 

尽管影子加载模式同时设置为 CTR=ZERO 和 PRD、但用户可访问的 CMPx 和 CMPxHR 影子寄存器仅在 CTR=ZERO 时加载。 这是因为 HRPWM 模块将 PWM 信号围绕 CTR=PRD 居中。 HRPWM 模块将在内部计算并加载不同的 CMPx 和 CMPxHR 值、此时 CTR =零、然后再次加载 CTR = PRD (无法通过软件访问)、以提前和延迟 PWM 输出的边沿。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢你发布这个 Nima!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我要再次重申:

    尽管影子加载模式同时设置为 CTR=ZERO 和 PRD、但用户可访问的 CMPx 和 CMPxHR 影子寄存器仅在 CTR=ZERO 时加载。 这是因为 HRPWM 模块将 PWM 信号围绕 CTR=PRD 居中。 HRPWM 模块将在内部计算并加载不同的 CMPx 和 CMPxHR 值、此时 CTR =零、然后再次加载 CTR = PRD (无法通过软件访问)、以提前和延迟 PWM 输出的边沿。