Skip site navigation (1)Skip section navigation (2)
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>