位置计数器的值可以用不同的方式来捕获。在一些应用中,位置计数器是工作在连续累计方式。在另外一些应用中,位置计数器在每次旋转一圈结束后都重新设置。位置计数器配置为以下4种工作模式:
①位置计数器在零位事件发生时重新设置。
②位置计数器在最大位置时重新设置。
③位置计数器在第一个零位事件发生时重新设置。
④位置计数器在超时事件发生时重新没置。
在下面4种模式中,当上溢出时位置计数器复位到0;当下溢出时,位置计数器值为最大位置计数寄存器(QPOSMAX)的值。
(1)位置计数器在零位事件发生时重新设置(控制寄存器QEPCTL的PCRM位为00)
如果零位事件发生在顺时针旋转时,位置计数器将在下一个eQEP脉冲清零。如果零位事件发生在逆时针旋转时,在下一个eQEP脉冲时位置计数器将重新设置为QPOSMAX寄存器的值。零位脉冲边沿后的正交脉冲边沿定义为零位标记,位置计数器的值锁存到零位位置锁存器(QPOSLAT),方向信息记录到状态寄存器(QEPSTS)的QDLF位。当锁存值不等于0或者QPOSMAX寄存器的值时,将置位位置计数器错误标志和错误中断标志,如图9-7所示。
(www.daowen.com)
图9-7 1000线编码器由索引脉冲复位位置计数器(QPOSMAX=3999或0xF9F)
(2)位置计数器达到最大位置时重新设置(控制寄存器QEPCTL的PCRM位为01)
如果位置计数器的值等于最大位置计数寄存器(QPOSMAX)的值,当顺时针旋转时,在下一个eQEP脉冲位置计数器清为0,置位位置计数器上溢出标志;当逆时针旋转时,位置计数器将在下一个eQEP脉冲时设置为最大位置计数寄存器(QPOSMAX)的值,置位位置计数器下溢出标志,如图9-8所示。
(3)位置计数器在第一个零位事件发生时重新设置
当零位事件发生在顺时针旋转时,位置计数器的值存下一个eQEP脉冲将清零。当零位事件发生在逆时针旋转时,位置计数器将在下一个eQEP脉冲置为QPOSMAX寄存器的值。
(4)位置计数器在超时事件发生时重新设置
在这种模式下,位置计数器(QPOSCNT)的值锁存到位置计数锁存器(QPOSLAT)中,位置计数器(QPOSCNT)复位(等于0或取最大位置计数寄存器(QPOSMAX)的值取决于旋转方向编码器控制寄存器QDECCTL的QSRC位),这在频率测量中很有用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。