Newsgroups: comp.robotics
Path: cantaloupe.srv.cs.cmu.edu!europa.chnt.gtegsc.com!news.sprintlink.net!pcnet.com!circellar!stephen.griswold
From: stephen.griswold@circellar.com
Subject: NEED DEVICE TO ADDRES
Message-ID: <9507040005.004SC02@circellar.com>
Organization: Circuit Cellar, Inc.
X-Mailer: TBBS/PIMP v3.34
Distribution: world
Date: Tue, 04 Jul 95 00:05:40 -0400
Lines: 72


 -=> Quoting seeker@indirect.com (Stan Eker), in comp.robotics,
 Re: Need device to address serial devices on RS232/485

 Ne> Phil Kahn (pkahn@Csli.Stanford.EDU) wrote:

 SE> : I have several RS-232 devices that I would like to network on
 SE> : RS-485 (or RS-232 if I must). Most RS-232 devices do not have
 SE> : provision for assigning unit IDs and addressing them, so attempts
 SE> : to talk to them interferes with other devices. 


 SE> Ummm - there's NO provision in the RS-232-C spec for multi
 SE> transmitters, and nothing mentioned about multiple receivers.  That's
 SE> what the RS-485 and similar `networking' specs are for.

 SE> RS-232 devices aren't allowed to go offline, and I've never seen a
 SE> level translator for RS-232 that'll do it, anywise.

Stan, If you were at the recent TCF-95 (Trenton Computer Festival, Trenton
New Jersey, (USA),) You should've been at the Noon CP/M demonstration in
the Math-Sciences building, a Project started ages ago by Hal Bower
(BP-BIOS / ZS-DOS Fame in the CP/M world) would've proven you CAN
interconnect several RS-232 devices (up to 128 before things get flakey)
in parallel.. on just 2 wires!
 
 1st step, connect ALL GND pins (7) to one wire, and all RXD pins (3) to
the 2nd wire, with a diode (1N914 makes a good generic) across TXD (2)
to RXD (3)  (#'s in paranthesis are for DB-25)
 
 The catch now, is giving a protocol which will (a) ignore it's own signal,
(b) identify source, (c) identify destination, (d) Function (& data, if
sending). and (e) a checksum, should noise from another device be trying
to send at the same time, clobbers the attempt.

  The Diode is connected  (2)--->|---(3), so the +/- voltage is clamped
to '+' only.. (Avoids the chance of one in "+"-state and another in
"-"-state from clobbering each other with 2X the voltage.)
 
 Hal's project was mainly for linking together CP/M machines together with
a minimum LAN.. His final project, since creating the Banked-Portable
BIOS for the 'YASBEC', SB-180, Ampro-LB, and other CP/M machines capable
of running from more than one 64K bank, allowed the LAN software to run in
the background, monitoring the RS-232 channel, and would allow sharing of
drives from one of up to 128 computers (sounds like my house.).
 
 But, as far as linking together multiple devices via RS-232...  As long as
they don't rely upon control line handshakes (DTR, RTS, CTS, CD, Etc.),
this should work out fine...   Just a matter of connecting the diode across
TXD to RXD, and linking RXD and GND to all devices via the 2-wire bus.
 Worse case, you could always create 'stripped' connector..
 
 On a DB-25, short the following:  4-5, 1-7, 6-8-20.
 
 This returns most ALL handshaking signals back to the 'Node' machine,
and combines Frame GND to Data GND. (On some, this may not be a good idea,
so you may want to skip 1-7)
 
 Hmmm....  Just inspired...  this could also work, if you wanted to link
more than one robot, Via Umbillical, back to a host controller. and the
umbillical, need only be two wires.  (Sorry, had to toss that in the get
back on topic.)
 
 Stephen Griswold
 stephen.griswold@circellar.com





  Hope this provides a little insight to linking RS-232 devices
___ Blue Wave/QWK v2.12
