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.

[参考译文] TMS320F28P650DK:跳闸区强制操作:奇怪行为

Guru**** 2543190 points
Other Parts Discussed in Thread: LAUNCHXL-F28P65X

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1323473/tms320f28p650dk-trip-zone-force-action-strange-behavior

器件型号:TMS320F28P650DK
主题中讨论的其他器件:LAUNCHXL-F28P65X

您好、TI 支持团队、
我将 LAUNCHXL-F28P65X 与 XF28P650DK9一起使用、但 我在使用以下 一系列指令时面临着一种奇怪的行为。
下面我来说明一下情况:我 在第一条 asm 指令上放置一个断点、然后逐步运行代码、直到 EDIS。


asm (nop);
EALLOW;
EPwm1Regs.TZFRC.bit.OST = 1;
EPwm9Regs.TZFRC.bit.OST = 1;
EPwm2Regs.TZFRC.bit.OST = 1;
EPwm10Regs.TZFRC.bit.OST = 1;
EDIS;


在 EDIS 上、查看属于 ePWM 模块的标志 OST 寄存器、我是说、
EPwm1Regs.TZFLG.bit.OST
EPwm9Regs.TZFLG.bit.OST
EPwm2Regs.TZFLG.bit.OST
EPwm1Regs.TZFLG.bit.OST
我没有发现所有标志都按预期设置为1。


我的"跳闸操作"的目标是将 ePWM 输出设置为低电平、因此我已经 通过示波器验证了"跳闸操作"。
我重复此测试多次、并且 ePWM 输出的下降沿之间存在延迟; 下降是因为 TZCTL 寄存器的字段设置为"强制 ePWM 进入低电平状态"。
上述延迟大于开关周期的一半、为4us 或更大。

让我说一下、我将这种奇怪的行为分成两部分:
首先:CCS 访问寄存器刷新
第二:通过代码强制跳匣区域

我可以忽略第一个主题,而不是第二个主题;所以,请你帮我吗?

非常感谢。

埃托尔

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

    尊敬的 Ettore:

    由于使用软件机制来触发 PWM 信号、因此每次 PWM 跳闸的时间之间可能会有一定的延迟。 然而、4 μ s 看起来非常大、最坏的情况下我预计会是几十纳秒左右。

    为了在 PWM 触发之间避免延迟、一种方法是写入由 INPUTXBAR[1-3]任何一个读取的 GPIO 输出、并使用 TZ[1-3]事件触发 PWM。 请告诉我这是否合适。 如果 没有、我可以帮助调查4us 延迟的原因。

    谢谢!

    卢克

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

    Luke、您好!

    感谢您的答复。

    请让我来挖掘我的代码、如果我需要您的支持、我会回来的。

    同时,我可以让机票保持开放吗?

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

    尊敬的 Ettore:

    是的、我会将 TT 标记为"等待客户"。 回复后将重新打开此帖子、但请在28天内回复更新、否则此帖子可能会被锁定。

    谢谢!

    卢克

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

    Luke、您好!  

    我仍在探究奇怪的行为。  

    我已多次阅读"增强型脉宽调制器" 一章、其中指出通过用户代码在 TZFRC 寄存器的 OST 字段写入"1"、该操作会立即影响 PWM 输出。  

    但是、根据我在代码中看到的结果、动作和效果之间存在延迟;延迟时间是随机值、但始终是半中断周期的整数或3.3us 时间份额。

    此外、如果我在代码上放置一个断点、并直接在芯片的寄存器中写入 OST 位、通过在 CCS 上找到的寄存器窗口、即使我单步运行代码很长时间、TZFLG 寄存器上的标志 OST 也不会上升。 请注意、在此设置之前、我已在 ST1上设置 EALLOW。

    基于以上观察结果、似乎" TZCTL"寄存器的设置可以与影子寄存器或类似的东西一起使用、但我在用户手册中没有找到它。

    我的故事会引起你对这个问题的想法吗?

    PS:我用具有 TMS 版本芯片的评估板重复了一些测试、但结果没有改变。

    谢谢!

    埃托尔

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

    尊敬的 Ettore:

    您是否可以尝试将 TBCTL 寄存器中的 FREE_SOFT 位设置为11?  连接调试器后、PWM 模块的仿真模式可能会影响 TZFRC 的行为。 如果这不产生任何影响、我将自行测试此问题。

    谢谢!

    卢克

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

    您好 Luke

    离线共享文件

    谢谢!  

    Br
    卡洛

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

    您好、Colombo、

    我们的 SME 目前是 OOO、预计回复会推迟到下周。

    此致!

    马瑞安

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

    您好、Carlo。

    我仔细检查了您通过电子邮件发送的文件。 从您的观察来看,与软件强制行程相比,旅行对外部行程的响应时间似乎更快。

    您是否仍希望为每个 ePWM 模块使用软件强制跳闸、还是计划将 GPIO 写入为外部跳闸源?

    谢谢!

    卢克

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

    Luke、您好!

    我想要做的是:

    1) 1)  GPIO 作为分配整个 ePWM 模块的外部跳闸源。

    2) 2)  分配的整个 ePWM 模块的软件强制跳闸。

    第1种情况是由于电气保护而导致的典型开关关闭、而第2种情况则与代码所导致的开关关闭有关。

    对于我的应用、案例2必须与案例1一样快、并且它必须影响 分配的整个 ePWM 模块。

    谢谢!

    埃托尔

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

    尊敬的 Ettore:

    我懂了。 您是否有可用于实现案例2以使 ePWM 模块同时跳闸的备用 GPIO、或者您是否需要使用软件强制跳闸? 如果您在软件中一个跳闸不同的 ePWM 模块、那么它们之间将不可避免的延迟。  

    谢谢!

    卢克

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

    Luke、您好!

    非常感谢 您的答复。

    根据该协议、我将使用一个由软件驱动的备用 GPIO、我将在内部通过 Xbar 模块路由到 eWPM 模块。

    此致、

    埃托尔