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.

[参考译文] TMS320F28379D:当 HRPWM 被配置为在增-减模式中进行占空比控制时、复位 CMPA

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/730532/tms320f28379d-resetting-cmpa-when-the-hrpwm-is-configured-for-duty-cycle-control-in-up-down-mode

器件型号:TMS320F28379D

大家好、

我在影子模式下使用具有 CMPA 的 EPWM、但有时我需要将其重置为默认值。 为了避免等到影子寄存器加载到活动寄存器中、我找到了一种执行类似操作的方法:

ePWM->CMPA.half.CMPA = 0;//写入影子寄存器(CMPA 变为零)
ePWM->CMPCTL.bit.SHDWAMODE = TB_IMMETER;
ePWM->CMPA.half.CMPA = 0;//直接写入活动寄存器(CMPAM 变为0)
ePWM->CMPCTL.bit.AMWTB = SHADD_SHADOTB; 

这符合我的要求、但我想知道它是否会干扰 HRPWM。 TRM 在第15.2.4.4.1章中指出:"必须为影子加载配置 TBPRD 和 CC 寄存器"。 如果我以高分辨率上/下占空比控制方式运行 ePWM、然后以上述方式强制 CMPA 为零、它是否会中断 HRPWM 的配置、因为我将 CMPA 置于立即模式一段时间?

谢谢、

皮埃尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到上面的代码是如何工作的、但我不确定它是否会导致问题、也不确定是否会根据上面的说明发生。 我确实认为有一个潜在问题、那就是在"范围限制"部分(图15-8 15-9和15-10)中操作 HRPWM、具体取决于您使用的模式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    NIMA、

    感谢您的回答。 我一直在阅读范围限制、我相信您对潜在问题的看法是正确的、因为我正在从事对称占空比控制、需要对其启用周期控制。

    我想如果我尝试改用 AQCSFRC、会更安全。 你同意吗?

    皮埃尔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是如果 CMPA 值设置为0实际上会导致 OUTPUTx 进入指定状态、那么是 AQCSFRC 功能是我要使用的选项。