I'm using a high-frequency (1024PPR) RS-422 encoder, connected to a differential line receiver, and in turn, a quadrature encoder interface.

Initial tests were conducted with a low-PPR hand turned knob, where I could visually verify that the pulses were being counted correctly.

With a high-frequency encoder, how would I go about determining whether the counts are accurate? I should point out that the QEI is guaranteed to work at extremely high frequencies, so really what I want to be checking is whether the RS-422 receiver is correctly interpreting/outputting pulses, etc.

  • \$\begingroup\$ What is your question? \$\endgroup\$
    – Andy aka
    Jul 21, 2018 at 17:58
  • \$\begingroup\$ Is there an Index output to verify the up/down counts return to zero accurately? \$\endgroup\$ Jul 21, 2018 at 18:02
  • \$\begingroup\$ Seems to me like you should be more worried about the QEI, and a 2-channel function generator would suffice to test that. \$\endgroup\$ Jul 21, 2018 at 18:05
  • \$\begingroup\$ @SpehroPefhany, why should I be more worried about the QEI? \$\endgroup\$
    – 19172281
    Jul 21, 2018 at 18:19
  • \$\begingroup\$ The QEI will be high speed logic above the RS-422 implementation and resulting MHz-km product maximum and RPM* 1024 ppr frequency. What are your specs? \$\endgroup\$ Jul 21, 2018 at 19:27

1 Answer 1


Initialize a software counter to 0 when Index is detected once.

Use the Z index signal as a "parity or null count check" for up/down counts in any direction or speed and when Index is detected the count should be = zero.

If a fault is detected, then determine the error value and cause of error by direction or speed or noise interference.

Test Engineer advice

  • define acceptable immunity specs. , conducted, radiated and encoder speed, temperature, humidity, vibration, shock etc.

  • Test to (non-destructive) failure levels of signal integrity to verify your SNR margin. e.g. Impulse current generator on cables nearby or brushed motor under load., ESD tests. etc

  • since signal integrity is statistical there may be a probability of error which depends on SNR and margin. enter image description here

  • \$\begingroup\$ So, essentially, I'm checking that when the index count changes, the encoder count is index count * 1024? \$\endgroup\$
    – 19172281
    Jul 21, 2018 at 18:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.