Maker Pro
Maker Pro

Need a bus driver solution

R

Robert Latest

Jan 1, 1970
0
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
 
M

mmm

Jan 1, 1970
0
Robert said:
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.

I will do with rs485 of rs422 differential driver recieiver pairs if I
want a robust proven solution ( a bit pricey ) the 422 drivers-receivers
are done in 4 element in a package too, 2631 2632 pairs and other see on
producers web sites ( texas national and others ) but rules 2 .... :-(

a lower cost solution can be a standard 74xxx bus driver ( 244 245 )
select a high current family ALS ACT and terminate the line with
resistors but you have to do some test to see if they work

long ago there was some chip for old mainframe bus ( 8T-sometihng made
by national ) with long drive capabilities I don't konw if still available
 
N

neil-at-giganews

Jan 1, 1970
0
mmm said:
I will do with rs485 of rs422 differential driver recieiver pairs if I
want a robust proven solution ( a bit pricey ) the 422 drivers-receivers
are done in 4 element in a package too, 2631 2632 pairs and other see on
producers web sites ( texas national and others ) but rules 2 .... :-(
a lower cost solution can be a standard 74xxx bus driver ( 244 245 )
select a high current family ALS ACT and terminate the line with
resistors but you have to do some test to see if they work
long ago there was some chip for old mainframe bus ( 8T-sometihng made by
national ) with long drive capabilities I don't konw if still available
Just from personal experience, a few rambling suggestions/thoughts that
might help ...
- use differential because then you don't need to worry about grounding
quite so much
- use twisted pair ribbon cable - one 50way will provide 25 pairs, expensive
but worth it
- send with five 26C31 quad RS285/422 drivers
- include a 33R series resistor at the driver end of each hi/lo to limit
instantaneous current output
- means the drivers won't try to create really fast edges in the cable
- receive with five 26C32 quad receivers, terminate lines with around 500R
- the termination means that a few microamps of noise will not induce much
voltage
- buffer received signals with four 74HCT14 hex inverters
- put a tiny RC filter (100R, 100pF ?) between 26C32 and 74HCT14 to filter
glitches
- 74HCT14 has genuine hysteresis which will noise glitch sensitivity
- feeding ribbon pairs through ferrite beads will slug really fast edges a
bit
- include a 33R series resistor at the driver end of each hi/lo to limit
instantaneous current output
- means the drivers won't try to create really fast edges in the cable
- make sure that the 0V reference between drivers and receivers goes direct
fromthe devices
- not via faraway powerlines - use the 10 spare ribbon lines for this ?
- power the receiver circuit from a separate supply
- means no worries about chunky power currents going to/from remote
circuit

general point
Are costs constraints involved ?
who is paying for the parts ? will an extra few dollars be significant
how is your time costed ? home work may be free, company may want least time
spent on job
- it may be best to spend a few dollars extra on components / connectors
than to spend time debugging or rebuilding. All depends on your individual
circumstances.

hope this helps,
Neil
(old codger engineer)
 
R

Robert Latest

Jan 1, 1970
0
Ah, I found National's DS90CR215 and friends. Exactly what I
need, and I can probably use cheap, store-bought CAT5 network
patch cables. Downside is that I'll have to hand-solder TSSOP
packages -- ugh, so far I've managed to stay away from SMD, but
TSSOP is really terrible. 0.5mm picth! What a pitch!

robert
 
R

Robert Latest

Jan 1, 1970
0
Ah, I found National's DS90CR215 and friends. Exactly what I
need, and I can probably use cheap, store-bought CAT5 network
patch cables. Downside is that I'll have to hand-solder TSSOP
packages -- ugh, so far I've managed to stay away from SMD, but
TSSOP is really terrible. 0.5mm picth! What a pitch!

robert
 
T

The Real Andy

Jan 1, 1970
0
Well, it ain't exactly a bus driver, but anyway.

Our local council needs a bus driver solution too. IF you get in one
of those busses and survive the journey without shitting your pants
you are doing well.
 
T

The Real Andy

Jan 1, 1970
0
Well, it ain't exactly a bus driver, but anyway.

Our local council needs a bus driver solution too. IF you get in one
of those busses and survive the journey without shitting your pants
you are doing well.
 
Ah, I found National's DS90CR215 and friends. Exactly what I
need, and I can probably use cheap, store-bought CAT5 network
patch cables. Downside is that I'll have to hand-solder TSSOP
packages -- ugh, so far I've managed to stay away from SMD, but
TSSOP is really terrible. 0.5mm picth! What a pitch!

robert

Serial would be my first choice too. You need to be aware that with the
serial approach the data is sampled at the clock rate and you will lose some
information involved with exactly where edges of the individual channel
transitions occur with respect to each other. That may or may not be a problem
for your application.

In other words, if two of your signals are never supposed to be high at
the same time, there is a good probablity that because of the sampling they
could overlap by as much as the period of one clock cycle. For a 20 MHz clock,
that could be as much as a 50 nanosecond overlap glitch.

Jim
 
Ah, I found National's DS90CR215 and friends. Exactly what I
need, and I can probably use cheap, store-bought CAT5 network
patch cables. Downside is that I'll have to hand-solder TSSOP
packages -- ugh, so far I've managed to stay away from SMD, but
TSSOP is really terrible. 0.5mm picth! What a pitch!

robert

Serial would be my first choice too. You need to be aware that with the
serial approach the data is sampled at the clock rate and you will lose some
information involved with exactly where edges of the individual channel
transitions occur with respect to each other. That may or may not be a problem
for your application.

In other words, if two of your signals are never supposed to be high at
the same time, there is a good probablity that because of the sampling they
could overlap by as much as the period of one clock cycle. For a 20 MHz clock,
that could be as much as a 50 nanosecond overlap glitch.

Jim
 
F

Fred Bloggs

Jan 1, 1970
0
Ah, I found National's DS90CR215 and friends. Exactly what I
need, and I can probably use cheap, store-bought CAT5 network
patch cables. Downside is that I'll have to hand-solder TSSOP
packages -- ugh, so far I've managed to stay away from SMD, but
TSSOP is really terrible. 0.5mm picth! What a pitch!


Ah, not such a good choice in a motor application. LVDS is low voltage
for super high speeds at reduced signal swing, low power, and high
density. The drawback is CMR is not so good, ranging in the 1V range.
Any kind of RS-422 driver/receiver has much higher CMR rating. The TI
SN75ALS194 and SN75ALS195 quad combos with +/-7V CMRR, plenty of speed,
low power 5V supply operation, TTL compatibility, low cost, wide
availability (Digi-Key), and DIP packaging, are a better option. Your
line length is not so great that the savings in wire does anything for you.
 
F

Fred Bloggs

Jan 1, 1970
0
Just from personal experience, a few rambling suggestions/thoughts that
might help ...
- include a 33R series resistor at the driver end of each hi/lo to limit
instantaneous current output

Whew- a lot of signal loss into 100 ohm load there- better to put a
ferrite clamp on cable.
hope this helps,
Neil
(old codger engineer)

Get over it- some people grow old and others simply get old.
 
K

Ken Smith

Jan 1, 1970
0
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:

You missed at least one idea. You could use 74HC244 buffers and 100 ohm
resistor R-packs to drive the signals.

If you use 50 wire ribbon cable and ground every second line, getting
500KHz signals through 20 feet isn't the biggest problem. The really big
problem is the grounding of the two ends. If the far end makes no
connection to the outside world, your life is easy.

If both ends of the system connect to the mains wiring ground, you need
to worry about voltage differences up to at least 2V.
 
F

Fred Bloggs

Jan 1, 1970
0
Ken said:
You missed at least one idea. You could use 74HC244 buffers and 100 ohm
resistor R-packs to drive the signals.

Nah- the major idea missed here is that "serialization" does not mandate
bit serial. He could always do byte serial with latching strobe or some
other equally simple approach to fit this on a 25 DSUB, while retaining
the best driver technology for the job , RS-422.
 
R

Robert Latest

Jan 1, 1970
0
[... good suggestions ...]
general point
Are costs constraints involved ?

Not really since it'll be built only once or twice
who is paying for the parts ? will an extra few dollars be significant
how is your time costed ? home work may be free, company may want least time
spent on job

It's my own company ;-)
- it may be best to spend a few dollars extra on components / connectors
than to spend time debugging or rebuilding.

Absolutely. I like high-quality but non-specialized stuff. I.e.,
DB25 connectors, but the really good spec'd stuff. That's why I
was at first intrigued with the LVDS idea because it looked like
a simple patch TP cable could have been used.

robert
 
J

John Larkin

Jan 1, 1970
0
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


How about 20 5-volt cmos-driven lines and a couple of commons (ground)
from the transmit end. At the receive end, use RS-485 line receivers,
all sharing the low-side common lines. That should zap any common-mode
noise. Hooks for some modest value caps across the line receiver
outputs would be insurance against picking up fast normal-mode noise
or crosstalk glitches (or RC-schmitt things, to be more politically
correct.)

John
 
N

neil-at-giganews

Jan 1, 1970
0
Fred Bloggs said:
Whew- a lot of signal loss into 100 ohm load there- better to put a
ferrite clamp on cable.
That's why I suggested 500 ohm terminators. No doubt it doesn't match the
line impedance properly, but all I was thinking is that limiting the max
current that is available to change the line level will reduce the noise
radiated to other lines.
I had a similar problem to sort out at work a couple of weeks ago. Tried a
ferrite clamp around the ribbon but couldn't see any difference on the
signal - the edges seemed just as sharp. But a ferrite bead with a couple of
turns did appear to round the edges a bit. The pulses on these lines were
500nS so I had to limit noise without too much slugging.
The 74HCT14 seems to do a pretty good job at ignoring signals wobbling a
volt or so away from the rails, so I like them. And the differential
driver/receiver seem to work well, with a terminator of up to 1K or so.
That means (to me anyway) that less current is drawn at the driver and
pumped up and down the wires, so less radiated effect.
No doubt my empirical meanderings could be bettered, but it works ok in the
lab test sets it's needed in. For the flight stuff we use a diff driver
with opto-isolator and rs flipflop type cicruit to square it up (a properly
designed serial link), and then run it at only 4Mhz. That's worked fine for
a few years on quite a few aircraft ...
hth, ymmv etc
Neil
 
R

Robert Latest

Jan 1, 1970
0
How about 20 5-volt cmos-driven lines and a couple of commons (ground)
from the transmit end. At the receive end, use RS-485 line receivers,
all sharing the low-side common lines. That should zap any common-mode
noise. Hooks for some modest value caps across the line receiver
outputs would be insurance against picking up fast normal-mode noise
or crosstalk glitches (or RC-schmitt things, to be more politically
correct.)

I've thought about it; but at 500 kHz I'd like a rise time of
1us, which, with as much as 1000pF cable capacitance, drives 5mA
into the adjacent line. Or do you suggest to drive the lines
really hard, creating big but short spikes on the other lines
which then get filtered out by the RC - Schmitt trigger combos?

robert
 
J

John Larkin

Jan 1, 1970
0
I've thought about it; but at 500 kHz I'd like a rise time of
1us, which, with as much as 1000pF cable capacitance, drives 5mA
into the adjacent line. Or do you suggest to drive the lines
really hard, creating big but short spikes on the other lines
which then get filtered out by the RC - Schmitt trigger combos?

That's not very aesthetic, but would probably work. That's one way to
use D25 connectors and cheap RatShack RS-232 cables, where the wires
inside aren't shielded from each other.

Oh, if you use cmos drive and a differential line receiver, you have
to bias up the low side of the receiver 2.5 volts.

If you don't expect big low-frequency ground loops, just drive from
cmos and receive with an r-c-schmitt, tau a couple hundred ns. That
will filter out all sorts of sins.

John
 
B

Ban

Jan 1, 1970
0
neil-at-giganews said:
That's why I suggested 500 ohm terminators. No doubt it doesn't
match the line impedance properly, but all I was thinking is that
limiting the max current that is available to change the line level
will reduce the noise radiated to other lines.
I had a similar problem to sort out at work a couple of weeks ago. Tried a
ferrite clamp around the ribbon but couldn't see any
difference on the signal - the edges seemed just as sharp. But a
ferrite bead with a couple of turns did appear to round the edges a
bit. The pulses on these lines were 500nS so I had to limit noise
without too much slugging. The 74HCT14 seems to do a pretty good job at
ignoring signals
wobbling a volt or so away from the rails, so I like them. And the
differential driver/receiver seem to work well, with a terminator of
up to 1K or so. That means (to me anyway) that less current is drawn
at the driver and pumped up and down the wires, so less radiated
effect. No doubt my empirical meanderings could be bettered, but it works
ok
in the lab test sets it's needed in. For the flight stuff we use a
diff driver with opto-isolator and rs flipflop type cicruit to square
it up (a properly designed serial link), and then run it at only
4Mhz. That's worked fine for a few years on quite a few aircraft ...
hth, ymmv etc
Neil

Neil, you should study a bit the theory, there are a lot of mistakes and
guesswork in your reply.
1.) the ferrite beads or clamps around the whole cable do *not* have any
effect on rise times of the signals. The signal currents cancel with the
return currents and so the clamp has *no* effect. It will have a high
impedance for common mode disturbances, that is what it is used for. If you
want it to have an effect on the signal, you will need to put a separate
bead in all of the lines.
2.) transmission line theory should be a must if you work in this area. This
would explain the "wobbling" and give you a good idea what to do to avoid
it.
As to the aircraft, I hope there is at least a good hardware engineer in the
company to superwise.
 
Top