工具/软件:CCS
您好:
我正在为电机控制项目实施速度计算及其相关保护。 我的 eQEP 的初始化如下:
EQep1Regs.QDECCTL.bit.QSRC = 0;//位置计数器源选择-正交计数模式
EQep1Regs.QEPCTL.bit.FREE_SOFT = 0;//位置计数器和计时器捕获模块在仿真暂停时停止
EQep1Regs.QEPCTL.bit.PCRM = 1;//位置计数器在最大位置复位
EQep1Regs.QPOSMAX = 479;//位置计数器在480个位置(120个时隙)后变为零
EQep1Regs.QEPCTL.bit.QPEN = 1;//启用 eQEP 位置计数器
EQep1Regs.QCAPCTL.bit.cEN = 1;//启用 eQEP 捕捉模块
EQep1Regs.QCAPCTL.bit.UPPS = 2;//5;//单元事件在4个时钟脉冲后设置
EQep1Regs.QCAPCTL.bit.CCP = 7;//捕获计时器时钟通过/128进行预分频
我得到了正确的速度。 但是、我需要实现一些能够检测 eQEP A 和 B 信号是否都来的东西。 因此、如果两个信号都正确、我得到 UPEVNTS 和 QDC 标志保持为0、这就是我的理解(如果我错了、请纠正我)。
但是、如果任何一个信号出现如 A 或 B、而另一个信号缺失、则我仍会收到 UPEVNT (与正常情况相比延迟)、并且 QDC 位变为高电平、这就是我的观察结果。
我有几个与这些相关的问题:
1. DSP 内部的逻辑是什么?如果一个信号丢失,它被实现使 QDC 变为高电平? 它是如何检测到的?
2. QDC 标志保持高电平,如果没有清除(即使异常情况下,它成为高电平消失)。 为什么?
3、QDC 标志变为高电平的时间是多少。 我要说的是、如果我删除一个信号、另一个信号仍然存在、那么 DSP 会在多时采取将 QDC 标志置为高电平的操作。 它基于 QCLK 或 UPEVNT 还是什么是时间瞬间?
4、QDC 信号变高是否与电动机当前的旋转速度有任何关系? 我感觉并观察到,在较高的速度下,我得到 QDC 标志的出现非常频繁,而不是较低的速度,在那里,我得到 QDC 在相当一段时间后高( 请注意 一旦我获得 QDC 高电平、我就会将其清除 为因为它本身并不清晰。 所以下一个 QDC 的外观就是我要问的。)
5、QDC 和 QDF 标志的主要区别是什么。 它们各自的用途是什么?
请注意、我在软件中进行的速度计算不是基于手动中提到的 Δ X/T 或 X/Delta T。
如果有人能回答 并澄清问题、这将对我的项目非常有帮助。
此致、
Prarambhik