I am building a circuit board to listen to quadrature encoder signals from a motor controller and send these signals on to an FPGA that will be used to count the pulses and direction. The signals coming out of my motor controller are:

  • Phase A: A and !A
  • Phase B: B and !B
  • Phase C: C and !C (origin indicator)

In other words, each phase sends out two signals that are the opposite of one another at all times. I have used Quad EIA-422/423 (MC3486) line receivers to convert differential voltage signals into TTL signals, but is this the correct component for converting each phase from two signals to a single TTL signal? If not, is there a similar IC that will do the trick?


EDIT: It looks like I was treating these signals correctly. I was a little confused on the definition of "differential voltage" as it applies to the line receivers I am using (MC3486). Basically when A is high and !A is low, my line receiver outputs a high on the TTL channel. When A is low and !A is high, it outputs a low on the TTL channel. This is what I wanted it to do; I was concerned that I had misinterpreted the meaning of differential voltage.

  • \$\begingroup\$ It depends on the voltage levels on your signals. Are they compatible with RS-422? If not, you might use a quad comparator with suitable voltage dividers on the inputs, along with some positive feedback for hysteresis. \$\endgroup\$
    – Dave Tweed
    Jul 23, 2013 at 20:40
  • 1
    \$\begingroup\$ Signals that are opposite are basically redundant; if you have A, you can regenerate !A. There are IC's that take digital quadrature signals and decode them: they are used with digital potentiometers and encoder strips. These IC's put out simplified signals like pulses to count up and down (and some even have registers that do the counting and can be read out, I think). \$\endgroup\$
    – Kaz
    Jul 23, 2013 at 20:48

2 Answers 2


It sounds like a point-to-point system you are trying to "sniff" the data from and because of this you'd be well-advised to offer a high-impedance connection which can suffer a reasonable bit of common-mode voltage on the two lines relative to your "sniffer".

I don't know what data rate it's using but it'd be hard-pressed to task a MAX999 comparator.

I'd use 10k resistors from each line to the MAX999 inputs and I'd have 2 series 470R resistors across the MAX999 inputs to: -

  1. Attenuate the signal
  2. Act as a mid rail connection from your local sniffer power

The MAX999 will work down to very low input levels and attenuating most data transmission levels by ten is not going to be a big issue. The MAX999 also has a littel bit of inbuilt hysteresis too and works at 5V or 3V3 with a push-pull output that can directly feed micros and PLDs etc..

enter image description here

  • \$\begingroup\$ You are correct that I was trying to sniff the data in a point-to-point system, but my question was more about whether using a line receiver is the right way to read these differential voltage signals. I was a little confused about the definition of "differential voltage" for line receivers, but I think I got it now. \$\endgroup\$
    – Engineero
    Jul 24, 2013 at 15:00
  • \$\begingroup\$ @Engineero No, I wouldn't use a line receiver because of unknown common-mode voltages that may exist and that they may want to sniff a little more current and potentially upset the comms. \$\endgroup\$
    – Andy aka
    Jul 24, 2013 at 16:46
  • \$\begingroup\$ OK, that is not something I am familiar with, but I will look in to it more. Thank you for your response. \$\endgroup\$
    – Engineero
    Jul 24, 2013 at 18:27

A dedicated voltage comparator chip such as LM339 is designed to interface with a digital logic interface (to a TTL or a CMOS).



simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ ummm... there's something missing around the output pin of the LM339... \$\endgroup\$
    – user16324
    Jul 23, 2013 at 22:18
  • \$\begingroup\$ Right, OC comparator. \$\endgroup\$ Jul 23, 2013 at 22:25
  • \$\begingroup\$ Great, thank you. I think that is exactly what my MC3486 is doing. It looks like I was treating these signals correctly, which was my concern originally. \$\endgroup\$
    – Engineero
    Jul 24, 2013 at 15:01

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.