dwh@cfcl.UUCP (Dave Hamaker) (02/21/89)
I have an idea for serial communications which sounds good to me, but as a software type I'm not sure if it makes sense from an electronics perspective. This seems the obvious place to ask for feedback. As background, there is a tendency to denigrate asynchronous communi- cations as being 20% slower than synchronous communications because of the start/stop bits required for each character in the former. Also, there has been an evolution of synchronous called "bit synchronous" which is used in the SDLC/HDLC schemes. I asked myself what a corresponding evolution of asynchronous might be like. What I came up with was the idea of using a start bit to signal the transition from the idle state to the transmitting state, omitting start/stop bits between adjacently-transmitted characters, and requiring a minimum of nine stop bit times between non-adjacently-transmitted characters. The all-ones character is followed by an extra zero bit to: 1) distinguish it from the return-to-idle-state pattern, and 2) force line-state transitions so clock-drift can be compensated for. The all-zeros character is likewise followed by an extra one bit to: 1) mainly force the line-state transitions, and 2) allow the coding of other signals, such as break. Break is a long all-zeros signal which must be at least three bit times longer than a character time at the slowest defined bit rate, so that it is a speed-independent signal. The pattern of a character's worth of zero bits followed by a zero bit then a one bit is a prefix used to multiplex status information into the data stream, so we can use three-wire-style interconnection. I haven't settled on a particular coding scheme for such status information, but the status-exchange protocol will require enough sophistication to make disagreement as to current status highly unlikely. Status deals with things like hardware flow-control signals, ready signals, and carrier-detection. I think automatic speed detection can profitably be included. I can envision putting this kind of thing into a package which is pin-compatible with current UARTs and USARTS, but I think I would change the cabling scheme to use 4-wire modular telephone-style connection. DTE and DCE equipment would use exactly the same connector socket with the same pin assignments (no more null modem cables): looking into a socket without worrying about the left-to-right/right-to-left pin assignment question yet, we get something like: pin 1 = transmit data pin 2 = transmit ground pin 3 = receive ground pin 4 = receive data which allows a common ground usage if you tie pins 2&3 together, but also lets you wire for separate grounds and twisted pair. Standard modular plug cables connect pin 1 to pin 4 and pin 2 to pin 3; which is _exactly_ what you want. How doable is this? (I know I have probably been overly concise in the above presentation, but it is already getting long. I'll happily respond to requests for clarification.) -Dave Hamaker ...!ucbvax!ucsfcgl!hoptoad!cfcl!dwh
blarson@skat.usc.edu (Bob Larson) (02/26/89)
In article <315@cfcl.UUCP> dwh@cfcl.UUCP (Dave Hamaker) writes: >I have an idea for serial communications which sounds good to me, but >as a software type I'm not sure if it makes sense from an electronics >perspective. > >As background, there is a tendency to denigrate asynchronous communi- >cations as being 20% slower than synchronous communications because of >the start/stop bits required for each character in the former. While this is true, actual bits/second over a piece of wire is rarely a limitation. Just specifying better wire will get you up to at least the hundreds of megabits per second range. (Coax) A guarenteed, completely out of band flow control is MUCH more important. Modems and such that are woried about a few percent eficency could use this converting from async to sync. >I think automatic speed detection can profitably be included. If your going to spec a new protocol, you might as well specify exactly one speed and use the out of band flow control. The new protocol should be symetrical and include flow control, dtr/dsr, cd, etc without extra wires. >I think I would >change the cabling scheme to use 4-wire modular telephone-style >connection. These connecters are TO common to be considered. Most computers wouldn't like the 100 VAC ring signal from a phone, and the phone co. wouldn't like you shorting out their wires. Since (most) phones don't care about wiring polarity, you'll probably find many existing cables don't have the needed twist. (Not to mention the 2 wire cables.) Phone connectors don't support shielding. Good features of the phone connector include: cheap, easily available. I kind of like the idea of an androginous connector, so all cables may be used as extentions. (The connector would have a male and a female side.) I'd specify: cable: two sheilded twised pairs, shileds isolated from each other. Sheilds are a nessesity now that the FCC has cracked down on RFI. connector: (see above, I havn't found a real one I like) Transmiter: balanced, signal levels specifed so it can be driven from a single 5v power supply. Must respond to flow control within 2 characters. Receiver: opto-isolated, must detect loss of transmission signal (both lines at the same potentional) and force the transmitter to send same back for at least 1 second and reset all compunications paramaters to the defaults. Must accept 256 characters after sending flow control. (This allows 38 ms of transmission delay, enough for the local lines this is speced for.) Speed: 64k bits/second Both sides must be implemented for flow control, etc. even if all data transfer will be in one direction. More out of band signals to negociate error correcting protocol, etc. >How doable is this? The hard part is getting anybody else to implement it. The ANSI commitee that did RS422/RS423 obviously didn't understand what was wrong with RS232c. (25 pins is WAY too many, so they go to 37 plus an optional 15!) >-Dave Hamaker >...!ucbvax!ucsfcgl!hoptoad!cfcl!dwh Bob Larson Arpa: Blarson@Ecla.Usc.Edu blarson@skat.usc.edu Uucp: {sdcrdcf,cit-vax}!oberon!skat!blarson Prime mailing list: info-prime-request%ais1@ecla.usc.edu oberon!ais1!info-prime-request
jbn@glacier.STANFORD.EDU (John B. Nagle) (02/27/89)
In article <315@cfcl.UUCP> dwh@cfcl.UUCP (Dave Hamaker) writes: >I have an idea for serial communications which sounds good to me, but >as a software type I'm not sure if it makes sense from an electronics >perspective. What he describes turn out to be the specs for a low-end LAN, and is rather close, in fact, to AppleTalk. John Nagle