Part Number: TMS320F28P650DK
Hi, experts.
I hope everyone is having a great day.
Last year, I developed code for the EQEP module with an incremental encoder based on the F28P65. The EQEP was configured as follows: QSRC = 0, PCRM = 0, and IEL = 3. Regarding the QIDIRE bit, I referred to the configuration in the relevant example code and set it as EQEP_disableDirectionChangeDuringIndex(EQEP1_BASE);.
At that time, I assumed that when QIDIRE = 0, the EQEP would no longer process quadrature direction changes while the index signal is high. However, I recently discovered that during the index high period, changes in the quadrature signals can still alter the polarity of the marker edge. Please refer to the attached waveform for details.
I have the following questions:
Question 1:
From the waveform and test data, the first index marker occurs at edge = 11 (QA: 1→0, QB = 1). I therefore expected that subsequent marker edges would occur when QB = 1. However, why does the marker edge appear at edge = 61 (QA: 0→1, QB = 0)?
Question 2:
When QIDIRE = 0, what is the exact behavior of the EQEP logic?
Question 3:
When QIDIRE = 1, what is the exact behavior of the EQEP logic?
Please do not use AI to automatically generate answers to these questions. Our users have reported that when the servo motor jitters back and forth near the index position, the EQEP may produce erroneous data. We therefore look forward to your professional response.
