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.

[参考译文] TMS320F28335:如何在特定时间后禁用 ePWM 模块

Guru**** 2595800 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1208034/tms320f28335-how-to-disable-epwm-module-after-a-certain-time

器件型号:TMS320F28335
主题中讨论的其他器件:C2000WARE

大家好、我使用 F28335 ePWM 模块作为开环使用 svpwm 方法。 我希望在我指定的一段时间后、三相逆变器的所有开关信号都变为低电平。 为此、当我查看论坛时、有人建议使用跳闸区功能。 但我不太明白如何使用它。 希望您能有所帮助。

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

    尊敬的 Cagdas:

    为了使用 tripzone 模块、您是否参考了我们的 C2000Ware 示例? 您可以从这里开始。

    C:\ti\c2000\C2000Ware_4_03_00_00\device_support\F2833x\examples\EPWM_TRIP_zone  

    要查看使用一次性编程的基本跳闸区域配置、请执行以下代码的初始化。 要查看的主线是 TZCTL.bit.tZA、它将配置发生一次性跳变事件时要执行的操作。 在上面位置的示例中、它将有 GPIO12/13来触发一个单触发条件。

    InitEPwm1Example()
    {
        //
        // Enable TZ1 and TZ2 as one shot trip sources
        //
        EALLOW;
        EPwm1Regs.TZSEL.bit.OSHT1 = 1;
        EPwm1Regs.TZSEL.bit.OSHT2 = 1;
    
        EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_HI;
        EPwm1Regs.TZCTL.bit.TZB = TZ_FORCE_LO;
    
        //
        // Enable TZ interrupt
        //
        EPwm1Regs.TZEINT.bit.OST = 1;
        EDIS;
    
        EPwm1Regs.TBPRD = 6000;                         // Set timer period
        EPwm1Regs.TBPHS.half.TBPHS = 0x0000;            // Phase is 0
        EPwm1Regs.TBCTR = 0x0000;                       // Clear counter
    
        //
        // Setup TBCLK
        //
        EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; // Count up
        EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;        // Disable phase loading
        EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV4;       // Clock ratio to SYSCLKOUT
        EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV4;
    
        EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;    // Load registers every ZERO
        EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
        EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
        EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;
    
        //
        // Setup compare
        //
        EPwm1Regs.CMPA.half.CMPA = 3000;
    
        //
        // Set actions
        //
        EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;            // Set PWM1A on Zero
        EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;
    
        EPwm1Regs.AQCTLB.bit.CAU = AQ_CLEAR;          // Set PWM1A on Zero
        EPwm1Regs.AQCTLB.bit.CAD = AQ_SET;
    }

    此致!

    Ryan Ma

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

    非常感谢。 您是否知道如何在 Simulink 中添加这些代码? 或等效的 Simulink 步骤?

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

    尊敬的 Cagdas:

    很遗憾、我不是 Simulink 的专家。  

    此致!

    Ryan Ma

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

    您好!

    请通过以下链接查看 MathWorks 常见问题解答:

    如果您还有其他问题、获取有关 MathWorks 产品支持的最佳方式是 联系 MathWorks 现场技术支持。

    您还可以在 MATLAB Answers C2000论坛上搜索答案或发布问题。 此外、还在 "文档 和 示例"中提供了有关 MathWorks 支持 C2000的信息

    我将在此处关闭该主题、因为该软件由 MathWorks 团队在他们的论坛上提供支持。

    此致、

    Omer Amir

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

    感谢您的回复、但我无法获得 MathWorks 现场技术支持。   这些?

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

    您好 Cagdas、

    您可以在此处发布问题:

    您无法在 MATLAB 帐户中发布问题吗?

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

    不可以、但是 MathWorks 论坛系统不像这个论坛。 一般情况下、没有人回答问题。  

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

    是的、我建议使用创建服务请求选项、联系 MATLAB 支持是获得问题答案的最佳方式。

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

    谢谢、我使用了、我希望得到答案