Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Oct 1995 11:26:14 +0930 (CST)
From:      Michael Smith <msmith@atrad.adelaide.edu.au>
To:        julian@ref.tfs.com (Julian Elischer)
Cc:        msmith@atrad.adelaide.edu.au, bde@zeta.org.au, hackers@freebsd.org
Subject:   Re: non-sio UART driver
Message-ID:  <199510120156.LAA15650@genesis.atrad.adelaide.edu.au>
In-Reply-To: <199510112016.NAA03051@ref.tfs.com> from "Julian Elischer" at Oct 11, 95 01:16:08 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer stands accused of saying:
> > Ok ok, so "multidrop bus" is a bit of a tautology.  I guess I should have 
> > said 2-wire RS-485.
...
> > It's not terribly "normal", in that writes to the bus are meant to be 
> > sort-of atomic transactions.  (Being 2-wire, you go from listen to 
> > drive by raising DTR, write your packet, and then as soon as the last 
> > character's finished, you drop DTR again to listen for the response.)
> 
> The serial bus I've used had the rx always receiving, and the 
> tx 'Wire-Or'd onto it..
> it had a differential 'Open Collector'
> (I guess open emmitter in the -ve line :)
> A simpified version would be...

The bus you've specified is almost useless, as the slew to the driven side
will be much faster than the slew away, so the difference signal will be
all over the place.  Add to this the variation in slew based on the 
number of stations on the bus, and you're in for a nightmare 8)

2-wire RS485 drivers are a dollar or so each in small quantities, and 
look something like this :

          |\
          | \----+-----------+------------
   TX ----+  >   |           Z 120 ohms at either end of the bus
          | /------+---------+------------
          |/     | |
           |     | |
           |     | |
  CTL -----+     | |
           |     | |
           o/|   | |
           / |---+ |
   RX ----<  |     |
           \ |-----+
            \|

The CTL line tristates the TX outputs, and disables the RX inputs according
to whether a station is receiving or transmitting (therefore simplex)

> If I were doing this today, I would use SLIP as an example of how to hook
> into the tty drivers..

Unfortunately, the SLIP interface doesn't hand down exactly one packet at
a time, and you can't afford to go on and off the bus inside a packet.
(You generate glitches on the line as it floats and then gets pulled back
to the space state.)

-- 
]] Mike Smith, Software Engineer        msmith@atrad.adelaide.edu.au    [[
]] Genesis Software                     genesis@atrad.adelaide.edu.au   [[
]] High-speed data acquisition and                                      [[
]] realtime instrument control          (ph/fax) +61-8-267-3039         [[
]] My car has "demand start" -Terry Lambert  UNIX: live FreeBSD or die! [[



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510120156.LAA15650>