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.

[参考译文] TMS320F28374D:通过增加死区将 GPIO 状态镜像到 ePWM

Guru**** 2401625 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1486963/tms320f28374d-mirroring-gpio-states-to-epwm-with-added-deadband

器件型号:TMS320F28374D
主题中讨论的其他器件:SysConfigC2000WARE

工具与软件:

大家好、这里是首次发布海报。

我正在尝试设置 H 桥的控制、该控制将通过光纤电缆(即逻辑信号)进行控制。

GPIO 4和 GPIO 5变为高电平或低电平、发生这种情况时、ePWM4和 ePWM5相应地切换:

GPIO4高电平:

ePWM4A =置位

ePWM4B=清除

GPIO4低电平:

ePWM4A =清除

ePWM4B=置位

GPIO5高电平/低电平:

ePWM5A =设置/清除

ePWM5B=清除/设置

我设法通过将 GPIO 的状态路由至 ePWM4的 TZ1和 ePWM5的 TZ2、 并使用数字比较来切换 ePWM 模块来实现这一点。  

解决问题:

我需要实现死区以确保 ePWM4A 和4B 不会同时为高电平、以及5A 和5B 以避免可能的短路。

我一直在尝试以 与使用 CLB 为三电平逆变器实现延迟保护类似的方式使用 CLB 、但在使用 Simulink 接口时、我无法设置计数器。 我还难以为 ePWM5设置 CLB、因为它没有直接作为 CLB 逻辑块进行镜像、并且我需要使用 X-BAR 将信号路由到 ePWM5 (我认为)。

我的问题是:

-这是一个合理的方法吗?

-关于如何实现 GPIO 引脚镜像来控制两个 EPWM 模块(增加死区)的最佳解决方案,我在上面描述的方式?

感谢任何帮助、谢谢!

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

    您好!

    F28374D 具有内置死区子模块、因此可以向相应 ePWM 的上升沿和/或下降沿添加延迟以避免击穿。 有关 更多详细信息、请参阅器件 TRM 第15.7章死区生成器(DB)子模块: https://www.ti.com/lit/ug/spruhm8k/spruhm8k.pdf。我想它应该在 Simulink 的 Deadband unit 选项卡下。

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

    您好、Stevan:

    我没记错。 使用数字比较时、内置死区块绝不会进入、不会应用于上升沿/下降沿。

    也许有一个方法可以使用 ePWM 块的传统比较方法来镜像 GPIO 的高/低状态。  

    该模块的最终应用是拥有一个主控制板、该主控制板使用非基于 PWM 的调制方案(例如最接近的电平或模型预测性控制)来控制多级逆变器中的子模块。 因此、GPIO (4和5)上的高/低电平状态应反映子模块(ePWM4和 ePWM5)中 ePWM 模块上述的逻辑、并且数字比较可以快速准确地实现这个目标

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

    您好!

    我将查看重新验证并返回给您。

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

    谢谢!

    我感觉缺少了一些东西。 当前正在尝试将从数字比较生成的跳闸信号作为 T1和 T2事件传递到动作限定器子模块、之后将应用常规死区模块。

    我在之前用于配置 ePWM 模块的 Simulink 2000 Blockset 中找不到此功能。 但尝试使用 SysConfig 在 CCS 工程中集合一些内容、为此、需要使用更好的文档  

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

    您好 Viktor、

    您提到的方法是正确的方法。  

    我觉得缺少一些东西。 当前正在尝试将数字比较生成的跳闸信号作为 T1和 T2事件传递到动作限定器子模块、之后将应用常规死区模块。[/QUOT]

    我不确定在 Simulink 中是如何设置的。 以下 E2E 请参阅 C2000 Simulink 的常见问题解答、可能会有所帮助: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/484814/faq-sticky-mathworks-solutions-for-c2000-mcu-s

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/944441/faq-faq-support-for-using-mathworks-solutions-with-c2000-mcu-s

    如果要在 SysConfig 和 CCS 中设置该配置、可以参考 C2000Ware ePWM driverlib 示例以获取更深入的见解: C:\ti\c2000\C2000Ware_5_04_00_00\driverlib\f2837xd\examples\cpu1\ePWM

    如果您有其他问题、敬请告知。