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.

[参考译文] TMS320F28P659DK-Q1:跳闸区域 OST 配置

Guru**** 2534260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1356108/tms320f28p659dk-q1-trip-zone-ost-configuration

器件型号:TMS320F28P659DK-Q1

下面是我的代码片段:

我面临的问题是,如果条件不满足, EPwm10、EPwm11 和 EPwm12 OST 应按该顺序设置。 现在 if 语句处于连续的 while 循环中、并且持续检查条件、因此会设置所有 ePWM 的 OST。 但是、如果仅检查此条件一次、则仅   设置 EPwm11和 EPwm12 OST、但 EPwm10 OST 保持清除状态。 声明       需要重复执行 EPwm10Regs.TZCLR.bit.OST = 1才能设置 OST。 任何建议。

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

    您好、Manish:

    不确定我是否完全理解这里的问题。

    然而,如果此条件仅检查一次,则仅  EPwm11和 EPwm12 OST 被设置,但 EPwm10 OST 仍保持清除状态。[/报价]

    从代码中、无论代码执行一次或多次、它都应该为所有设置和清除 OST 10、11、12。

    我建议单步执行代码并将断点放在 epwm10 OST 设置的位置、以验证一旦您对 epwm10执行 TZFRC、标志就会在 TZFLG.OST 中设置。

    Unknown 说:
    声明       需要重复执行 EPwm10Regs.TZCLR.bit.OST = 1才能设置 OST。 [/报价]

    你的意思是什么 TZCLR 需要 执行 OST 设置? OST 由 TZFRC 寄存器置位。

    谢谢!

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

    您好、Prarthan、

    感谢您的答复、也很抱歉这么晚才回复。 我已经通过放置断点(附加代码片段)进行了相同的尝试。  

    断点位于 Epwm9。 行 382和383被执行,但 OST 标志不设置为1为 Epwm7,但正确设置为 Epwm8  现在,如果条件是重复执行382和383行,则  Epwm7 最终将设置为1。 无法理解问题所在。  

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

    尊敬的 Manish:

    我们正在 与设计团队一起调试此问题。

    是否可以运行 TZFRC 循环两次并检查它是否始终设置标志?

    谢谢。
    普拉森