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.

[参考译文] CCS/TMS320F2.8027万:PWM问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/572976/ccs-tms320f28027-pwm-issue

部件号:TMS320F2.8027万
主题:controlSUITE中讨论的其他部件

工具/软件:Code Composer Studio

您好,

我目前正在使用ADC通过PWM工作。 我激活了两个具有相同初始化的PWM。但我在epwm1a和epwm2a之间得到了一点相移。如何消除这种情况,因为我的要求是两个ePWM都应该具有相同的波形。

请帮助

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

    您好,Madhuri,

    Madhuri Depuru 说:
    请帮助[/QUOT]

    请尝试以下操作:

    EALLOW;
    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; //禁用TBCLK直至ePWM配置
    EDIS;
    
    //ePWM1配置
    //ePWM2配置
    
    
    EALLOW;
    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; //在ePWM配置后启用TBCLK
    EDIS; 

    此致,

    Gautam

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

    您好Gautam:

    我想我已经将该部分纳入了我的计划,但我仍然无法获得结果。 我正在将PWM部分纳入计划。请帮助。

    void InitEPwm1()

       clk_disableTbClockSync(myClk);
       clk_enablePwmClock (myClk,PWM_Number_1);
       GPIO设置上拉(myGpio,GPIO编号_0,GPIO _上拉_禁用);
       GPIO设置上拉(myGpio,GPIO编号_1,GPIO _上拉_禁用);
       GPIO设置模式(myGpio,GPIO编号_0,GPIO _0_Mode_EPWM1A);
       GPIO_setMode (myGpio,GPIO编号_1,GPIO _1_Mode_EPWM1B);
       PWM_setSyncMode (myPwm1,PWM_SyncMode_EPWMxSYNC)
       PWM_enableCounterLoad (myPwm1);

       //设置相位
      /* PWM_setPhase (myPwm1100);
       PWM_setPhase (myPwm1200);
       PWM_setPhase (myPwm1300);*/

       PWM_setPeriod (myPwm1,PWM1_TIMER_TBPRD);
       PWM_setCounterMode (myPwm1,PWM_CounterMode_up);        //计数
       PWM_setIntMode (myPwm1,PWM_IntMode_CounterEqualZero);  //在零事件中选择INT
       PWM_enableInt (myPwm1);                                 //启用INT
       PWM_setIntPeriod (myPwm1,PWM_IntPeriod_FirstEvent);    //在第一个事件上生成INT

       PWM_setActionQual_Period_PwmA (myPwm1,PWM_ActionQual_Set);
       PWM_setActionQual_CntUp_CmpA_PwmA (myPwm1,PWM_ActionQual_Clear);


       PWM_setActionQual_Period_PwmB (myPwm1,PWM_ActionQual_set);
       PWM_setActionQual_CntUp_CmpA_PwmB (myPwm1,PWM_ActionQual_Clear);

      clk_enableTbClockSync(myClk);
     // EPwm3Regs.DBCTL.bit.out模式= DB_FULL启用;
      //EPwm3Regs.DBRED = 50;
     // EPwm3Regs.DBFED = 100;
    }

    void Initepwm3()

       clk_disableTbClockSync(myClk);
       clk_enablePwmClock (myClk,PWM_NUMBER_3);
       GPIO设置上拉(myGpio,GPIO编号_4,GPIO _上拉_禁用);
       GPIO设置上拉(myGpio,GPIO编号_5,GPIO _上拉_禁用);
       GPIO设置模式(myGpio,GPIO编号_4,GPIO _4_Mode_EPWM3A);
       GPIO设置模式(myGpio,GPIO编号_5,GPIO _5_Mode_EPWM3B);
        //设置同步
       PWM_setSyncMode (myPwm3,PWM_SyncMode_EPWMxSYNC);
     // PWM_setSyncMode (myPwm2,PWM_SyncMode_EPWMxSYNC);
       PWM_enableCounterLoad (myPwm3);
       

       PWM_setPeriod (myPwm3,PWM3_TIMER_TBPRD);
       PWM_setCounterMode (myPwm3,PWM_CounterMode_Up);          
       PWM_setIntMode (myPwm3,PWM_IntMode_CounterEqualZero);    
       PWM_enableInt (myPwm3);                                   
       PWM_setIntPeriod (myPwm3,PWM_IntPeriod_FirstEvent);    

      PWM_setActionQual_Period_PwmA (myPwm3,PWM_ActionQual_set);
      PWM_setActionQual_CntUp_CmpA_PwmA (myPwm3,PWM_ActionQual_Clear);


       PWM_setActionQual_Period_PwmB (myPwm3,PWM_ActionQual_set);
       PWM_setActionQual_CntUp_CmpA_PwmB (myPwm3,PWM_ActionQual_Clear);
       clk_enableTbClockSync(myClk);

    }

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

    Madhuri Depuru 说:
    我想我已经将该部件纳入了我的计划[/QUOT]

    不是你没有采纳我的建议!

    clk_disableTbClockSync(myClk);
    
    InitEPwm1();
    InitEPwm2();
    InitEPwm3();
    
    clk_enableTbClockSync(myClk); 

    请按上述步骤每次启用和禁用时钟同步。

    此致,

    Guatam

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

    我做到了。还是一样的反应

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

     结果如下

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,我不确定您的方面发生了什么,这个项目运行得非常好:C:\ti\controlSUITE\DEVICE_SUPPORT\F2802x\v230\F2802x_Examples_stracts\ePWM_UP_AQ</s>2802
    这就禁用了连续的工作变化。

    此致,
    Gautam