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:PWMA 或 B 的 TZ

Guru**** 2553260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1546620/tms320f280049c-tz-for-pwma-or-b

器件型号:TMS320F280049C


工具/软件:

您好:

我正在修改其中一个图腾柱 PFC EVM。 为了防止电感器电流在正交流周期内变为负值、反之亦然、我尝试在电感器电流接近 0 时停止同步 FET 栅极驱动脉冲。 我使用 CMPSS 和 PWM 直流子模块触发 DCAEVT2。 在过零死区期间会更改 TZ 操作、以确定哪个开关是同步 FET。

我遇到的问题是、我似乎只能禁用两个 PWM 输出 (PWM2A/PWM2B)。 我的目的是仅在正半周期内禁用 PWM2A、在负半周期内禁用 PWM2B。 我使用 TTPLPFC 代码库中的默认 PWM 设置。

谢谢您、

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

    通过直接使用 DCAEVT2.force/DCBEVT2.force、我能够更接近我的预期行为。

    DCAEVT2 仅关闭 EPWMxA、DBEVT2 仅关闭 EPWMxB。 问题在于 DCxEVT 是异步的、无法提供 CBC 行为。 而是会在 DCxEVT 被清除后立即恢复原始 PWM 状态。 这会导致出现短暂或快速的 PWM 脉冲。

    只要我在 TZSEL 寄存器上启用一个位、DCxEVT 就会恢复禁用 EPWMxA 和 EPWMxB、即使 TZA 和 TZB 设置为“不执行任何操作“也是如此。

    TRM 中多次提到 TZA 可以控制 EPWMxA、TZB 可以控制 EPWMxB。 什么是我的缺失?

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

    尊敬的 Stephen:

    只要您使用 DCA/BEVT1/2 路径作为输入来为单次触发或 CBC 启用 TZSEL、这就是一个直接连接到两个输出 ePWMxA/B 的“或“运算信号路径

    如果您希望对每个输出  (例如 DCAEVT1/2.force(对于 ePWMxA) 或)或 DCBEVT1/2.force(对于 ePWMxB)进行完全独立的控制、则不要通过单次触发或 CBC 使用 TZSEL 路径。

    仅针对 TZCTL.DCA/BEVT1/2 事件进行配置。 您可以将 TZCTL.TZA/B 配置为不执行任何操作。

    另一种选择是您可以将动作限定符子模块中的 T1/T2 事件独立用于输出 A 和 B。

    此致、

    Ryan Ma

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

    Ryan、

    在切换到 DCxEVTy 之前、在正周期和负周期内、我交换了 TZA/TZB 配置、使一个应强制为低电平、而另一个应被禁用。 在过零死区时间期间我会在这些之间进行切换、因此在此期间不会进行任何切换。  

    EPWM_setTripZoneAction(TTPLPFC_HIGH_FREQ_PWM1_BASE, EPWM_TZ_ACTION_EVENT_TZA, EPWM_TZ_ACTION_DISABLE);
    EPWM_setTripZoneAction(TTPLPFC_HIGH_FREQ_PWM1_BASE, EPWM_TZ_ACTION_EVENT_TZB, EPWM_TZ_ACTION_LOW);

    在这种情况下、EPWMA 不应该保持在任何状态而 EPWMB 变为低电平?

    TRM(图 18-42)仅显示所有此跳闸逻辑的“ePWM 逻辑块“、因此并不明确。   

    谢谢你

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

    尊敬的 Stephen:

    就会产生一个额外的脉冲电流。 EPWMA 应保持其所处的任何状态、除非 TZCLR 被写入、以逐周期清除单次触发或周期条件。 您可以从 TZFLG 寄存器中读取以在交换 TZA/B 输出后查看状态。

    此致、

    Ryan Ma

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

    Ryan、

    我想我有一个有效的解决方案。 我找到了以下主题: TMS320F28379D:跳闸区操作优先级问题 — C2000 微控制器论坛 — C2000Tm μ︎ 微控制器 — TI E2E 支持论坛

    根据 Marlyn 的建议:

    我将 CTR 通道 EPWMxSYNCPER 输出设置为当 PRD=PRD 时变为高电平。

    更改了 CMPSS(触发 DCxEVTy)配置、以使用锁存输出、然后使用 EPWMxSYNCPER 清除锁存器。

    由于我正在使用向上/向下计数、并且电源开关开启时间始终以 PRD 为中心、因此可以在下一个脉冲之前保持 SYNC 开关关闭。  

    谢谢你

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

    尊敬的 Stephen:

    很高兴您找到了一个有效的解决方案!

    并将其标记为“Resolved"。“。

    此致、

    Ryan Ma