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.

[参考译文] TMS320F280049C:PWM 设置中缺少 CMPC 事件

Guru**** 2464570 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1494932/tms320f280049c-missing-cmpc-event-in-pwm-setup

器件型号:TMS320F280049C

工具与软件:

尊敬的专家:

我的客户使用 ePWM4 CMPC 事件来触发 CLA。  

ePWM4与 ePWM1同步。 ePWM4将相位负载启用为2、CMPC 设置为1。

下面是详细配置。

它们存在这样一个问题、即一旦它们通过 AQ Force pull (__LW_AT__触发过压 TZ)、CLA 任务就不会再被触发。

CLA 由 ePWM4中的 CMPC=CMPC 触发、因此我们检查了 CTR 事件标志、但它并未设置。

(由于其以功率级运行、他们只能使用主机读取寄存器、在这里他们读取0x43A8处的 CMPC 标志、发现它为0x8、未设置标志)

他们也使用相同的方法来读取 CTR、以查看它是否等于1。 )CTR 会(__LW_AT__变化、因此他们会将其读取3000次 PRD 是599 μ s、并使用 Excel 对其进行滤波。 在(__LW_AT__图片中、您可以看到 TBCTR 在第二列、并且随机变化)μ s 预计 μ s、但当它们打开滤波器时、这些随机值中不存在"1"。  

此时、我们得出结论、CTR 永远不会达到1、因此 ePWM4 CTR = CMPC 永远不会发生。

由于 ePWM4相位负载以"2"、的方式启用、因此 CTR 从不等于1似乎是合理的。

但是、CLA 可在过压之前正常触发。 过压之后无法触发 CLA、但是、如果我们手动设置 CMPC 事件标志、可以在接下来的周期中再次正常触发 CLA。

CLA 使用计算控制循环并清除 CMPC 事件标志。

虽然在相位负载设置为2时设置 CMPC=1可能是不合理的、但我无法解释为什么它首先可以正常工作、但仅在发生过压时才停止工作、并通过手动设置 CMPC 标志一次来在触发 CLA 后恢复工作。

您能帮忙解释一下吗?

此致、

挂起

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

    尊敬的 Hang:

    对于延迟、我们深表歉意。 您是否有关于代码中该 TZ 力何时通过 AQ 力发生的更多信息? 能否查看执行此逻辑的代码?

    ePWM 是否会在这个 AQ 力下变低? 最好也知道这是如何清除的。  

    [quote userid="571219" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1494932/tms320f280049c-missing-cmpc-event-in-pwm-setup 通过 AQ Force pull (__LW_AT__触发过压 TZ)后、将不会再触发 CLA 任务。

    此致、

    Marlyn