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.

[参考译文] TMS320F280049:F28004x 器件上的 CBC 特性

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/690356/tms320f280049-cbc-feature-on-f28004x-device

器件型号:TMS320F280049
主题中讨论的其他器件:UCD3138

尊敬的 C2000专家:

我开始评估电源上的 F28004x,现在我想知道 F280049是否支持以下逐周期(CBC)保护功能。

1:CBC 发生时的占空比匹配特性。 我将使用相同的占空比、180度相位来配置 ePWMxA 和 ePWMxB。 这意味着 ePWMxB 落后于 ePWMxA 半个周期。 我需要的是、当 CBC 出现在 ePWMxA 上时、ePWMxB 应该与 ePWMxA 保持相同的脉冲宽度、反之亦然。 如何配置器件以支持此功能?

下面是我想要的波形、CBC 出现在 EPWM1A 上、EPWM1B 应保持与 EPWM1A 相同的脉冲宽度、这是可行的吗?

2、在接收到大量连续 CBC 事件后需要锁存 EPWM、并且 EPWM 应因 CBC 事件而跳闸。

下面的波形显示了我想要的、ePWMxA 应该在连续3个 CBC 事件后被锁存、这是可行的吗?

3.f28003?TRM 中‘基于周期的硬件锁定(同步)相位关系’的含义是什么?

4.‘故障条件下的逐周期跳闸和单次跳闸的可编程跳闸区域分配的含义。’ 在 f2800?trm 中?

谢谢。。。

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

    1)

    这应该是可能的、但我不确定实现这一目标的最佳方法是什么。 可能有以下内容:
    *过流 CBC 跳闸事件通过数字比较(DC)模块路由
    *直流事件导致 ePWM SOC 事件
    * DMA 配置为在 ePWM SOC 事件时触发。 DMA 将 ePWM 时基值复制到比较寄存器、从而使 ePWM1B 切换为低电平。

    2)

    有关在一定数量的 CBC 跳闸后锁存 EPWM 的建议、请参阅以下主题的末尾:
    e2e.ti.com/.../642772

    3)

    这只是意味着硬件可以根据 TBPHS 每个周期强制加载 TBPRD。 这可用于强制两个 ePWM 模块保持某种固定的相位关系。

    请参阅时基(TB)子模块的文档。

    4)

    跳闸区域是可能导致 ePWM 状态变化的事件或故障。

    发生单次触发事件并锁定、直到用户清除。 例如、严重过流事件会清除所有 ePWM、并保持这种状态、直到用户重新启动系统。

    逐周期事件是相似的、但是它们可以由 ePWM 周期的开始或结束(或两者)自动清零。 例如、过流事件会清除 ePWM 阶段、直到 ePWM 时基达到周期匹配

    您可以将不同的事件路由到任一类型的行程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Devin、

    对于#1、您能否为我提供示例代码?

    对于#2、这是我之前在使用固件方法时发布的内容、对于28004x 器件、应该已经进行了大量增强、是否有硬件方法来实现这一点?

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

    尊敬的 Jack:

    1) 1)我们无法编写新代码并将其提供给您、但我将与系统工程师联系、以查看现有的任何电源套件是否具有使用此方法或类似方法的软件。

    2) 2)我认为没有硬件方法来实现这一点。  有事件预分频器、但当事件未发生时、这些预分频器不会复位。  因此、我认为您需要对 ISR 中的连续事件进行计数、如果超出限制、则需要对 SW 跳闸进行计数。   

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

    谢谢、如果您收到了系统工程师的反馈、请通知我。

    如果没有参考代码、我很难获得所需的准确且完整的功能。 我认为这应该是一些直流/直流电源的常见要求、它将帮助其他 F283500用户快速进行设计。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    插孔、

    1.我们没有任何东西可以显示您想要的内容。

    2.为了向您指出一个至少具有某方面的更合适的例子,我有几个问题要问您

    i.在第一个波形上、XA 占空比仅由 CBC 事件确定? 或者、当 CBC 未被触发并且占空比被设定为30%并且 CBC 是一个特殊情况时、是否有一个用例。

    二 如果 XA 占空比由该固定占空比确定,假设30%和 CBC 事件发生在20%占空比上,XB 将是20%或30%???

    我想、如果您可以详细说明 PWM 的正常行为、我们可以向您展示一个更接近的波形生成示例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外,在显示的波形中,XB 永远不会触发 CBC 事件??? 是这样吗? 或者、您不想对其进行计数、即使它确实如此?

    那么、这是否会改变 XA 占空比?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Manish、您好!

    i.在第一个波形上、XA 占空比仅由 CBC 事件确定? 或者、当 CBC 未被触发并且占空比被设定为30%并且 CBC 是一个特殊情况时、是否有一个用例。

    JACK ->否、如果 CBC 未触发、XA 占空比由 COMx 寄存器中编程的占空比决定。 如果 CBC 在 A 的下降沿之前触发、则 CBC 确定占空比、XB 应具有与 XA 相同的脉冲宽度(其中 CBC 触发 XA 拉低)。

    二 如果 XA 占空比由该固定占空比确定,假设30%和 CBC 事件发生在20%占空比上,XB 将是20%或30%???

    JACK -> XB 应为20%。

    三 此外,在显示的波形中,XB 永远不会触发 CBC 事件??? 是这样吗? 或者、您不想对其进行计数、即使它确实如此?

    JACK ->如果 CBC 在 XB 上触发、XA 应具有与 XB 相同的占空比。  

    例如、如果闭环输出为50%占空比、但 CBC 会在30%上触发 XB、则 XA 应为30%。  

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

    Manish、您好!

    TI 的一个器件具有此功能、以下是供您参考的信息。 这种 TRM 称为"占空比匹配"。

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

    感谢您在使用案例中进行额外的分频。

    为了更好地帮助您、您可以针对上述内容具体指定 TRM 和所指的器件。 我在 F280049 TRM 中找不到相同的器件。

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

    它是数字电源控制器 UCD3138。 以下是 TRM 链接:
    www.ti.com/.../sniu028
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以在本手册的第55页找到此信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    插孔、

    我们没有与 UCD 相同的 PWM 模块、

    我必须在内部与我们的团队讨论一些选项、然后返回给您、并了解如何最好地实施您想要运行的内容。

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

    期待您/您的团队提供反馈。 谢谢。。。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    插孔、

    我认为应该可以实现占空比匹配。 C2000 PWM 中没有一种直接的方法来实现它、但我认为它可以通过硬件实现。

    几个问题:

    A) A 和 B 通道之间是否始终存在死区时间?
    b)您可以容忍这两者之间有多大的差异? 对于您的应用而言、几个周期的差异是否很大?
    c)如何设置计数器? 您对非跳闸情况的值进行比较是什么?

    这是我们想到的第一个想法。

    您可以使用与 PWM 计数器同步的计数器来设置 ECAP。 该 ECAP 可通过输入 X-Bar 将 ECAP 连接到与 A 通道相同的引脚、从而检测 PWM 信号的下降沿。 当 ECAP 检测到下降沿时、可以触发 DMA 传输、将 ECAP 计数器值传输到用于 B 通道下降沿的 PWM Compx 寄存器。 如果您能够容忍几个通道之间的变化周期、我认为这很有可能发挥作用。

    有一些" gotchas "需要注意、例如主站资源(CPU、DMA、CLA 访问)。 它还假设 ECAP 计数器值与 PWM 周期所需的值完全相同。 实际上、我会考虑为每个通道使用单独的 ePWM 模块、或为 B 通道使用简单的 APWM。

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

    这是一个很好的建议。 此建议是否包含任何参考代码?

    在我的应用案例中、在非 CBC 跳闸情况下、比较值来自电压环路结果、比较寄存器应由 CPU 和 CLA 写入。 是否有风险?

    以下是我对您问题的回答:
    A) A 和 B 通道之间是否始终存在死区时间?
    插孔:A 和 B 具有180相位度的相同脉宽。 并且两个通道之间应该有一个死区时间。

    b)您可以容忍这两者之间有多大的差异? 对于您的应用而言、几个周期的差异是否很大?
    Jack:ECAP 有多大公差? 我认为+/-20ns 应该是可以的。

    c)如何设置计数器? 您对非跳闸情况的值进行比较是什么?
    插孔:比较值来自非跳闸情况下的电压环路最终输出。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jack:

    可以在 TMS320F28004x 器件上实现具有占空比匹配行为的 CBC。 我几年前就编写了所附文件。 本文档介绍 了当 CBC 事件发生在开关周期的前半个周期时、以及您希望在接下来的半个周期中使用相同的导通时间时、如何实现此目的。 您将需要一个额外的 PWM 资源来执行此操作。 如果希望 CBC 事件在第二个半周期发生时具有相同的行为、并且希望在接下来的半个周期中具有相同的导通时间、则可能需要使用另一个类似的资源。  

    如果您对此有任何疑问/疑虑、请告诉我。

    Hrishi

    e2e.ti.com/.../3678.Half_2D00_bridge_5F00_Charge_2D00_Sec_5F00_balance_5F00_E2E.pdf

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

    我在市场上销售一些 F28004x 硬件。 一旦我有人举手、我就可以尝试一下。 可能会在抵达前几周内完成。

    我认为我的解决方案比原来的解决方案更好、但与此同时、TI 的某个人可能能够提供帮助。

    我想设置一个从 ePWM、其周期与您的系统 PWM 相同、并且始终占空比为50%。 TBCTR=0上的上升沿。 然后、我们可以使用 A 通道的下降沿向从 PWM 发送同步、以将 TBCTR 重新启动至0。 受控 PWM 的下降沿可使系统 PWM 上的 B 通道跳闸。 这种设置不是很简单、它涉及通过 ePWM 和输入 XBAR 进行的大量内部连接、但我对它的工作充满信心。

    您能告诉我们您使用的是哪种封装吗?

    至于您的计数器设置、我正在寻找向上计数、向上向下计数等

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

    Hrishi、您好!

    非常感谢您的帮助。 这是一个绝妙的主意。 您可以为我共享参考代码吗?

    由于下图中使用蓝点线点亮了我的高位、如果没有 CBC 提示、EPWMxB 是否正常? 由于 EPMWyA 连接到 TZTrip、我认为 EPWMXB 将在周期中间跳闸、如何立即恢复该通道?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个问题是、该解决方案适用于固定开关频率电源、如果它适用于 LLC、则开关频率不是固定的、它是否仍然适用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kris、

    非常感谢您的帮助、这真的是一个绝妙的主意。 100引脚将用于我的应用。

    在这种情况下、主从 ePWM 都应在向上计数模式下使用、是吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jack:

    TI 的邮件中包含硬件。 收到后、我将编写一些示例代码。

    您实际上不会使用 CBC。 您需要了解的是操作限定符中的新 T1/T2功能。 这是一种在数字比较事件上更改 PWM 输出而不会实际使 PWM 跳闸的方法。 因此、在发生跳闸的情况下、T1事件会在 A 通道到达下降沿的比较事件之前将其强制为低电平。 该比较事件仍会发生、这一点无关紧要、因为 T1事件已将 PWM 设为低电平。 这也意味着 B 通道不会跳闸、并且上升沿比较事件仍会发生。 在跳闸情况下、T2将在 B 通道下降沿的比较事件之前发生。

    此致、

    Kris

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

    Kris、

    在开始沿着此路径前进之前、请记住、此处的关键要求是在开关周期的下半部分的开关周期中使用导通时间(TRIP/T1/T2事件的结果)。 开关周期的后半部分没有 CBC 事件。 我不认为使用 T1/T2是解决方案。 请参阅上面发布的我的 pdf 文件。

    插孔、

    如果没有 CBC 事件、EPWMxB 将不会跳闸、并将转至编程值。 这在我的图中的前两个开关周期中进行了说明、编程的导通时间等于 D1和 D2。 这是可能的、因为 PWM 时基 y 在跳闸事件上同步。 没有跳闸事件时基 y 仅在 PWMx 周期结束时同步、不会缩短该开关周期中的 PWMxB 导通时间。

    该解决方案适用于固定频率。 它也适用于可变频率、但您必须注意周期和比较寄存器的更新时间和位置。 更新这些值的 ISR 必须与开关周期同步。

    我目前没有可以共享的代码。 我在上一篇文章中介绍的配置就是实现此功能所需的一切。 以这种方式开始配置 PWM 后、如果您需要帮助、请告诉我。

    Hrishi

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

    Hrishi、

    我错过了您之前的回复中的 PDF。 这看起来是一个很好的解决方案、与我的想法非常相似。 如何将 ePWMx 返回到系统中使用的 PWM 中以导致周期的后半部分跳闸? 您是否将其接至引脚并将其路由回 X-BAR?

    在我的解决方案中、我将在周期的后半部分创建 T2事件、PWM 看起来与您建议的类似。 我认为这也可能是 CBC。 他们的一个或两个(T1/T2或 CBC)将起作用、只需进一步了解详情即可尝试。

    此致、

    Kris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、将其连接到引脚。 CBC 或 T1/T2无关紧要。

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

    我可以在不使用额外引脚的情况下执行此操作。 我使用了前面介绍的方法(T1/T2事件创建下降沿、PWM 上占空比为50%)、但我使用的不是 ePWM。 ECAP 的优势是可以通过 ePWM X-BAR 在内部将其路由到 ePWM。

    我也将 ECAP 引入 GPIO 以进行演示、但它可以从 GPIO 中移除、这仍然有效。  我在下面包含了一个波形。 您将看到、随着 A 通道占空比的变化、B 通道在同一 PWM 周期中自动匹配。 在示例代码中、我只是修改 CMPA 以更改 PWMA 的脉冲宽度、但由于 ECAP 正在与 PWM1A 的下降沿同步、因此无论导致下降沿(CMPA、CBC、T1)的原因是什么、这都是有效的。

    该代码实际上是在 F28379D launchpad 上创建的、但该解决方案仍然适用于 F28004x。 您可以将此代码复制到示例项目中、只需进行一些小改动即可开始并运行。

    在 APWM 模式下同步 ECAP 是否存在任何已知的芯片问题? 如果 CTRPHS 大于0 (在本例中、我使用了8)、则部分同步事件丢失或上升沿事件丢失。 您可以在下面的红色框中看到、尽管 PWMA 有下降沿、但 ECAP 仍然缺少脉冲。 它不会影响上面发布的解决方案、因为它在 CTRPHS = 0时工作正常。 但是、似乎需要进一步调查这种情况的发生原因。 您可以通过获取附加的示例代码并更改 ECap1Regs.CTRPHS = 8来复制此代码。

    随附了示例代码。 欢迎访问!e2e.ti.com/.../epwm_5F00_up_5F00_aq_5F00_cpu01.c

    此致、

    Kris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢您在这方面的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的努力。