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?
Thanks!
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.
Best Answer
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: -
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..