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.

[参考译文] AM2634:AM263x:跳闸区针对此时任何高 ePWM 发出的中周期命令

Guru**** 2680595 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1591027/am2634-am263x-tripzone-issue-mid-cycle-for-any-high-epwm-at-that-time

器件型号: AM2634
主题: SysConfig 中讨论的其他器件

我目前正在将一个虚拟 GPIO 路由到 tripzone 所有 ePWM。  我希望 TripZone 立即将所有 EPWM 设置为低电平(这包括 A 和 B 通道)。 但是、由于某种原因、当时的任何高 ePWM 通道 (A 或 B) 都会扩展。  

这是 Im 在我的 Saleae 看到的图片。  
image.png

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

    尊敬的 Kinderdeep:

    您看到的结果与 ePWM 跳闸区不配置为“强制低电平“、而是将输出保持在高阻态((tri 状态)(通常是复位/默认值)一致。 当跳闸区将 ePWM 引脚置于高阻态时、任何高电平的通道都可能因为该引脚悬空而“扩展“、并可通过焊盘上拉、外部电路或电容保持高电平。

    您能否验证是否已明确将 EPWMxA 和 EPWMxB 的 TZ 操作设置为“强制为低电平“(非高阻态/不执行任何操作)?

    如果您共享短版本的 SysConfig、我可以帮您查看。

    此致、

    Masoud

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

    您好、Masoud、感谢您的回复。 这绝对是问题所在。 我一直在尝试在我们的代码库中删除 syscfg 的依赖项、而只是自行配置所有内容。  

    假设我可以、我就是这样调用函数的 每个操作。

            EPWM_setTripZoneAction(
                base,
                EPWM_TZ_ACTION_EVENT_TZA | EPWM_TZ_ACTION_EVENT_TZB |
                    EPWM_TZ_ACTION_EVENT_DCAEVT1 | EPWM_TZ_ACTION_EVENT_DCBEVT2,
                EPWM_TZ_ACTION_LOW);
                
                


    修复:

    EPWM_setTripZoneAction(base, EPWM_TZ_ACTION_EVENT_TZA,
    EPWM_TZ_ACTION_LOW);
    EPWM_setTripZoneAction(base, EPWM_TZ_ACTION_EVENT_TZB,
    EPWM_TZ_ACTION_LOW);
    EPWM_setTripZoneAction(base, EPWM_TZ_ACTION_EVENT_DCAEVT1,
    EPWM_TZ_ACTION_LOW);
    EPWM_setTripZoneAction(base, EPWM_TZ_ACTION_EVENT_DCAEVT2,
    EPWM_TZ_ACTION_LOW);
    EPWM_setTripZoneAction(base, EPWM_TZ_ACTION_EVENT_DCBEVT1,
    EPWM_TZ_ACTION_LOW);
    EPWM_setTripZoneAction(base, EPWM_TZ_ACTION_EVENT_DCBEVT2,
    EPWM_TZ_ACTION_LOW);
    




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

    很高兴听到这个问题已经解决。

    此致、

    Masoud