Asynchronous serial communication
From Wikipedia, the free encyclopedia
Asynchronous serial communication describes an asynchronous, serial transmission protocol in which a start signal is sent prior to each byte, character or code word and a stop signal is sent after each code word. The start signal serves to prepare the receiving mechanism for the reception and registration of a symbol and the stop signal serves to bring the receiving mechanism to rest in preparation for the reception of the next symbol. A common kind of start-stop transmission is ASCII over RS-232, for example for use in teletypewriter operation.
In the diagram, a start bit is sent, followed by eight data bits, no parity bit and one stop bit, for a 10-bit character frame. The number of data and formatting bits, and the transmission speed, must be pre-agreed by the communicating parties.
After the stop bit, the line may remain idle indefinitely, or another character may immediately be started.
The minimum stop bit length required by the system can be larger than a "bit". In fact, old electromechanical teletypewriters could demand 2 stop bits to allow mechanical impression without buffering, and RTTY amateur radio is known to historically require 1.5 stop bits. New hardware that doesn't support fractional stop bits can be configured to send 2 stop bits when transmitting and requiring 1 stop bit when receiving.
Contents |
[edit] Origins with teletypewriters
The format is derived directly from the design of the teletypewriter, which was designed this way because the electromechanical technology of its day was not precise enough for synchronous operation: thus the systems needed to be re-synchronized at the start of each character. Having been re-synchronized, the technology of the day was good enough to preserve bit-sync for the remainder of the character. The stop bits gave the system time to recover before the next start bit. Early teleprinter systems used five data bits, typically with some variant of the Baudot code.
Very early experimental printing telegraph devices used only a start bit and required manual adjustment of the receiver mechanism speed to reliably decode characters. Automatic synchronization was required to keep the transmitting and receiving units "in step". This was finally achieved by Howard Krum, (an electrical engineer and son of Charles Krum) who patented the start-stop method of synchronization US patent 1199011 , granted September 19, 1916 then US patent 1286351 , granted December 3, 1918. Shortly afterward a practical teleprinter was patented US patent 1232045 July 3, 1917.
[edit] Asynchronous start/stop operation
Before signalling will work, the sender and receiver must agree on the signalling parameters:
- full or half-duplex operation
- the number of bits per character
- the speed or Baud of the line
- both sides must agree to use or not use parity
- if parity is used, both sides must agree on using odd or even parity
- the number of stop bits sent must be chosen (the number sent must be at least what the receiver needs)
- Mark and space symbols (current directions in early telegraphy, later voltage polarities in EIA RS-232 etc, frequency shift polarities in frequency shift keying, etc.
Asynchronous start-stop signalling was widely used for dial-up modem access to time-sharing computers and BBS systems. These systems used either seven or eight data bits.
Between computers, the most common configuration used was "8N1": eight bit characters, with one stop bit and no parity bit. Thus 10 Baud times are used to send a single character, which has the nice side-effect that dividing the signalling bit-rate by ten results in the overall transmission speed in characters per second.
Asynchronous start-stop is the physical layer used to connect computers to modems for many dial-up Internet access applications, using a data link framing protocol such as PPP to create packets made up out of asynchronous serial characters. The performance loss relative to synchronous access is negligible, as most modern modems will use a private synchronous protocol to send the data between themselves, and the asynchronous links at each end are operated faster than this data link, with flow control being used to throttle the data rate to prevent overrun.
See comparison of synchronous and asynchronous signalling for alternatives to asynchronous start/stop operation.