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>
