Asynchronous serial communication

From HandWiki
Short description: Form of serial communication lacking synchronization control signals
In this diagram, two bytes are sent, each consisting of a start bit, followed by eight data bits (bits 0-7), and one stop bit, for a 10-bit character frame. The last data bit is sometimes used as a parity bit. The number of data and formatting bits, the order of data bits, the presence or absence of a parity bit, the form of parity (even or odd) and the transmission speed must be pre-agreed by the communicating parties. The "stop bit" is actually a "stop period"; the stop period of the transmitter may be arbitrarily long. It cannot be shorter than a specified amount, usually 1 to 2 bit times. The receiver requires a shorter stop period than the transmitter. At the end of each character, the receiver stops briefly to wait for the next start bit. It is this difference which keeps the transmitter and receiver synchronized.

Asynchronous serial communication is a form of serial communication in which the communicating endpoints' interfaces are not continuously synchronized by a common clock signal. Instead of a common synchronization signal, the data stream contains synchronization information in form of start and stop signals, before and after each unit of transmission, respectively. The start signal prepares the receiver for arrival of data and the stop signal resets its state to enable triggering of a new sequence.

A common kind of start-stop transmission is ASCII over RS-232, for example for use in teletypewriter operation.

Origin

Mechanical teleprinters using 5-bit codes (see Baudot code) typically used a stop period of 1.5 bit times.[1] Very early electromechanical teletypewriters (pre-1930) could require 2 stop bits to allow mechanical impression without buffering.[citation needed] Hardware which does not support fractional stop bits can communicate with a device that uses 1.5 bit times if it is configured to send 2 stop bits when transmitting and requiring 1 stop bit when receiving.

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[citation needed] 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, 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, granted July 3, 1917).

Operation

Before signaling will work, the sender and receiver must agree on the signaling parameters:

  • Full or half-duplex operation
  • The number of bits per character -- currently almost always 8-bit characters, but historically some transmitters have used a five-bit character code, six-bit character code, or a 7-bit ASCII.
  • Endianness: the order in which the bits are sent
  • The speed or bits per second of the line (equal to the Baud rate when each symbol represents one bit). Some systems use automatic speed detection, also called automatic baud rate detection.
  • Whether to use or not use parity
  • Odd or even parity, if used
  • 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 and so on, frequency-shift polarities in frequency-shift keying and so on)

Asynchronous start-stop signaling was widely used for dial-up modem access to time-sharing computers and BBS systems. These systems used either seven or eight data bits, transmitted least-significant bit first, in accordance with the ASCII standard.

Between computers, the most common configuration used was "8N1": eight-bit characters, with one start bit, one stop bit, and no parity bit. Thus 10 Baud times are used to send a single character, and so dividing the signaling bit-rate by ten results in the overall transmission speed in characters per second.

Asynchronous start-stop is the lower data-link layer used to connect computers to modems for many dial-up Internet access applications, using a second (encapsulating) data link framing protocol such as PPP to create packets made up out of asynchronous serial characters. The most common physical layer interface used is RS-232D. 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 also

References

  1. Description, Typebar Page Printer (Model 15). Bulletin No. 144. Chicago: Teletype Corporation. 1931. p. 11. http://www.bitsavers.org/pdf/teletype/144_Model15_Descr_Feb31.pdf. Dead link: 2015-Oct-03

Further reading

External links