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.

[参考译文] TMS320F28377S:TZOSTCLR 不能清除单次触发条件

Guru**** 2480775 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/736906/tms320f28377s-tzostclr-doesn-t-clear-one-shot-trip-condition

器件型号:TMS320F28377S

  您好!

  请找到我的配置(代码片段)、发生跳闸4、5、7事件中的任何一个、都会触发单次跳闸。

  S_REG_EPWM1->TZSEL.bit.DCAEVT1 = 0x1u;

  S_REG_EPWM1->TZDCSEL.bit.DCAEVT1 = 0x2u;

  S_REG_EPWM1->DCTRIPSEL.bit.DCAHCOMPSEL = 0xFU;  

  S_REG_EPWM1->DCAHTRIPSEL.bit.TRIPINPUT4 = 0x1u;

    S_REG_EPWM1->DCAHTRIPSEL.bit.TRIPINPUT5 = 0x1u;

   S_REG_EPWM1->DCAHTRIPSEL.bit.TRIPINPUT7 = 0x1u;

  S_REG_EPWM1->DCACTL.bit.EVT2SRCSEL       = 0U;

   S_REG_EPWM1->DCACTL.bit.EVT2FRCSYNCSEL   = 0x1u;  

  S_REG_EPwmXbar->TRIP4MUX0TO15CFG.bit.Mux0 = 0x1u;  

  s_reg_EpwmXbar->TRIP4MUXENABLE.bit.Mux0  = 0x1u;

--

在我的实验中、一旦发生跳闸4事件、我就可以看到跳闸区域标志被适当设置。

S_REG_EPWM1->TZFlG.bit.DCAEVT1 为0x1u;
S_REG_EPWM1->TZOSTFLG.BIT.DCAEVT1为0x1u

一旦跳闸条件被移除、就无法清除跳闸标志

S_REG_EPWM1->TZCLR.bit.DCAEVT1 = 0x1u (或)
S_REG_EPWM1->TZCLR.bit.OST = 0x1u (或)
S_REG_EPWM1->TZOSTCLR.bit.DCAEVT1 = 0x1u

需要您的帮助。 在访问该寄存器之前使用 EALLOW ()。

使用 TZCLR 和 TZOSTCLR 清除 OST 标志之间的差异是什么、这更好、何时应使用。

谢谢!

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

    这些清除对我来说是正确的。 是否确定未在 X-BAR 中启用输出锁存启用或事件未在 CMPSS 模块中锁存?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、没错、 事件未在 CMPSS 模块中锁存。

    TZCLR 或 TZOSTCLR 之间的实际差异是多少?

    谢谢!

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

    您好 Saravanakumar、

    TZFLG 和 TZCLR 对应于高电平跳闸:

    TZOSTFLG 和 TZOSTCLR 对应于特定的跳闸源:

    这在图中不会立即清除(图中只显示了针对8个跳闸源的使能、而不是标志/清除)。   

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

    当我观察到 thro'时、调试器"s_reg_EPWM1->TZOSTFlg.bit.DCAEVT1"始终设置为"1"[即使没有跳闸事件]、其中"s_reg_EPWM3->TZFlg.bit.DCAEVT1"为"0"[这很好、因为没有跳闸事件]。 我可以看到 PWM1输出信号。 这是否是芯片配置的问题?

    但无法通过以下方式清除。
    S_REG_EPWM1->TZCLR.bit.DCAEVT1 = 0x1u (或)
    S_REG_EPWM1->TZCLR.bit.OST = 0x1u (或)
    S_REG_EPWM1->TZOSTCLR.bit.DCAEVT1 = 0x1u

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

    您好 Saravanakumar、

    我猜所涉及的信号 DCAEVT1.FORCE 被锁存或以其他方式被重新触发到上游。  直流模块中似乎有一些设置、然后在 ePWM 和/或输入 X-BAR 中配置这些设置。  X-BAR 源将进一步具有其自己的配置...

    请告诉我、您在跟踪信号时是否遇到任何问题。  例如、看起来下一个阶段是这个:

    因此、如果出于任何原因(可能不是)触发 TZFRC、您可以检查信号是同步还是异步(可能无关紧要)、并且信号来自 DCAEVT1或 DCAEVTFLT。  根据滤波或未滤波事件之间的多路复用设置、您可以回顾下一阶段以查看其配置方式...