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/TMS320F28377S:PWM#39;s 问题

Guru**** 2482225 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/749286/ccs-tms320f28377s-pwm-s-problem

器件型号:TMS320F28377S
Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

您好!

我使用以下链接代码

C:\ti\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00

我将此项目导入到我的 CCS 工具中、当我在调试器模式下运行此项目时、我首先给出 ENABLE 标志== 1、然后 ISR 正在调用(我使用 IsrTicker 变量进行了检查)、但 PWM 不会出现。

对于 PWM、我将使用 GPIO 的0、1、2、3、4、5作为 ePWM 模式。

一段时间后、我知道(例如软件跳闸即将到来) HVDMC_Protection 函数  

Lem_curHi = 2048 + LEM (curLimit);
   Lem_curLo = 2048 - LEM (curLimit);
   cmpssConfig (&cmpss1Regs、LEM_curHi、LEM_curLo); //启用 CMPSS1 - LEM V
   cmpssConfig (&cmpss3Regs、LEM_curHi、LEM_curLo); //启用 CMPSS3 - LEM W

在这些行执行后、所有 ePWM 寄存器 TZFLG 为高电平、即 A1任务中低于1的函数正在调用

IF (EPwm1Regs.TZFlG.bit.OST ||
      EPwm2Regs.TZFlG.bit.OST ||
      EPwm3Regs.TZFlG.bit.OST
     )
   {
      //如果设置了任何 EPWM 的 OST,则强制 OST 在全部三个上禁用逆变器
      EALLOW;
       EPwm1Regs.TZFRC.bit.OST = 1;
       EPwm2Regs.TZFRC.bit.OST = 1;
       EPwm3Regs.TZFRC.bit.OST = 1;
      EDIS;
      TripFlagDMC = 1;     // DMC 上的跳闸(HALT 和 IPM 故障跳闸)
      RunMotor = 0;
   }

因此、我了解的是、如果上述函数被称为自动跳闸、则会检测到 PWM 不启用

我不知道为什么只有在构建级别1中发生这种情况、在该级别上没有电流感应 ADC'c

实际上、我尝试了很多方法、但如果我将这些下面的行放入 HVDMC_Protection 中、则没有结果

Lem_curHi = 2048 + LEM (curLimit);
   Lem_curLo = 2048 - LEM (curLimit);
   cmpssConfig (&cmpss1Regs、LEM_curHi、LEM_curLo); //启用 CMPSS1 - LEM V
   cmpssConfig (&cmpss3Regs、LEM_curHi、LEM_curLo); //启用 CMPSS3 - LEM W

那么、PWM 正在调用、实际上这是我认为不正确的方式

对于构建、1级只是 PWM 的检查、但它正在创建 promblem

我不知道函数为什么仅在1级中产生问题

我也不知道这个函数   cmpssConfig (&cmpss3Regs、LEM_curHi、LEM_curLo)是什么; //启用 CMPSS3 - LEM W

硬件正常、我使用电机和不使用电机测试此情况、我知道在构建1中不需要电机

我没有更改该项目中的任何值

请帮帮我

谢谢你

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

    您好!

    已将这一问题通知有关专家。

    请注意、这是美国的感恩节周、大多数 TI 工程师都不在。

    请预计下周初收到延迟的回复。

     

    此致、

    Sudhakar

    ------------------------------------------------------

    如果帖子回答了您的问题、请使用 "验证答案" 按钮进行标记。

    其他有用链接:

    C2000入门     C2000闪存常见问题/常见问题      仿真常见问题解答

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

    PWM 输出似乎由于系统中的一个比较器检测到跳闸条件而跳闸。
    cmpssConfig 函数使用您的代码中编程的电平配置片上比较器。
    这反过来会生成一个到 PWM 模块的跳闸信号并关闭 PWM 输出。
    不需要为此目的进行电流感应/ADC 配置。
    仅配置比较器即可生成跳闸条件并关闭 PWM。