用例程Example_2806xEqep_pos_speed实验,编码器的ABZ信号中的Z信号来之后,QPOSILAT里会锁存QPOSCNT的值,这是正确的。后测试自己写的程序,QEP配置完全与例程Example_2806xEqep_pos_speed一样,QPOSCNT都能正常计数,但QPOSILAT无法锁存QPOSCNT的值,QEP始终无法检测到Z信号,硬件上完全可以确定ABZ信号都是正确的。有没有哪个寄存器能影响到QEP的INDEX信号,AB都可以,就Z信号没有,这问题搞了几天了,烦呀。
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.
用例程Example_2806xEqep_pos_speed实验,编码器的ABZ信号中的Z信号来之后,QPOSILAT里会锁存QPOSCNT的值,这是正确的。后测试自己写的程序,QEP配置完全与例程Example_2806xEqep_pos_speed一样,QPOSCNT都能正常计数,但QPOSILAT无法锁存QPOSCNT的值,QEP始终无法检测到Z信号,硬件上完全可以确定ABZ信号都是正确的。有没有哪个寄存器能影响到QEP的INDEX信号,AB都可以,就Z信号没有,这问题搞了几天了,烦呀。
你用例程测试的时候自己做了修改的吧,如例程的注释:
The example requires the following hardware connections from EPWM1 and
GPIO pins (simulating QEP sensor) to QEP peripheral.
- GPIO20/eQEP1A <- GPIO0/ePWM1A (simulates eQEP Phase A signal)
- GPIO21/eQEP1B <- GPIO1/ePWM1B (simulates eQEP Phase B signal)
- GPIO23/eQEP1I <- GPIO4 (simulates eQEP Index Signal)
例程是用两个PWM信号模拟AB信号,用GPIO4通过中断模拟Z信号,测试的时候你使用的是编码器的真实信号吧,电路上也是连接的真实信号吧