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.

[参考译文] TMS320F28379D:实现电源的控制逻辑

Guru**** 2589275 points
Other Parts Discussed in Thread: TIDM-02000, TIDM-DC-DC-BUCK, C2000WARE-DIGITALPOWER-SDK

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1101886/tms320f28379d-implement-control-logic-for-power-supply

器件型号:TMS320F28379D
主题中讨论的其他器件:TIDM-DC-DC-BUCKTIDM-02000

您好、团队正在为客户寻求一些信息

尝试实现 F28379D 模拟比较器模块中可用的内置斜坡补偿块。 我不确定如何选择 RAMPDECVALS 和 RAMPMAXREFS 寄存器的值。 根据我的理解、RAMPMAXREF 的值等于基准电流值、RAMPDECVALS 等于斜坡的幅度。 由于参考手册中对这些器件的解释不清楚、我无法正确理解这些器件。 因此、如果您可以提供一些有关它的参考资料、这将对我非常有帮助。

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

    Mark、您好!

    您的理解是正确的。 您应该将外部电压/电流环路的输出编程到  RAMPMAXREFS、RAMPMAXREFS 是斜坡补偿的起点、然后将斜率编程到 RAMPDECVALS 寄存器。

     如果您使用降压转换 器、则可以参阅 TIDM-DC-DC-BUCK;如果您使用 C2000WARE-DIGITALPOWER-SDK 中的相移全桥拓扑、则可以参阅 TIDM-02000、以获取使用 CMPSS 实施 PCMC 的参考配置。 谢谢。

    韩文

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

    您好、Han、  

     F2837x 器件具有4类 PWM、从图中可以看出、使用动作限定符子模块时、在未使用跳闸区域模块的情况下会生成 ePWM 波形图(如果我错了、请纠正我的错误)。 但是、当他们尝试在硬件中实现它时、它无法正常工作。 我还遵循以下信息进行实施。


    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/780463/tms320f28379d-how-to-use-pwm-t1-t2-signals-to-force-pwm-outputs-without-triggering-tripzone-action


    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcont


     我们已附上 ePWM 模块代码供您观察。

    codes:
    void InitEPwm6Example()
    {
    EALLOW;
    EPwm6Regs.TBCTL.bit.PRDLD = TB_SHADOW;
    EPwm6Regs.TBCTL.bit.CTRMODE =TB_COUNT_UP;
    EPwm6Regs.TBPRD = EPWM6_TIMER_TBPRD;
    EPwm6Regs.TBCTL.bit.PHSEN = TB_DISABLE;
    EPwm6Regs.TBPHS.bit.TBPHS = 0x0000;
    EPwm6Regs.TBCTR = 0x0000;
    EPwm6Regs.TBCTL.bit.CLKDIV = TB_DIV1;
    EPwm6Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
    EPwm6Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
    EPwm6Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
    EPwm6Regs.DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;
    EPwm6Regs.DBCTL.bit.POLSEL = DB_ACTV_HIC;
    EPwm6Regs.DBFED.bit.DBFED = 0;
    EPwm6Regs.DBRED.bit.DBRED = 0;
    EPwm6Regs.AQCTLA.bit.ZRO = AQ_SET;
    EPwm6Regs.AQTSRCSEL.bit.T1SEL = 1;
    EPwm6Regs.AQCTLA2.bit.T1U =0x1;
    EPwm6Regs.TZSEL.bit.DCAEVT2 = 0;
    //EPwm6Regs.EPwm6Regs.DCACTL.bit.EVT2SRCSEL =1;
    EPwm6Regs.DCACTL.bit.EVT2FRCSYNCSEL =1;
    EPwm6Regs.DCFCTL.bit.SRCSEL = 1;
    EPwm6Regs.DCFCTL.bit.BLANKE = 1;
    EPwm6Regs.DCFCTL.bit.BLANKINV = 0;
    EPwm6Regs.DCFCTL.bit.PULSESEL = 1;
    //EPwm6Regs.TZCTL2.bit.ETZE=1;
    //EPwm6Regs.TZCTL2.bit.TZAU=2;
    EPwm6Regs.TZCLR.bit.CBCPULSE=1;
    EPwm6Regs.TZCLR.bit.INT = 1;
    EPwmXbarRegs.TRIP4MUX0TO15CFG.bit.MUX0 = 0;
    EPwmXbarRegs.TRIP4MUXENABLE.bit.MUX0 = 1;
    // EPwm6Regs.DCFOFFSET = EPWM6_BLANK_WND_OFFSET;
    // EPwm6Regs.DCFWINDOW = EPWM6_BLANK_WND;
    EPwm6Regs.ETSEL.bit.INTSEL = 1;//ET_CTR_ZERO; // Select INT on Zero event
    EPwm6Regs.ETSEL.bit.INTEN = 1; // Enable INT
    EPwm6Regs.ETPS.bit.INTPRD = ET_1ST; // Generate INT on 3rd event
    EDIS;
    }TZCTL.bit.TZA= 2;
    EPwm6Regs.TZDCSEL.bit.DCAEVT2 = 2;
    

    谢谢你。

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

    Mark、

    我首先建议您将比较器输出路由到 GPIO 引脚、并通过将该信号和峰值电流反馈放在同一示波器屏幕上、确保在所需的时间发生比较器跳闸。 这可以通过输出 XBAR 来实现。  

    验证 CMPSS 是否按预期工作后、您可以检查 ePWM DC 和 AQ 设置(与 TIDM 代码进行比较)以确保 PCMC 逻辑正常工作。 谢谢。

    韩文

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

    Mark、您好!

    此主题是否有任何更新或其他问题? 谢谢。

    韩文