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.8035万:CCS/TMS320F2.8035万 PWM控制问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/642906/ccs-tms320f28035-ccs-tms320f28035-pwm-control-question

部件号:TMS320F2.8035万

工具/软件:Code Composer Studio

现在 我可以设置PWM cutter并在AU SET Higt 和DB SET DEAD TIME使用PWM斩波器中使用示例  
快速时间我在AU中设置PWM1设置秒结束时间设置AU清除,但如果我有多个步进无法控制,我需要STEP,我需要控制6个PWM
我不知道如何单独控制输出,控制所有高或所有低 或PWM输出。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我发现我使用DB块,所以不能做任何更改,因为我想让DB不能影响控制PWM,因为我想在传导PWM1 A和PWM 1B打开的同时提供保护
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    用户5.16295938亿,

    我很难理解您的帖子。 我的理解是否正确?

    • 您要单独控制6个PMWS。
      • PWMxA和PWMxB必须具有相同的频率。
        • 这是由EPwmxRegs.TBPRD设置的。
      • PWMxA和PWMxB 可以有不同的职责。
        • 这可由CMPA或CMBB以及AQCTLA或AQCTLB控制。
      • PWM1和PWM2可以具有不同的频率。  
        • 这可以通过 将EPwm1Regs.TBPRD和 EPwm2Regs.TBPRD设置为不同的值来实现。

    • 您希望能够将所有PWM设为高或所有PWM设为低。
      • 您应查看跳闸区域子模块。
      • 跳闸区域子模块可强制所有PWM处于高,低或高阻抗状态。

    如果我没有回答您的问题,请告诉我。

    此致,
    科迪  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PWMxA和PWMxB必须具有相同的频率。 我知道相同的频率
    和快速提问PWM频率
    这是我的套件


    EPwm1Regs.TBPRD = 2000;// period = TBCLK计数
    EPwm1Regs.TBPHS.Halt.TBPHS = 0;//将相位寄存器设置为零
    EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UDOWN;//对称模式
    EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;//主模块
    EPwm1Regs.TBCTL.bit.PRDLD = TB_shadow;
    EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR归零;//同步下流模块
    EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHAME;
    EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADO;
    EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;//在CTR上加载=零
    EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;//在CTR上加载=零

    我认为这个周期是(1/60MHz)*2000*2,对吗? 如何知道PWM我认为示例不会为任何其他设置预移除

    第二个问题我使用PWM斩波器控制占空比
    如果(x=1)

    EPwm1Regs.AQCTLA.bit.ZRO = AQ_CLEAR;
    EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET;
    EPwm1Regs.CMPA.Halt.CMPA = 1000;
    EPwm1Regs.CMBB =1000; //这是我设置的PWM b全部高度
    EPwm1Regs.PCCTL.bit.CHPEN=0;
    EPwm1Regs.PCCTL.bit.OSAHTWTH=15;
    EPwm1Regs.PCCTL.bit.CHPFREQ=3;
    EPwm1Regs.PCCTL.bit.CHPDUTY=3;
    }
    否则,如果(x=2)

    EPwm1Regs.AQCTLB.bit.ZRO = AQ_CLEAR;
    EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET; //此选项将PWM设置为高度并获得占空比
    EPwm1Regs.CMPA.Halt.CMPA = 1000;
    EPwm1Regs.CMBB =1000;
    EPwm1Regs.PCCTL.bit.CHPEN=1;

    }
    我使用此控制职责这是对的? 有其他的注册更好的控制和数据库设置是好的,因为我不使用CAU或CBU更改状态没有红色FED
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    用户5.16295938亿,

    在你的帖子中有很多内容,我从你的帖子中抽出问题和陈述,并尽我最大的努力来回答这些问题和陈述。

    • 我认为这个周期是(1/60MHz)*2000*2,对吗?
      • 是的,假设您的SYSCLK频率为60MHz。
    • 如何知道PWM我认为示例不会为任何其他设置预移除
      • 很抱歉,我不理解这句话。   
    • 第二个问题我使用PWM斩波器控制占空比
    • 我使用此控制职责这是对的?
      • 控制占空比的最简单方法是使用比较寄存器CMPA,CMBB等
    • 有其他的注册更好的控制和数据库设置是好的,因为我不使用CAU或CBU更改状态没有红色FED
      • 我不确定我是否完全理解这个问题。 但是,如果您要在信号中添加死区,则可以通过配置红色并输入来轻松完成此操作。 您应该阅读2.5 “死带发生器(DB)子模块”一节,它说明了如何配置死带。

    此致,
    科迪