Serial communications
From Wikipedia, the free encyclopedia
In telecommunications and computer science, serial communications is the process of sending data one bit at one time, sequentially, over a communications channel or computer bus. This is in contrast to parallel communications, where all the bits of each symbol are sent together. Serial communications is used for all long-haul communications and most computer networks, where the cost of cable and synchronization difficulties make parallel communications impractical. Serial computer buses are becoming more common as improved technology enables them to transfer data at higher speeds.
Contents |
[edit] Teletype systems
Standard teletype systems evolved as an automated telegraphy system called telex. Originally, a rotating mechanical commutator (a rotating switch) was started by a "start bit". The commutator would distribute the other bits to set relays that would pull on solenoids which would cause the mechanism to print a figure on paper. The routing was automated with rotary electromechanical dialing systems like those used in early telephone systems. When computers became commonplace, these serial communication systems were adapted using I/O devices called serial ports that used UARTs. The development of communications hardware had a deep continuing impact on the nature of software and operating systems, both of which usually arrange data as sequences of characters.
[edit] Serial buses
Integrated circuits are more expensive when they have more pins. To reduce the pins, many ICs use a serial bus to transfer data when speed is not important. Some examples of such low-cost serial buses include SPI, I²C, and 1-Wire.
[edit] Serial versus parallel
The communications links across which computers—or parts of computers—talk to one another may be either serial or parallel. A parallel link transmits several streams of data (perhaps representing particular bits of a stream of bytes) along multiple channels (wires, printed circuit tracks, optical fibres, etc.); a serial link transmits a single stream of data.
At first sight it would seem that a serial link must be inferior to a parallel one, because it can transmit less data on each clock tick. However, it is often the case that serial links can be clocked considerably faster than parallel links, and achieve a higher data rate. A number of factors allow serial to be clocked at a greater rate:
- Clock skew between different channels is not an issue (for unclocked serial links)
- A serial connection requires fewer interconnecting cables (e.g. wires/fibres) and hence occupies less space. The extra space allows for better isolation of the channel from its surroundings
- Crosstalk is less of an issue, because there are fewer conductors in proximity.
In many cases, serial is a better option because it is cheaper to implement. Many ICs have serial interfaces, as opposed to parallel ones, so that they have fewer pins and are therefore cheaper.
[edit] Examples of serial communication architectures
- Morse code telegraphy
- RS-232 (low-speed, implemented by Serial Ports)
- RS-485
- Universal Serial Bus (moderate-speed, for connecting computers to peripherals)
- FireWire
- Fibre Channel (high-speed, for connecting computers to mass storage devices)
- InfiniBand (very high speed, broadly comparable in scope to PCI)
- Midi control of electronic musical instruments
- DMX512 control of theatrical lighting
- Serial Attached SCSI
- Serial ATA
- PCI Express
(see additional examples in Computer bus)
There are a number of serial communication standards which, while significantly at variance with the RS-232 standard, are casually and incorrectly called "RS-232".
[edit] See also
- List of device bandwidths
- Comparison of synchronous and asynchronous signalling
- Asynchronous serial communication