Date: Wed, 11 Oct 1995 13:16:08 -0700 (PDT) From: Julian Elischer <julian@ref.tfs.com> To: msmith@atrad.adelaide.edu.au (Michael Smith) Cc: bde@zeta.org.au, hackers@freebsd.org, msmith@atrad.adelaide.edu.au Subject: Re: non-sio UART driver Message-ID: <199510112016.NAA03051@ref.tfs.com> In-Reply-To: <199510110315.MAA13211@genesis.atrad.adelaide.edu.au> from "Michael Smith" at Oct 11, 95 12:45:42 pm
next in thread | previous in thread | raw e-mail | index | archive | help
>
> Bruce Evans stands accused of saying:
> >
> > > As I dribbled a little while ago, I need to talk to a multidrop serial bus
> > >using a standard serial port.
> >
> > What's a multidrop serial bus?
>
> Ok ok, so "multidrop bus" is a bit of a tautology. I guess I should have
> said 2-wire RS-485.
>
> > >The nature of the protocol and interface mechanism for the bus tend to
> > >indicate to me that I don't want to use the sio driver and hack on that,
> > >but perhaps to make a copy and cut it severely down to size.
> >
> > If you need to do any normal serial i/o to a 16x50 then I suggest adding
> > to sio.
>
> 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...
It was only defined for upto 5 devices or so from memory
+ve
|
|
+-NNNN---+
| |
+-NNN---K (pnp)
| |
TX--+--NNN-K (npn) +---------+------------------
| | | |
| | z |
| +--------+ |
| -ve |
| |
| |
| +ve |
| +----+ |
| | | |
| +--K (p) | |
| | | z |
+--NNN-K(n) | | |
| | ----------)----+---------------
| | | | |
| +NN-K (npn) | |
| | | | |
| +-NN-+ | |
+--------+ | |
| | |
-ve | |
| |
/|-------------------- |
Rx --< | |
\|-------------------------
If I were doing this today, I would use SLIP as an example of how to hook
into the tty drivers..
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510112016.NAA03051>
