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