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.

[参考译文] TMS320F28377D:关于 F28377D 的 QPOSCNT 寄存器

Guru**** 2534260 points
Other Parts Discussed in Thread: TMS320F28377D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/690010/tms320f28377d-about-qposcnt-register-of-f28377d

器件型号:TMS320F28377D

我对 F28377D 的 QPOSCNT 寄存器有问题。  使用 TMS320F28377D 进行多电机控制时遇到此问题。

相同 的电机控制算法在 CPU 1和 CPU 2上运行。 当在 CPU 2中读取 QPOSCNT 时、QPOSCNT 有时将为0或 QPOSMAX。 结果是算法的过冲会导致系统过流保护、并且在调整过程中偶尔会发生多次抖动。

此外  、在该项目的早期阶段、当将 eqep1regs.qlg.bit.IEL 读作1时、QPOSCNT 不能初始化为0。 这种现象的发生概率非常高。

TI 工程师可以帮助回答有关 QPOSCNT 的问题?

谢谢、此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有人很快就会回来。 感谢您的耐心等待。

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

    我不理解您的问题1。

    在#2上、当您尝试将 QPOSCNT 初始化为0时、QEPCTL.QPEN=1? 如果位置计数器被启用、则 QPOSCNT 寄存器将作为"只读"运行、您无法对其进行写操作。 请参阅 TRM 中有关 QPOSCNT 寄存器的注释。

    此致、
    Nirav
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢你 Nirav。
    大约#1、意思是 QPOSCNT 本身有时会变为0或 QPOSMAX。
    关于#2、下面是我读取 QPOSCNT 的代码。 这是 TI 的 IDDK 示例。 当 EQep1Regs.QDL.bit.IEL = 1时,我们读取 QPOSCNT 不为0。 方式?
    下面是 IDDK 的 QEPCTL 配置示例。
    QEPCTL_INIT_STATE (QEP_emulation_free +\
    PCRM_INDEX +\
    IEI_DISABLED +\
    IEL_Rising +\
    QPEN_ENABLE +\
    QCLM_TIME_OUT +\
    ute _enable)


    if (EQep1Regs.QFLG.bit.IEL == 1)//检查索引的出现情况

    qep1.CalibratedAngle=EQep1Regs.QPOSILAT;
    //EQep1Regs.QPOSIINIT = EQep1Regs.QPOSILAT;//新建
    //EQep1Regs.QEPCTL.bit.IEI = IEI_Rising;//新建
    lsw = 2;
    }//保持锁存位置。 第一个索引
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Milo、

    此问题是否已解决? 如果是、请关闭此帖子。

    此致、
    Nirav