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.

[参考译文] TMS320F28377D:HRPWM 输出 A 和 B 与死区互补

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/711050/tms320f28377d-hrpwm-output-a-and-b-are-complementary-with-deadband

器件型号:TMS320F28377D

您好!

我使用 TI 28377D Delfino 来驱动  具有高开关频率的同步降压转换器的 FET、因此需要高分辨率模式。 我知道该器件上的输出 B 能够实现高分辨率、但 是否可以生成依赖于具有一定死区的高分辨率输出 A 的高分辨率输出 B? 基本上 、我需要对输出 A 进行高分辨率占空比控制、并生成 B 作为 A 的高电平有效补偿、具有固定死区。  

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

    我认为这是可能的依据:
    e2e.ti.com/.../654568
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Devin、

    感谢您的快速回复! 您引用的线程中的答案使我感到困惑、并且未明确输出 B 是否可以同时依赖于 A 和高分辨率。 我了解到 HR 在死区模块之后应用、因此输出 B 只有在独立于 A 时才能具有高分辨率?

    我在设置中观察到、输出 A 按预期以高分辨率运行。 输出 B 设置为输出 A 的高电平有效、与输出 A 互补、具有10ns 死区、不像输出 A 那样高精度地移动、即改变占空比有一点会移动 A 的下降沿、但根本不会改变 B。 我想知道我的设置中是否缺少某些内容、或者在依赖于具有死区的 A 时、输出 B 是否意味着不具有高分辨率。

    以下是我的 PWM 设置:

    EPwm2Regs.TBCTL.bit.PRDLD = TB_Immediate;
    EPwm2Regs.TBCTL.bit.CTRMODE = 0; //向上
    EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
    EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV1;

    EPwm2Regs.TBPRD = 39;
    EPwm2Regs.AQCTLA.bit.ZRO = AQ_SET;
    EPwm2Regs.AQCTLA.bit.CAU = AQ_CLEAR;
    EPwm2Regs.CMPA.bit.CMPA = 0;

    EPwm2Regs.DBCTL.bit.HALFCYCLE = 1;
    EPwm2Regs.DBCTL.bit.OUT_MODE = DB_FUL_ENABLE;
    EPwm2Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;
    EPwm2Regs.DBFED.bit.DBFED = 2;
    EPwm2Regs.DBRED.bit.DBRED = 2;

    EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
    EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
    EPwm2Regs.HRCNFG.ALL = 0x0;
    EPwm2Regs.HRCNFG.bit.CTLMODE = HR_CMP;
    EPwm2Regs.HRCNFG.bit.EDGMODE = HR_FEP;
    EPwm2Regs.HRCNFG.bit.HRLOAD = HR_CTR_ZERO;
    EPwm2Regs.HRCNFG.bit.SELOUTB = HR_NORM_B;
    EPwm2Regs.HRCNFG.bit.AUTOCONV = 1;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Olga、

    请多多包涵、因为 HRPWM 的主要所有者不在办公室。

    根据 TRM 中的"15.2.5死区高分辨率运行"部分、有一个注释:

    "就像使用 HRPWM 时的占空比限制一样、DBRED 和 DBFED 值
    必须大于3才能使用高分辨率死区。"

    我读出此值是因为死区值需要至少为3 (半个周期?) 为了使 HR 死区正常工作、您可能需要尝试将 DBFED 和 DBRED 增加到至少3。

    我认为您还需要在中启用 HR Deadband
    HRCNFG2.bit.EDGMODEDB=2;//10:下降边沿的 MEP 控制(CMPAHR)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Olga、

    有没有幸运、或者我们需要进一步调查吗?