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:CMPSS3和 CMPSS4 CBC 跳闸组合

Guru**** 2468570 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1129031/tms320f28377s-cmpss3-and-cmpss4-cbc-trip-combination

器件型号:TMS320F28377S
Thread 中讨论的其他器件:SysConfig

您好!

如何配置 CMPSS3 (TRIP4)来触发 ePWM2A 的 CBC 跳闸、以及配置 CMPSS4 (TRIP5)来触发 ePWM2B 的 CBC 跳闸?

如果 无法独立实现、如何使 TRIP3或 TRIP4同时触发 ePWM2A 和 ePWM2B 输出的 CBC 跳闸?

我假设 DCA (H/L)用于 PWMA、而 DCB (H/L)用于 PWMB。 对吧? 为什么 H 和 L 可能存在?

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

    您好、Ari、

    我建议查看以下来源:

    《C2000 ePWM 开发人员指南》

    ePWM 数字比较子模块视频  

    [引用 userid="519810" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1129031/tms320f28377s-cmp3和 cmpss4-CBC-trip-Combus"]如何配置 CMPSS3 (TRIP4)以触发 ePWM2B 和 ePWM2B 跳闸[引用 eCMPIP4?]

    如果您想进行 CBC 保护、则不可能在原生条件下为 EPWMxA 和 EPWMxB 提供单独的源。 我在下图中以红色突出显示了路径。 您将注意到、CBC 路径的输出被馈送至 EPWMxA 和 EPWMxB。 因此、如果您想使用 CBC、则每次跳变都将转至 EPWMxA 和 EPWMxB、并执行 TBCTL 寄存器的 TZA/TSB 位指定的操作。

    您可以使用 TZCTL 寄存器的 DCAEVT2和 DCBEVT2位根据不同的跳闸分别控制 EPWMxA 和 EPWMxB。 但是、如果您选择执行此操作、则只要存在跳闸、输出将仅反映所需的状态(例如清除)。 此概念在上面链接的视频中进行了解释。

    [引用 userid="519810" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1129031/tms320f28377s-cmpss3-and-cmpss4-CBC-TRIPMCombus"]如果 无法独立实现、如何同时针对 PWM2B 和 PWMIP3进行 TRIP3或 tms-2A 输出?]

    根据硬件设计、如果您将两次触发都启用为 CBC、则 EPWMxA 和 EPWMxB 将同时发生跳闸。 您可以使用 TZSEL 寄存器选择要为 CBC 配置的所需跳闸信号。

    [引用 userid="519810" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forume/1129031/tms320f28377s-cmpss3-and-cmpss4-CBC-trip-Combus"]我假设 DCA (H/L)用于 PWMA 和 DMB (HCB)。 对吧? 为什么 H 和 L 可能存在?[/引述]

    正确、如果您想根据 DCxEVT 何时出现(即使用  TZCTL 寄存器的 DCAEVT1/DCBEVT2和 DCBEVT1/DCBEVT2位)来控制输出、

    如果您将 DCxEVT 用于 CBC 或单次触发、那么这并不重要、因为 CBC 和单次触发信号都路由到 EPWMxA 和 EPWMxB。 由于只有 DCAEVT2/DCBEVT2可用于 CBC、且 DCAEVT1/DCBEVT1可用于单次触发、因此您只会担心其是配置的 EVT2还是 EVT1。

    H 和 L 信号用于比较多个跳闸信号的情况。

    如果您只关心一个跳闸信号的状态、则可以在 TZDSEL 寄存器中对相应的功能进行编程。 例如、DCAEVT1可被设定为(DCAH->HIGH 和 DCAL->Dont Care)。 然后、在 DCTRIPSEL 寄存器(上面的代码段)中、您可以为 DCAH 选择 TRIP4。 通过这种方法、DCAEVT1将配置为当 TRIP 4信号变为高电平时。  

      

    此致、

    Marlyn

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

    感谢  Marlyn、

    《C2000 ePWM 开发人员指南 》非常有用、德州仪器应该制作更多这样的指南、并提供更多代码示例、不仅使用 SysConfig、还使用位字段、以便更轻松地将信息与硬件手册进行比较。

    我使用以下方法解决问题:

    ePWM_enableDigitalCompareTripCombinationInput (EPWM2_base、ePWM_DC_Combinational_TRIPIN4、ePWM_DC_TYPE_DCAH);
    ePWM_enableDigitalCompareTripCombinationInput (EPWM2_base、ePWM_DC_Combinational_TRIPIN5、ePWM_DC_TYPE_DCAH);