TI中文支持网
TI专业的中文技术问题搜集分享网站

QPOSILAT出现了问题

用例程Example_2806xEqep_pos_speed实验,编码器的ABZ信号中的Z信号来之后,QPOSILAT里会锁存QPOSCNT的值,这是正确的。后测试自己写的程序,QEP配置完全与例程Example_2806xEqep_pos_speed一样,QPOSCNT都能正常计数,但QPOSILAT无法锁存QPOSCNT的值,QEP始终无法检测到Z信号,硬件上完全可以确定ABZ信号都是正确的。有没有哪个寄存器能影响到QEP的INDEX信号,AB都可以,就Z信号没有,这问题搞了几天了,烦呀。

Joey Mao:

你用例程测试的时候自己做了修改的吧,如例程的注释:

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信号,测试的时候你使用的是编码器的真实信号吧,电路上也是连接的真实信号吧

用例程Example_2806xEqep_pos_speed实验,编码器的ABZ信号中的Z信号来之后,QPOSILAT里会锁存QPOSCNT的值,这是正确的。后测试自己写的程序,QEP配置完全与例程Example_2806xEqep_pos_speed一样,QPOSCNT都能正常计数,但QPOSILAT无法锁存QPOSCNT的值,QEP始终无法检测到Z信号,硬件上完全可以确定ABZ信号都是正确的。有没有哪个寄存器能影响到QEP的INDEX信号,AB都可以,就Z信号没有,这问题搞了几天了,烦呀。

kuntay:

回复 Joey Mao:

对的。但是我只要把例程的QEP配置好了,硬件上ABZ信号都正常,我观察QEP的寄存器是没有任何问题的吧。

用例程Example_2806xEqep_pos_speed实验,编码器的ABZ信号中的Z信号来之后,QPOSILAT里会锁存QPOSCNT的值,这是正确的。后测试自己写的程序,QEP配置完全与例程Example_2806xEqep_pos_speed一样,QPOSCNT都能正常计数,但QPOSILAT无法锁存QPOSCNT的值,QEP始终无法检测到Z信号,硬件上完全可以确定ABZ信号都是正确的。有没有哪个寄存器能影响到QEP的INDEX信号,AB都可以,就Z信号没有,这问题搞了几天了,烦呀。

Joey Mao:

回复 kuntay:

观察QEP的寄存器是没有问题的.

用例程Example_2806xEqep_pos_speed实验,编码器的ABZ信号中的Z信号来之后,QPOSILAT里会锁存QPOSCNT的值,这是正确的。后测试自己写的程序,QEP配置完全与例程Example_2806xEqep_pos_speed一样,QPOSCNT都能正常计数,但QPOSILAT无法锁存QPOSCNT的值,QEP始终无法检测到Z信号,硬件上完全可以确定ABZ信号都是正确的。有没有哪个寄存器能影响到QEP的INDEX信号,AB都可以,就Z信号没有,这问题搞了几天了,烦呀。

kuntay:

回复 Joey Mao:

问题找到了。有2个引脚都配置成了QEP的INDEX功能,导致INDEX无效。

赞(0)
未经允许不得转载:TI中文支持网 » QPOSILAT出现了问题
分享到: 更多 (0)