Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Q] Multidrop RS-232

894 views
Skip to first unread message

James Thomson

unread,
Aug 3, 1998, 3:00:00 AM8/3/98
to
Greetings,
I am looking for a good reference (or instructions) on how to create a
multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I know
that RS-485 or RS-423 would be better but I am trying to save money and
minimize components. The chips I am using have RS-232 built-in. I have
seen circuits for this in the past but was never interested enough to pay
attention. Now I need advice from someone who has done it successfully.
Thanks, DT

Dave Baldwin / The Computer Journal

unread,
Aug 3, 1998, 3:00:00 AM8/3/98
to James Thomson

Don't you mean that the chips have an asynchronous serial port built in?
RS-232, RS-485, and RS-423 actually specify the driver levels and
connections and can be used with the serial ports built into most
microcontrollers. TCJ's "Serial Communications" page has a PDF file
describing these and other 'standards' along with a lot of other info on
serial communications. Go to "http://www.psyber.com/~tcj/" and click on
'Serial Com'.

--
- -=-=-=-=-=-=-=-=-=-=- The Computer Journal -=-=-=-=-=-=-=-=-=-=-=-
Dave Baldwin, Editor/Publisher | (800) 424-8825 or (916) 722-4970
Email: t...@psyber.com | Small scale computing since 1983
Hands-on hardware and software | Support for older systems
BBS: (916) 722-5799 | FAX: (916) 722-7480
- -=-=-=-=-=-=- Home page "http://www.psyber.com/~tcj/" -=-=-=-=-=-=-

Roger Ivie

unread,
Aug 3, 1998, 3:00:00 AM8/3/98
to
In article <01bdbee1$e9e41580$8dec...@jthomson.scires.com>, James Thomson wrote:
> I am looking for a good reference (or instructions) on how to create a
>multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I know
>that RS-485 or RS-423 would be better but I am trying to save money and
>minimize components. The chips I am using have RS-232 built-in. I have
>seen circuits for this in the past but was never interested enough to pay
>attention. Now I need advice from someone who has done it successfully.

Oddly enough, I was just glancing through an old BYTE magazine last
night and saw an article on this very subject. The magazine had a "first
look" article about the IBM PC, so that would put it somewhere around
1981. I don't have the magazine handy at the moment, so I can't give you
a better reference than that.

The article starts with a really simple system (a diode on transmit
data and a pullup on each end of the cable) and goes to more high-speed
options, including driving a coax.

--
Roger Ivie
Design Analysis Associates
75 West 100 South
Logan, UT 84321
mailto:ri...@daa-utah.com
phoneto:(435)753-2212


NKOOT

unread,
Aug 4, 1998, 3:00:00 AM8/4/98
to

James Thomson <jtho...@scires.com> wrote in article
<01bdbee1$e9e41580$8dec...@jthomson.scires.com>...
> Greetings,


> I am looking for a good reference (or instructions) on how to create a
> multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I
know
> that RS-485 or RS-423 would be better but I am trying to save money and
> minimize components. The chips I am using have RS-232 built-in. I have
> seen circuits for this in the past but was never interested enough to pay
> attention. Now I need advice from someone who has done it successfully.

> Thanks, DT
>

I have seen this done on commercial products that share a cardcage. The
RS-232 driver chip on each card had a 'chip enable' or "low power shutdown'
function that also put the transmitter into high impedance, thus allowing
other transmitters to use the same TXD line. This feature has been known
to cause problems with attached modems due to the "illegal" RS-232 state.

Norbert Koot


Mark Jensen

unread,
Aug 4, 1998, 3:00:00 AM8/4/98
to
When I was beginning electronics, I wired up RS-232 multidrop as a
challenge from a coworker. He knew it shouldn't work, but I did know it
should've been impossible.

I got two computers and a PIC16C72 to share a single RS232 line. I made
it work by the following diagram. You need a 6 diodes, but I believe
that 3 are unnecessary.

-------Transmit-----|>|------+
RS232 | |
-------Recieve------|<|------+
|
|
-------Transmit-----|>|------+
RS232 | |
-------Recieve------|<|------+
|
|
-------Transmit-----|>|------+
RS232 | |
-------Recieve------|<|------+

RS232 transmits operates on a +10V or 0 wave, but the receivers can pick
up on 1.5 volts or more. This circuit works, because the drain on of
the 3 receivers pulls the 10V down a lot, but not lower than the
threshhold.

From the numbers I was getting when I brought this to the lab, it was
estimated that maybe one or two more receivers could be added before it
was swamped.

Later on in the project, we got some RS232 to 485 converters and were
able to do it right.

The digram DOES NOT attempt to resolve timing the communications to
prevent multiple transmits. Also bear in mind that the sensitivity of
your receivers will play a part in this as well.

Disclaimer: Before any of you IEEE guys start in on me, the diagram is
accurate to the best of my knowledge. The voltages are from a 1.5 year
old memory. I know it is NOT a good design of a communication system,
but for the project I needed, there was little other choice at that
time.


James Thomson wrote:
>
> Greetings,
> I am looking for a good reference (or instructions) on how to create a
> multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I know
> that RS-485 or RS-423 would be better but I am trying to save money and
> minimize components. The chips I am using have RS-232 built-in. I have
> seen circuits for this in the past but was never interested enough to pay
> attention. Now I need advice from someone who has done it successfully.
> Thanks, DT

--
Mark Jensen
mje...@mnic.net
V-TEK Inc.
Computer/Network technician

e2000

unread,
Aug 5, 1998, 3:00:00 AM8/5/98
to
I built a small RS232 hub that combined the incoming lines on the logic
side of the new board's interface ( The hardest part was keeping the
transmitter's signal from it's own reciever). It's not hard for 2 active
wire interfaces ( 3 max style chips for your 6 machine scheme and a couple
of HC's). Doing it this way allowed me to plug any RS232 source in without
worring about loading. Your software must do out the collision avoidance,
although that could be done with two more control lines on each RS232 as
well.

Regards,

Steve
E2000 (In the land of OZ)
e20...@winXshopY.com.au (Remove the X and Ys).

Polleke

unread,
Aug 5, 1998, 3:00:00 AM8/5/98
to
Still using this as network.

It is not fast but heck it is cheap damned cheap.

Use a reed relais working on 12 volts very small connect the switch
to the output pin of your rs232 driver.
connect the coil to DTR and CTS.
If one active and the other inactive coil closes contact and this one
can send.
The receives are tied together.
Always look if one is sending and to where.
Works perfect at my place.
I made plugs with the relais inside.
No max but do not put too many listeners on the line as this drops the
baudrate.


On 3 Aug 1998 09:28:39 -0500, "James Thomson" <jtho...@scires.com>
wrote:

|Greetings,
| I am looking for a good reference (or instructions) on how to
create a
|multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I
know
|that RS-485 or RS-423 would be better but I am trying to save money
and
|minimize components. The chips I am using have RS-232 built-in. I
have
|seen circuits for this in the past but was never interested enough to
pay
|attention. Now I need advice from someone who has done it
successfully.
|Thanks, DT

Greetings from Polleke.
Out of Duketown in Holland

Patrick Campbell

unread,
Aug 5, 1998, 3:00:00 AM8/5/98
to

James Thomson wrote in message
<01bdbee1$e9e41580$8dec...@jthomson.scires.com>...

>Greetings,
> I am looking for a good reference (or instructions) on how to create a
>multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I know
>that RS-485 or RS-423 would be better but I am trying to save money and
>minimize components. The chips I am using have RS-232 built-in. I have
>seen circuits for this in the past but was never interested enough to pay
>attention. Now I need advice from someone who has done it successfully.
>Thanks, DT

The Maxim MAX242 will allow you to multidrop RS-232.

jim granville

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
Peter wrote:
>
> One cannot multidrop RS232, because most RS232 chips do not have
> tri-state drivers. RS485 is the way.

True for stub line style multi drop.
- but you can have multiple RS232 systems in a loop

We have done a high speed lib , for RS232 loop multidrop, using the
89C2051 / 1051U.

This has no hard limit on nodes ( unlike RS485 ), and has implicit
Write/Read of all nodes in a completed transaction.

It will work with both RS232, and RS422 drivers ( preferred for speed )

- jg

--
======= Manufacturers of Serious Design Tools for uC and PLD =========
= NEW - ISP for 89X051 SOL20 controllers
= NEW - 32K FLASH, DualOSC, ADC, PWM, RTC C51 variant & Tools
= mailto:Desig...@xtra.co.nz Subject : Selc51Tools


Tom Maier

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
"James Thomson" <jtho...@scires.com> wrote:

>Greetings,
> I am looking for a good reference (or instructions) on how to create a
>multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I know
>that RS-485 or RS-423 would be better but I am trying to save money and
>minimize components. The chips I am using have RS-232 built-in. I have
>seen circuits for this in the past but was never interested enough to pay
>attention. Now I need advice from someone who has done it successfully.
>Thanks, DT

The input impedance of RS232 is about 5K Ohms. The output drive
capability of most drivers is about 2K Ohm. If you hang several
reciever devices off of a single transmit line then you can usually
"get away with it". As you hang more and more recievers on the
line, the transmitter output voltage swing becomes smaller and smaller
until finally it screws up royal.

The method that I describe above would be called a single master/
multiple slave simplex multidrop network. That's a lot of words that
just mean you can only send messages out to the devices, but they
can't talk back (simplex) or communicate with eachother.

A duplex method of the above would be to have the master talk out
to the slave devices and allow them to communicate back. One very
easy way to do this on RS232 is to make the receive line of the master
be pulled up and then make the slave use open collector outputs
to pull the line low.

After you have that minor addition to the port then you have to make
sure that there is some method of creating order in the method of
having the slaves reply on the recieve line. One really simple way to

do this is to have a "speak only when spoken to" rule for the slaves.
The slave devices are not allowed to send anything until the master
asks them to send data. This technique is simple, but then it
can sometimes be a pain because the master has to run around
asking for inputs (called polling). For many applications this is
an adequate method.

NCD is a company that makes a multidrop RS232 network. They
sell a card that you can put on your serial port that will allow
open collector slave devices. It's pretty cheap. Their URL is

<http:members.aol.com/ncdcat/>

Trying to make the multidrop network more complex than that,
with peer to peer communication and collision avoidance, etc.,
becomes a pretty hairy problem. The method NCD uses is
rather straight forward, cheap and simple.


Tom
A web page for amateurs by an amateur...
<http://www.mindspring.com/~sminstruments/fossils/>


Tom Maier

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
Mark Jensen <MJE...@MNIC.NSPM.NET> wrote:

>When I was beginning electronics, I wired up RS-232 multidrop as a
>challenge from a coworker. He knew it shouldn't work, but I did know it
>should've been impossible.

Back in the 80's I had some problems with computers on
RS232/ethernet network interface units. The RS232 was
getting hung on some of the computers and I just couldn't
get these Sun computers to use the protocol properly. I
wired up a "T" board that allowed me to listen in on the
commincation with a third computer. I also wired in a switch that
allowed me to switch the snooping computer in and out of the
RS232 line, thus faking out the connection. I wrote a
"snoopy" program that showed me all the communications and allowed
me to send all ASCII chars from the snoopy computer.

Well, that really helped me to figure out why the network
interface unit was not playing ball with some of the computers.
I listened in, saw where the communication stalled, then
injected the corrected sequence to unhang the lines, etc.
Then I figured out how to overcome the hangups.

Some guy from the computer support department walked in and
saw me doing this. He told me that I had to stop because I
was "violating the RS232 standard". He wasn't joking. He
seemed to think there was some laws being broken or something.

r.sko...@fz-juelich.de

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
In comp.arch.embedded Patrick Campbell <pat...@tmz.com> wrote:

: James Thomson wrote in message
: <01bdbee1$e9e41580$8dec...@jthomson.scires.com>...
:>Greetings,


:> I am looking for a good reference (or instructions) on how to create a
:>multidrop RS-232 network (< 50 feet, up to 6-8 devices, 19.2 kbps). I know
:>that RS-485 or RS-423 would be better but I am trying to save money and
:>minimize components. The chips I am using have RS-232 built-in. I have
:>seen circuits for this in the past but was never interested enough to pay
:>attention. Now I need advice from someone who has done it successfully.
:>Thanks, DT

: The Maxim MAX242 will allow you to multidrop RS-232.

I have several 8051 boards (each with RS232 level shifters) connected to a
single RS232 port of a PC. The PC's xmit line is buffered by an RS232 driver
for each 8051 board, so every board gets a proper signal. The xmit lines of
those boards are received by an RS232 receiver each, their TTL outputs wired
to an OR gate, the output of which is put through another level shifter to
RS232 level and fed to the PC's receive line.
All boards see what the PC transmits and the PC sees what any 8051 board
sends out. Each of the boards has it's own address and (normaly) only talks
when addressed by the master, although they can also send a 'look at me'
message and the PC would have to poll each one to see who demands attention.
By using 75188/189 chips for the level translation this is a very cheap
solution which still allows for high baudrates. We have two of such
'networks' working reliably here since a couple of years.

Rolf

--
r.sko...@fz-juelich.de

James Meyer

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
On Wed, 5 Aug 1998 23:02:23 -0700, "Patrick Campbell"
<pat...@tmz.com> wrote:

>
>The Maxim MAX242 will allow you to multidrop RS-232.
>

It's a nice chip, but what makes you think it's multidrop
capable? Are there any multidrop application notes for it anywhere?

Jim


Peter Hanely

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
that looks like a more refined, and more complex, implementation
of something I worked with once. The version I saw had each
TX line hooked to a common wire through a diode so it could
pull the line low but not high. The common line was terminated
at each end with a resister to a power supply that kept the
common high except whan a TX pulled it low. This setup was
peer to peer and each computer saw it's own transmissions
on the recieve pin. Easily sorted out in software.

A possable alternative to the power supply is to bypass the
TX diode with a resister on the first and last connections.

As for speed, we were running as fast as the 16550's would go
(PC platform) and getting near error free recieve.
--
Peter Hanely =/\=
pha...@jps.jammed.net (email has been "jammed")
computer software etc. in Sac. Ca

Polleke

unread,
Aug 6, 1998, 3:00:00 AM8/6/98
to
You also can send from computer to first device and make it a repeater
if message was not for first device so it will send to second device
etc.
If message is received it should send message number acknowledge.
etc. Like a token ring network.
Cheap nothing extra but if line broken sysem fails. You can just
reconnect it and it plays on again maximum speed is not a point. But
the processor has a lot of work looking at all the messages. It is in
all networks same thing except for a dedicated comm controller.

Paul Deelen
shooter (at) xs4all (dot) nl
Specialised in trouble shooting.
refrigeration and ships are my main fields.
One man problem solving company.
tel/fax +31736139136

Mark Moulding

unread,
Aug 8, 1998, 3:00:00 AM8/8/98
to
I've implemented a couple of systems using this approach. It does
have the disadvantage you mentioned that any failure takes out the
whole network, and the maximum throughput is also limited. However,
for what we were doing, it was fine.

A side effect of this topology was that node addressing could be made
dynamic. Basically, I implemented it as follows:

- Each message has a destination address (numerical)
- When a message is received, if the address is 0, then it's for the
receiver
- Otherwise, the address is decremented by 1, and the message
re-transmitted to the next node in the loop.

This "automatic addressing" scheme worked quite well for our
application, although there were some "gotchas" to work out (such as
where to send the response...).

Mark


Polleke <g...@lost.in.nl> wrote in article
<35c9df36...@news.xs4all.nl>...

Ag@whd

unread,
Aug 8, 1998, 3:00:00 AM8/8/98
to
On 5 Aug 1998 09:23:23 GMT, "e2000" <e2...@winshop.com.au> wrote
these words:

>I built a small RS232 hub that combined the incoming lines on the logic
>side of the new board's interface ( The hardest part was keeping the
>transmitter's signal from it's own reciever). It's not hard for 2 active
>wire interfaces ( 3 max style chips for your 6 machine scheme and a couple
>of HC's). Doing it this way allowed me to plug any RS232 source in without
>worring about loading. Your software must do out the collision avoidance,
>although that could be done with two more control lines on each RS232 as

KnowledgentNet (also known as ZeroNet) used the RS232 RX line as a bus
and gated the RS232 TX signal from any one computer using a relay
controlled by RTS. It had built-in collision detection and under heavy
load conditions switched to using a "token" type protocol.

<this was a *long* time ago!>

Adrian

WWW WWW Adrian Gothard
WWW ww WWW White Horse Design
WWWWWWWWWW
WWWW WWWW w...@zetnet.co.uk, http://www.users.zetnet.co.uk/whd
---
Designers of Voice recognition systems for use in helicopters (inc. EC135 & BK117)

Polleke

unread,
Aug 8, 1998, 3:00:00 AM8/8/98
to
Old but still using it.
Works better as windows shit.


On Sat, 08 Aug 1998 08:18:52 GMT, w...@directors-1.zetnet.zet (Ag@whd)
wrote:

Greetings from Polleke.

Polleke

unread,
Aug 8, 1998, 3:00:00 AM8/8/98
to
On 8 Aug 1998 00:57:45 GMT, "Mark Moulding" <Ma...@markesystems.com>
wrote:

|I've implemented a couple of systems using this approach. It does
|have the disadvantage you mentioned that any failure takes out the
|whole network, and the maximum throughput is also limited. However,
|for what we were doing, it was fine.
|
|A side effect of this topology was that node addressing could be made
|dynamic. Basically, I implemented it as follows:
|
|- Each message has a destination address (numerical)
|- When a message is received, if the address is 0, then it's for the
|receiver
|- Otherwise, the address is decremented by 1, and the message
|re-transmitted to the next node in the loop.

Nice but if i take out one controller it is problems.
Send responses to -1 or in some cases count the number in the rest of
the line.

A address on elektor is also working much same way.

Greetings from Polleke.

Patrick Campbell

unread,
Aug 9, 1998, 3:00:00 AM8/9/98
to

James Meyer wrote in message <35c9ae0...@netnews.worldnet.att.net>...

I've done it, one master, 4 slaves. Its output is tri-stated, so when
the output is "off", it does not drive the line, which allows you
other chips to drive it.

Jim Stewart

unread,
Aug 10, 1998, 3:00:00 AM8/10/98
to oo...@notmeplease.nl
Polleke wrote:
>
> Still using this as network.
>
> It is not fast but heck it is cheap damned cheap.
>
> Use a reed relais working on 12 volts very small connect the switch
> to the output pin of your rs232 driver.
> connect the coil to DTR and CTS.
> If one active and the other inactive coil closes contact and this one
> can send.
> The receives are tied together.
> Always look if one is sending and to where.
> Works perfect at my place.
> I made plugs with the relais inside.
> No max but do not put too many listeners on the line as this drops the
> baudrate.

It would be easier to put a diode in series with each tx line and a pull
down resistor on the bus.


Tx1 Tx2 Tx3
| | |
-- -- --
\/ \/ \/ 1N4143 3 pls
-- -- --
| | |
-------------------- To Rx inputs
|
/
\ 2.2k pulldown
/
|
-----
---
-

Jim

solu...@asp.com.au

unread,
Aug 14, 1998, 3:00:00 AM8/14/98
to
Jim Stewart wrote:

> It would be easier to put a diode in series with each tx line and
> a pull down resistor on the bus.

Have you actually ever tried that? In practice, it doesn't work very
well, and if there's any distance between the devices, it often doesn't
work at all.

Peter
--
************************************************************
ASP Microcomputers Phone: (03) 9578-7600
456 North Road Fax: (03) 9578-7727
Ormond, Victoria, 3204 email: solu...@asp.com.au
Australia Web: http://www.asp.com.au
************************************************************

0 new messages