Computers and Serial Communication

Back to the previous section, Early Microprocessors and the UART

5. Modern Serial Communication

Telecommunications companies used to be called telephone companies, but much of the traffic they carry is no longer telephone calls, and much of the traffic is computer-to-computer communication. Since the long distance telephone network is all digital, using the same network for computer communications is both easy and efficient. The problem is the same as it was in the days of the telegraph: long communication lines are expensive, so any way of getting more telephone calls or more data through the line makes communication cheaper for everyone, and makes business more profitable for the communications companies.

When computers are interconnected with communication links the result is called a computer network. If computers are connected over long distances by a communications company, this is called a Wide Area Network (WAN). If they are connected to nearby computers, using wires or fiber optic cables, or even radio waves or infrared light, this is called a Local Area Network (LAN). Most Local Area Networks interconnect computers using either coaxial cable (similar to cable TV cable) or using bundles of twisted wires similar to the telephone wiring in a house.

Communication between computers is not like using the telephone. Computers communicate in short bursts, so that when two computers are not communicating, the same line can be used by other computers. These bursts are usually called packets. Packets are even used in places where they are not really needed because they have many advantages, like making it easy to detect errors and get them corrected, so the communication is error free.

A packet is a short burst of serial communication. It starts with a special sequence to synchronize the receiver, which may be followed by many types of information needed to transmit the message, such as the source and destination addresses, perhaps information about the size of the packet or what type of data it contains. This part of the packet is called a header. The packet header is followed by the data, which may be from one to several thousand bytes. At the end of the packet is usually a check number, which acts like the parity bit in asynchronous communication and allows the receiver to check the packet to make sure it arrived without errors. This check number is called a checksum or Cyclical Redundancy Check (CRC), and works much, much better than a parity bit for detecting errors.

Because packet communication does not use start and stop bits, it is a form of synchronous communication. Methods similar to packet communication are also used to record on both hard and floppy disk drives, tape drives and other data storage devices which require the data to be converted to a serial form before it can be recorded.

When a packet is received, the receiving computer sometimes returns a special packet, called an acknowledgement. If the receipt of each packet is acknowledged, then the sender can be sure the packet was delivered. If an error was detected when the packet was received, then instead of an acknowledgement, a request to resend the bad packet can be sent. By setting up a set of complicated rules like this, it is possible for communication between two computers to be made reliable and error free. A set of rules like this is called a protocol. Many different protocols are used in computer communication, and different protocols are good at different tasks. For example, a Local Area Network with high speeds and fast response times can be more efficient if it uses a different protocol than one designed for a Wide Area Network.

Wide Area Networks place special demands on the protocol used to deliver the data. When a packet enters the network, there may be several possible communication lines available to transmit the packet. Information from the packet header is used by a special computer to select from the available communication paths and send the packet closer to its destination. This special computer is called a router. A packet may pass through several routers on the way to the receiver. Each router must understand the protocol used by the packet, so that it can tell where it is coming from, where it is going, whether it contains an error, and so on, and this information is used to route the packet through the network.

When a modem is used to dial up a computer over a telephone line, the connection looks just like an asynchronous serial link, just like a teletype connection, but at a much faster speed. However, high speed modems break up the information into packets so it can be checked for errors more efficiently, so the data can be compressed to make the transmission speed appear faster, and so the start and stop bits can be dropped to make things faster. Just like in computer networks, modems use their own protocols to deliver the data in a reliable and error free manner. This is just one example of using a protocol to make a connection that uses packets look like a regular simple serial link.

The original telegraph lines could transmit from two to about four characters per second, depending on the skill of the operator. Modern optical fiber networks are almost unimaginably faster, sending data at ten million characters per second and faster, over distances that span the entire globe. But the methods used to do this were not invented all at once, as we have seen. They are the result of 150 years of continuous improvement, an effort to make telegraph and telephone lines faster, less expensive and more reliable. But one thing has not changed: the data is still sent serially, one bit at a time.

Back to the Index
feedback to the author