I. What is Data Communications?
The distance over which data moves within a computer may vary from a
few thousandths of an inch, as is the case within a single IC chip, to as much as
several feet along the backplane of the main circuit board. Over such small
distances, digital data may be transmitted as direct, two-level electrical signals
over simple copper conductors. Except for the fastest computers, circuit
designers are not very concerned about the shape of the conductor or the analog
characteristics of signal transmission.
Frequently, however, data must be sent beyond the local circuitry that
constitutes a computer. In many cases, the distances involved may be
enormous. Unfortunately, as the distance between the source of a message and
its destination increases, accurate transmission becomes increasingly difficult.
This results from the electrical distortion of signals traveling through long
conductors, and from noise added to the signal as it propagates through a
transmission medium. Although some precautions must be taken for data
exchange within a computer, the biggest problems occur when data is
transferred to devices outside the computer's circuitry. In this case, distortion
and noise can become so severe that information is lost.
Data Communications concerns the transmission of digital messages to
devices external to the message source. "External" devices are generally thought
of as being independently powered circuitry that exists beyond the chassis of a
computer or other digital message source. As a rule, the maximum permissible
transmission rate of a message is directly proportional to signal power, and
inversely proportional to channel noise. It is the aim of any communications
system to provide the highest possible transmission rate at the lowest possible
power and with the least possible noise.
(A) Communications Channels
A communications channel is a pathway over which information can be
conveyed. It may be defined by a physical wire that connects communicating
devices, or by a radio, laser, or other radiated energy source that has no obvious
physical presence. Information sent through a communications channel has a
source from which the information originates, and a destination to which the
information is delivered. Although information originates from a single source,
there may be more than one destination, depending upon how many receive
stations are linked to the channel and how much energy the transmitted signal
possesses.
In a digital communications channel, the information is represented by
individual data bits, which may be encapsulated into multibit message units. A
byte, which consists of eight bits, is an example of a message unit that may be
conveyed through a digital communications channel. A collection of bytes may
itself be grouped into a frame or other higher-level message unit. Such multiple
levels of encapsulation facilitate the handling of messages in a complex data
communications network.
Any communications channel has a direction associated with it:

The message source is the transmitter, and the destination is the receiver.
A channel whose direction of transmission is unchanging is referred to as a
simplex channel. For example, a radio station is a simplex channel because it
always transmits the signal to its listeners and never allows them to transmit
back.
A half-duplex channel is a single physical channel in which the direction
may be reversed. Messages my flow in two directions, but never at the same
time, in a half-duplex system. In a telephone call, one party speaks while the
other listens. After a pause, the other party speaks and the first party listens.
Speaking simultaneously results in garbled sound that cannot be understood.
A full-duplex channel allows simultaneous message exchange in both
directions. It really consists of two simplex channels, a forward channel and a
reverse channel, linking the same points. The transmission rate of the reverse
channel may be slower if it is used only for flow control of the forward channel.
(B) Serial Communications
Most digital messages are vastly longer than just a few bits. Because it is
neither practical nor economic to transfer all bits of a long message
simultaneously, the message is broken into smaller parts and transmitted
sequentially. Bit-serial transmission conveys a message one bit at a time through
a channel. Each bit represents a part of the message. The individual bits are then
reassembled at the destination to compose the message. In general, one
channel will pass only one bit at a time. Thus, bit-serial transmission is necessary
in data communications if only a single channel is available. Bit-serial transmission is normally just called serial transmission and is the chosen communications method in many computer peripherals.
Byte-serial transmission conveys eight bits at a time through eight parallel channels. Although the raw transfer rate is eight times faster than in bit-serial transmission, eight channels are needed, and the cost may be as much as eight times higher to transmit the message. When distances are short, it may nonetheless be both feasible and economic to use parallel channels in return for
high data rates. The popular Centronics printer interface is a case where byteserial transmission is used. As another example, it is common practice to use a 16-bit-wide data bus to transfer data between a microprocessor and memory chips; this provides the equivalent of 16 parallel channels.
On the other hand, when communicating with a timesharing system over a modem, only a singlechannel is available, and bit-serial transmission is required. This figure illustrates
these ideas:

The baud rate refers to the signalling rate at which data is sent through a
channel and is measured in electrical transitions per second. In the EIA232 serial
interface standard, one signal transition, at most, occurs per bit, and the baud
rate and bit rate are identical. In this case, a rate of 9600 baud corresponds to a
transfer of 9,600 data bits per second with a bit period of 104 microseconds
(1/9600 sec.). If two electrical transitions were required for each bit, as is the
case in non-return-to-zero coding, then at a rate of 9600 baud, only 4800 bits
per second could be conveyed. The channel efficiency is the number of bits of
useful information passed through the channel per second. It does not include
framing, formatting, and error detecting bits that may be added to the
information bits before a message is transmitted, and will always be less than
one.

The data rate of a channel is often specified by its bit rate (often thought
erroneously to be the same as baud rate). However, an equivalent measure
channel capacity is bandwidth. In general, the maximum data rate a channel can
support is directly proportional to the channel's bandwidth and inversely
proportional to the channel's noise level.
A communications protocol is an agreed-upon convention that defines the
order and meaning of bits in a serial transmission. It may also specify a
procedure for exchanging messages. A protocol will define how many data bits
compose a message unit, the framing and formatting bits, any error-detecting
bits that may be added, and other information that governs control of the
communications hardware. Channel efficiency is determined by the protocol
design rather than by digital hardware considerations. Note that there is a
tradeoff between channel efficiency and reliability - protocols that provide
greater immunity to noise by adding error-detecting and -correcting codes must
necessarily become less efficient.
(C) Asynchronous vs. Synchronous Transmission
Serialized data is not generally sent at a uniform rate through a channel.
Instead, there is usually a burst of regularly spaced binary data bits followed by
a pause, after which the data flow resumes. Packets of binary data are sent in
this manner, possibly with variable-length pauses between packets, until the
message has been fully transmitted. In order for the receiving end to know the
proper moment to read individual binary bits from the channel, it must know
exactly when a packet begins and how much time elapses between bits. When
this timing information is known, the receiver is said to be synchronized with the
transmitter, and accurate data transfer becomes possible.
Failure to remain synchronized throughout a transmission will cause data to be corrupted or lost. Two basic techniques are employed to ensure correct synchronization. In
synchronous systems, separate channels are used to transmit data and timing
information. The timing channel transmits clock pulses to the receiver. Upon
receipt of a clock pulse, the receiver reads the data channel and latches the bit
value found on the channel at that moment. The data channel is not read again
until the next clock pulse arrives. Because the transmitter originates both the
data and the timing pulses, the receiver will read the data channel only when
told to do so by the transmitter (via the clock pulse), and synchronization is
guaranteed. Techniques exist to merge the timing signal with the data so that only a
single channel is required. This is especially useful when synchronous
transmissions are to be sent through a modem. Two methods in which a data
signal is self-timed are nonreturn-to-zero and biphase Manchester coding. These
both refer to methods for encoding a data stream into an electrical waveform for
transmission.
In asynchronous systems, a separate timing channel is not used. The
transmitter and receiver must be preset in advance to an agreed-upon baud rate.
A very accurate local oscillator within the receiver will then generate an internal
clock signal that is equal to the transmitter's within a fraction of a percent. For
the most common serial protocol, data is sent in small packets of 10 or 11 bits,
eight of which constitute message information. When the channel is idle, the
signal voltage corresponds to a continuous logic '1'. A data packet always begins
with a logic '0' (the start bit) to signal the receiver that a transmission is starting.
The start bit triggers an internal timer in the receiver that generates the needed
clock pulses. Following the start bit, eight bits of message data are sent bit by bit
at the agreed upon baud rate. The packet is concluded with a parity bit and stop
bit. One complete packet is illustrated below:
The packet length is short in asynchronous systems to minimize the risk
that the local oscillators in the receiver and transmitter will drift apart. When
high-quality crystal oscillators are used, synchronization can be guaranteed over
an 11-bit period. Every time a new packet is sent, the start bit resets the
synchronization, so the pause between packets can be arbitrarily long. Note that
the EIA232 standard defines electrical, timing, and mechanical characteristics of
a serial interface. However, it does not include the asynchronous serial protocol
shown in the previous figure, or the ASCII alphabet described next.
