From owner-freebsd-hackers Wed Oct 11 13:17:00 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id NAA16500 for hackers-outgoing; Wed, 11 Oct 1995 13:17:00 -0700 Received: from ref.tfs.com (ref.tfs.com [140.145.254.251]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id NAA16494 for ; Wed, 11 Oct 1995 13:16:56 -0700 Received: (from julian@localhost) by ref.tfs.com (8.6.11/8.6.9) id NAA03051; Wed, 11 Oct 1995 13:16:09 -0700 From: Julian Elischer Message-Id: <199510112016.NAA03051@ref.tfs.com> Subject: Re: non-sio UART driver To: msmith@atrad.adelaide.edu.au (Michael Smith) Date: Wed, 11 Oct 1995 13:16:08 -0700 (PDT) Cc: bde@zeta.org.au, hackers@freebsd.org, msmith@atrad.adelaide.edu.au In-Reply-To: <199510110315.MAA13211@genesis.atrad.adelaide.edu.au> from "Michael Smith" at Oct 11, 95 12:45:42 pm X-Mailer: ELM [version 2.4 PL24] Content-Type: text Content-Length: 3106 Sender: owner-hackers@freebsd.org Precedence: bulk > > 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..