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.

[参考译文] TIDM-DC-DC-BUCK:C2000微控制器论坛

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1435081/tidm-dc-dc-buck-c2000-microcontrollers-forum

器件型号:TIDM-DC-DC-BUCK
主题中讨论的其他器件:BOOSTXL-BUCKCONVSysConfig

工具与软件:

你(们)好

我将学习如何对 C2000进行编程以控制评估板  BOOSTXL-BUCKCONV。 我当时学习的是 BUCK-F28004x 的代码、发现有一个 器件很难理解。 在函数中

 BUCK_HAL_setupSyncBuckPwm ();

有一个函数将被调用

EPWM_setCounterCompareShadowLoadMode (BUCK_DRV_EPWM_BASE、
epwm_counter_compare_A、
EPWM_COMP_LOAD_ON_CNTR_PERIOD);

我理解它的作用,但我的问题是:我如何决定是否使用 LOADAMODE = 0、1或2 ? 我的理解是 COMPA 寄存器会在占空比开始时或之后更新 TBCTR = TBPRD 、在下一周期中将更新计数器。

的说明 电压模式控制 、代码使用 0x01 . 为什么不呢 0x00 例如? 绝对最大值 峰值电流模式控制 、我是否应该使用 0x00 因为计数器需要立即更新?

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

    尊敬的 Andres:

    选择 LoadMode 时需要考虑不同因素、包括控制模式、ISR 触发器和控制周期。  

    对于该工程、在 TBPRD 和零处复位几乎相同、因为 PWM 配置为向上计数模式、只要 TBCTR 达到 TBPRD、它就会复位回零。  

    对于峰值电流模式控制、我们不使用 PWM 比较模块来控制 PWM 的占空比。 相反、CMPSS 模块用于将 ILFB 与代码中配置的某个内部 DAC 值(开环中为静态值、闭环中为变量值)进行比较、因此 Load Mode 不会起作用

    此致、

    Peter

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

    好的、我看到了。 因此、大多数使用电压模式控制的应用不会产生影响  LOADAMODE = 0或1 . 您能否提供一个加载模式何时很重要的示例(如果可能)? 因为我不明白为什么两者之间有一个选项   TBCTR = TBPRD 或   TBCTR = 0 如果最后、CompA 的行为完全相同

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

    尊敬的 Andres:

    当 PWM 计数器配置为向上/向下双向计数模式时、负载模式会产生影响。 在此模式下、PWM 计数器将递增到 TBPRD。 之后、它将递减至零。 在这些情况下、您可能需要根据 PWM 周期中的哪个点来更改负载模式、从而确保在多个周期内保持一致的运行。 请参阅下面的图表、其中展示了这种情况

    此致、

    Peter

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

    你(Peter)好。  

    我正在阅读 Deadband 部分、有两个问题。 如果他们想要启用需要的高电平有效互补(AHC) PWMDBCTL->OUT_MODE = 0x11、为什么他们调用该函数两次而不是0x11直接传递该值?

    下降沿带延迟输入 、他们设置DBCTL->DEB_MODE = 0。 根据说明、这意味着上升沿延迟将仅适用于 A 信号路径、下降沿延迟将适用于 B 信号路径。 但如果是 AHC、那么上升沿和下降沿(A 和 B 信号)应该都有延迟、对吧? 否则、如果只有 B 在下降沿有延迟、而 A 在上升沿有延迟、则 A 的下降沿和 B 的上升沿都将出现问题、因为这两个都没有延迟。

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

    尊敬的 Andres:

    为什么他们调用该函数两次而不是0x11直接传递值

    如果直接写入寄存器、可以直接传递11、但鉴于 DriverLib 库的结构方式、代码要求单独设置每一位。 如果您使用的是 SysConfig、则高电平有效互补快捷方式将自动为您配置 DB 寄存器。

    根据说明、这意味着上升沿延迟将仅适用于 A 信号路径、下降沿延迟将适用于 B 信号路径。 但是、如果我有 AHC、则上升沿和下降沿(A 和 B 信号)都应该具有延迟、对吧?

    在 AHC 模式下、A 桥臂被复制到 B 桥臂并反转。 在这种情况下、他们已将上升沿和下降沿配置为影响 A 桥臂、这样他们就可以控制两侧。 由于 B 未使用、因此无需为 B 侧配置 FED 或 RED

    此致、

    Peter