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.

[参考译文] QCPRDLAT 返回0xFFFF

Guru**** 2447550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/889212/qcprdlat-returns-0xffff

器件型号:TMS320F28375D

工具/软件:Code Composer Studio

我正在尝试使用 UPEVNT 和 QCPRDLAT 检查脉冲之间的时间。

设置如下:
===================================================================================================
GpioCtrlRegs.GPAQSEL2.bit.GPIO20 = 2;//将 GPIO20与 SYSCLK 6样本同步(EQEP1A)
GpioCtrlRegs.GPAQSEL2.bit.GPIO21 = 2;//将 GPIO21与 SYSCLK 6样本同步(EQEP1B)
GpioCtrlRegs.GPAQSEL2.bit.GPIO23 = 2;//将 GPIO23与6个 SYSCLK 采样同步(EQEP1I)

EQep1Regs.QDECCTL.bit.QSRC = 00;    //正交计数模式
EQep1Regs.QEPCTL.bit.free_soft = 2;
EQep1Regs.QEPCTL.bit.PCRM = 01;

EQep1Regs.QUPRD = 3125;            // 125us
EQep1Regs.QEPCTL.bit.UTE=1;        //单元定时器使能
EQep1Regs.QEPCTL.bit.QCLM=1;       //锁存单元定时器
EQep1Regs.QCAPCTL.BIT.UPPs=2;      // 1/4表示单元位置
EQep1Regs.QPOSMAX = 0x0000FFFF;    //最大位置= 0xFFFF

EQep1Regs.QCAPCTL.bit.CCPS = 3;
EQep1Regs.QCAPCTL.bit.CEN = 1;//启用 QEP 捕捉
EQep1Regs.QEPCTL.bit.QPEN = 1;// QEP 被启用
===================================================================================================

检查此设置可能会返回 QCPRDLAT = 0xFFFF。
此时、EQep1Regs.QEPSTS.bit.COEF 为0。

该 eQEP 会检查电机脉冲、电机正在开发中、
因此、运行不稳定、并且它不处于一个方向正确旋转的状态。
在这种情况下、返回0xFFFF 的条件是什么?

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

    您好!

    在上述配置下、当 QCPRDLAT 返回0xFFFF 时、我想不到任何情况。

    您是否可以记录所有寄存器、QPOSCCNT、QCTMR、QCPRD、QCPRDLAT、 QCTMRLAT、QEPSTS 在特定时间间隔内持续运行?

    QEPA 和 QEPB 的频率是多少? 索引事件发生的频率如何?

    此致、

    Nirav

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Data.xlsx 和 osiilo 图像 已附加。
    数据每125uec 采集一次、电机旋转一次。 "16384脉冲"。
    AB 波在某种情况下不会交替出现、因为它正在开发中。

    由于它以100RPM 的转速旋转、QPOSCNT 预计为+-3.4。
    由于未使用 QEPI、因此不会在此处输出。
    3 = QEPA。 4 = QEPB。
    AB 波在某种情况下不会交替出现、因为它正在开发中。
    此致。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我查看了附加的 xlsx 数据、根据该数据、看起来两个 UPEVENT 之间发生了方向变化、因此 QCPRDLAT 被复位为值0xFFFF、并且 QEPSTS.CDEF 也被置位。

    下面的行在《技术参考手册》中缺失、我们将在下一个版本中进行更新。

    '如果 QEP 捕捉定时器在单元位置事件之间溢出、那么它会将状态寄存器中的 QEP 捕捉溢出标志(QEPSTS:COEF)置1、并且 QCPRDLAT 寄存器设置为0xFFFF。 如果在单元位置事件之间发生方向变化、则状态寄存器(QEPSTS:CDEF)中的错误标志置1、QCPRDLAT 寄存器设置为0xFFFF。"

    此致、

    Nirav