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.

Index signal issue in eQEP Module in 28035

Hi, I am using 28035 Piccolo controller to control PM Synchronous Motor with Incremental Encoder. A conditional flag is required, which has to be set after the first index event. In Piccolo Enhanced Quadrature Encoder Pulse Reference Guide (SPRUFK8), it was found that First Index Marker Flag (FIMF) in QEPSTS register will be set on first index event. But while conducting experiment, FIMF flag was set before occurence of index event.

Is there any other possibilities to make FIMF set high other than index event?

With anticipation,

Prakash

  • Hi Prakash,

    I have a few things for you to look at:

    1) If you take a look at the QEPSTS register in the eQEP User's Guide you'll notice that the FIMF bit is set as '1' on a reset.  I believe that this will explain what you are seeing.




    2) You may also want to take a look at the F2803x eQEP's errata advisories.  They likely aren't related to what you are seeing, however they may be worth knowing about.  The impact of the 'Missed First Index' advisory is usually minimal in a system and the other advisory is just something you should note.

    I hope this helps!


    Thank you,
    Brett

  • Hi Brett,

    Will there be any reset operation when we start the execution?

    Because I tried an experiment like this. Read encoder information (like QPOSCNT, QEPSTS) in Watch window, not by energizing motor but simply rotate by hand. When I looked into QEPSTS register before rotate, FIMF flag was '0' only. But the moment i rotate it, flag was set to '1'. I also checked index signal at the time of flag set, index event was not happened.

    I had a doubt that FIMF may set due to A or B pulse. So i provided index signal alone and observed FIMF flag. It was '0'even when index signal was present.

    Pls give any suggestions on this regards.

    Thank you,
    Prakash
  • Prakash,

    1) Two common reset events occur when you first power up the chip or click Reset CPU.

    2) What you have described seems odd to me.  Is your encoder outputting an index signal which is low most of the time but high on an index event (as described in the QEP User's Guide)?  Or is your encoder's output different?

    3) As hinted at in one of the QEP errata advisories, the QEP index signal has some reliance on the A & B inputs (especially early on).  As a result, just pulsing the index signal may not be enough to test the FIMF behavior.


    Thank you,
    Brett

  • Hi Brett,

    1) My encoder Index signal output is as described in QEP user's guide.

    2) One fact i found out was, when position counter reset option was chosen as "Reset on an Index Event" (previously i used "reset on Maximum count"), FIMF flag was always '0', unlike set to high in previous case.

    3) As you mentioned about Missed Index Event in QEP errata, i checked QEP_A and QEP_I pulses. Rise time difference between two signals was 25ns only. As per QEP errata, atleast two clock cycles (33 ns for piccolo device) delay should be there. I tried to attach the snapshot but always an upload error is coming.

    So provide any suggestions to delay an input signal....

    Regards,

    Prakash