Well, it ain't exactly a bus driver, but anyway.
I have 20 TTL signals that I want to transmit over thirty feet of cable. Max frequency on any of them is 500kHz. Timing isn't that crucial because these are step/direction signals for a bunch of stepper motor drives, so what's essentially important is only that the number of pulses that make it to the other end stays the same.
Ideas:
1) Use +/- 5V bipolar, single ended RS232-style technology. Found that the ancient 1488-type chips don't seem to support that high a data rate, although they're spec'd at 30V/us slew rate.
2) 20 parallel symmetric twisted pairs.
3) Some form of serialization.
1) and 2) are equally simple and straightforward, except that I'd like to make do with at most a 25-pin DSUB connector which rules out 2). As for 1), with 20 single-ended signals running in parallel over a cheap cable I think crosstalk may become unmanageable. Or the thing would have to become so low-impedance that power consumption becomes an issue.
3) I've thought about sampling the inputs at a 1MHz rate, stuffing them into three 8-bit shift registers and clocking the data out at 8 MHz over symmetric twisted pairs. That would make five pairs (three for the data, one clock and one strobe).
But before I begin working on this I'd like to know if there exist industry-standard, integrated solution for this rather generic problem.
Solutions that attack the motor connection at another point (i.e., not at the step/direction level) are out because this is ancient equipment which works very well. At the moment the motor drives are next to the control computer (i386) with a bunch of thick cables running to the motors, and I'd like to put the drives next to the motors and control the thing over just one thin cable.
Thanks,
robert