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.

[参考译文] TMS320F280049M:全局重新加载

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/608148/tms320f280049m-global-reload

器件型号:TMS320F280049M

您好!  

我对 F280049的全局重新加载有一些疑问。

下面是需要为全局重新加载设置序列的内容。  

GLDCTL.GLD=1 全局重新加载启用
GLDCTL.GLDMODE=0  CNT_ZERO(设置时序)
GLDCTL.OSHTMODE=1单次触发模式使能
GLDCFG              选择由全局重新加载设置的寄存器。

 在 GLDCTL2 PWM 寄存器后、Δ V。OSHTLD=1

在中、对于循环、除非 GLDCTL2.OSHTLD = 1被置位、否则新的 PWM 寄存器设置不会重新加载到活动状态。 对吧?

恰好在  GLDCTL2.OSHTLD = 1后、PWM 寄存器设置立即重新加载。 对吧?

3.如果使用 GLDCTL2 Ω.gFRCLD=1、应将什么值设置为 GLDCTL.OSHTMODE?  它是1吗?

 

此致、

Furuya

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

    以下是您的问题的答案:

    1) 1)正确。 当全局加载处于单次触发模式时、配置的影子到活动加载将在 OSHTLD 设置后的下一个加载事件之前生效。

    2) 2)不一定。 加载事件是可配置的。 看看 GLDCTL[GLDMODE]。 在设置 OSHTLD 后、当所选事件发生时、新设置将发生事件。

    3) 3)在这种情况下、应设置 GLDCTL[GLDMODE]= 1111:在 GLDCTL[GLDFRCLD]写入上加载。 如果处于单次触发模式、则在使用 GLDFRCLD 之前仍应设置 OSHTLD。

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

    感谢您的回答。
    对于3)、是否应在 GLDFRCLD 设置为 GLDMODE = 1111之前设置 OSHTLD?
    我认为在 OSHTLD 被置位前、GLDFRCLD 和 GLDMODE = 1111应该被置位。 请告诉我在设置 GLDFRCLD 之前应设置 OSHHTLD 的原因。

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

    您好、Kris、

    其他问题。 设置顺序的设置。

    ===================================================================================================

    GLDCTL.GLD=1 全局重新加载启用

    GLDCTL.GLDMODE=0  CNT_ZERO(设置时序)

    GLDCTL.OSHTMODE=1单次触发模式使能

    GLDCFG              选择由全局重新加载设置的寄存器。

     在 GLDCTL2 PWM 寄存器后、Δ V。OSHTLD=1

    ===========================================================================================================

    如果开关频率为100kHz、控制环路为300kHz、则 CLA 处理在一个软件周期内最多完成3次。

    在本例中、CLA 在第一个和第二个 CLA 处理循环中设置 OSHTLD。

    然后、如果在一个 SW 周期内设置 PWM 寄存器后未设置第三个 OSHTLD、那么我认为全局重新加载设置不能反映到下一个 PWM 开关。

    您是否有任何想法或建议的控制方法来避免这种情况?

    此致、

    Furuya

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

    全局重新加载中单次触发模式的一般用途是、仅当您设置 OSHTLD 位时、加载才会生效。 这有助于防止边界条件。 换句话说、在计算完所有更新的 PWM 值并将其写入影子寄存器后、您需要设置 OSHTLD 位。 不过、如果您的唯一负载机制将是 GLDFRC、我不确定它会产生很大的影响。

    我有几个问题:

    -为什么选择 GLDFRC 作为加载方法而不是 TBCTR = 0或另一个周期性事件?
    -在您的示例中、CLA 是否也写入 PWM 寄存器? CPU 对 PWM 执行什么操作? 换句话说、为什么不只是让 CLA 做一切来防止必须管理多个主器件交互?

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

    -为什么选择 GLDFRC 作为加载方法而不是 TBCTR = 0或另一个周期性事件?
    很难解释细节。 这是客户的要求。

    -在您的示例中、CLA 是否也写入 PWM 寄存器? CPU 对 PWM 执行什么操作? 换句话说、为什么不只是让 CLA 做一切来防止必须管理多个主器件交互?
    CLA 用于电源拓扑的控制环路、CPU 执行内部维护任务。

    此致、
    Furuya