Need a bus driver solution

R

Robert Latest

Guest
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
 
Robert Latest wrote:
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


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
 
"mmm" <pippo@pippo.it> wrote in message news:dci2b5$cqj$1@news.unina.it...
Robert Latest wrote:
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
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
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)
 
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
 
On 31 Jul 2005 08:07:30 GMT, Robert Latest <boblatest@yahoo.com>
wrote:

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.
 
On 31 Jul 2005 10:59:28 GMT, Robert Latest <boblatest@yahoo.com> wroth:

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!

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.
 
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.
 
Ken Smith wrote:

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.
 
In article <slrndep1tb.11a.boblatest@localhost.localdomain>,
Robert Latest <boblatest@yahoo.com> wrote:
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.

--
--
kensmith@rahul.net forging knowledge
 
On 2005-07-31, neil-at-giganews <a@a.com> wrote:

[... 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
 
On 31 Jul 2005 08:07:30 GMT, Robert Latest <boblatest@yahoo.com>
wrote:

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
 
"Fred Bloggs" <nospam@nospam.com> wrote in message
news:42ECED56.2060008@nospam.com...
- 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.
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
 
On 2005-07-31, John Larkin <jjlarkin@highNOTlandTHIStechnologyPART.com> wrote:

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
 
On 31 Jul 2005 21:29:27 GMT, Robert Latest <boblatest@yahoo.com>
wrote:

On 2005-07-31, John Larkin <jjlarkin@highNOTlandTHIStechnologyPART.com> wrote:

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?
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
 
On 31 Jul 2005 10:59:28 GMT, Robert Latest <boblatest@yahoo.com> wroth:

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. I just took a look at
http://www.infineon.com/cmc_upload/documents/090/983/SFH_POF.pdf

A cheap, bulletproof, solution would be plastic fiber optical cable
hooked up to a serializer on one end and a de-serializer on the other. The
common mode ground loop could be megavolts with no problems!

Jim
 
neil-at-giganews wrote:
"Fred Bloggs" <nospam@nospam.com> wrote in message
news:42ECED56.2060008@nospam.com...
- 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.
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.
--
ciao Ban
Bordighera, Italy
 
Ban wrote:

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.
That is the purpose of the ferrite, maintain wideband operation on the
lines, IOW leave signal characteristics unchanged, while suppressing
interference to outside the system. For twisted pair, the ferrite will
capture and attenuate unbalanced current from the pair, and this
includes pair-to-pair common mode currents required to charge the
inter-pair coupling capacitance. This is another reason for using
differential drivers, very low skew of duration very much less than the
receiver response time, as well as low driver and termination impedance
to reduce amplitude of net E-field induced currents.
 
On Mon, 01 Aug 2005 05:11:54 GMT, "Ban" <bansuri@web.de> wroth:


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.
No effect only if the signal and return conductors are coupled together
fairly well before the ferrite is applied and if both of them show the same
degree of coupling to the ferrite after it's applied.

Ferrites applied to coax or twisted pairs are quite effective without
affecting rise times. Ferrites applied to ribbon cables with random
signal/ground conductor topologies are not guaranteed to preserve rise times.

Jim
 
neil-at-giganews wrote:
"Fred Bloggs" <nospam@nospam.com> wrote in message
news:42ECED56.2060008@nospam.com...

- 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.

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.
It will do that but only by a relatively small fraction compared to
other methods. There are two aspects to the twisted pair that eliminate
B-field interference: 1) the current imbalance is minuscule so that net
B-field around the pair is too; and 2) the alternating orientation of a
victim pair relative to the net B-field from another pair results in
alternating field induced voltages in series which cancel. This usually
reduces the differential effects of pair-to-pair coupling to negligible
levels. It is the common mode effect that causes problems, and this
occurs only when the differential driver for a pair changes state,
introducing a transient common mode due to slight differences in the
propagation delays of the OUT-/OUT pair. The resulting dVcm/dt injects
currents through all available coupling capacitances into victim
circuits, and this current will be a common mode current, which means
each line of a victim pair receives equal amounts of interference
current. The common mode injection current does not cancel in the victim
circuit and develops a common mode voltage at the receiver.

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
 

Welcome to EDABoard.com

Sponsor

Back
Top