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.

am335x (beaglebone) eQEP CDEF flag error



Hi,

I have been using the eQEP modules in the beaglebone's Sitara to conduct motor speed calculations and during various tests I have noticed that the CDEF (capture direction error flag) does not appear to work at all.

To clarify what I mean, I have done extensive testing of this module, running position control algorithms and logging the values for the QEPSTS register in each control loop iteration. At the same time, I have enabled an interrupt service routine that also logs the occuring interrupt events.

What I have noticed is that while the interrupt for the QDC (quadrature direction change) fires and indeed recognizes changes in the DIR signal, CDEF has never been enabled. 

As the TRM states, for a value in the QCAPRD register to be valid no overflow or direction change must occur (COEF and CDEF have to be set), but how can the QDC interrupt occur and the CDEF not be set?