Serial Communication
Serial communication allows a series of bytes (or ASCII characters) to be sent along a single wire. The bytes are often grouped to form frame in the link layer software. Every byte in a frame is sent in succession.
- At the sender, each byte of data is serialised by a parallel load to a shift register (in either hardware or software), the shift register is then clocked at the required transmission rate to serialise each byte into the sequence of bauds to be sent.
- The output of the shift register is mapped to a "baud". Each baud is sent for a fixed period of time on the cable. (not all bauds carry data, some are used for overhead - e.g., start/stop bauds). A bus driver, also known as transceiver, generates the required signal for a baud on the cable.
- At the receiver, the signal representing each baud sent on the cable is sampled using a clock. This must identify the timing of each baud (in practice it is preferable to identify the centre of the baud - since this usually indicates the point of maximum signal power).
- A clock is also needed to clock received bauds into the receive shift register.
- The shift register is read in paralel once all the bits forming a byte have been received. This is then forwarded for processing by the link layer, where successive bytes are grouped to form a frame of data that may be interpreted.
The functions required for serial transmission can usually be grouped into three layers:
- The cable, interface to the cable, and the line transceiver form the physical layer that sends are receives bauds.
- The serialisation and de-serialisation is normally performed by a univeral asynchronus/synchronous transmitter (UART), allowing inidividual bytes to be transmitted.
- The framing of bytes into messages and the interpretation of this data is normally perfomed by the link layer software.
Signal Timing
There are two basic ways that timing may be provided for a communications link:
- In asynchronous communication, the sender and receiver clocks operate at the same predetermined nominal frequency. Each slot/character is individually synchronised. There can be an arbitrary idle gap between slots, identified by a Mark level (high). Although both clocks are set to the same frequency, they are not synchronised, so the timing is only roughly aligned to the received data. This is effective at lower data rates.
- In synchronous communication, the sender and receiver use clocks that are synchronised, usually using a phase-locked loop or dedicated clock wire to communicate the timing to the receiver. This ensures that the receiver is able to accurately determine the centre of each data bit when decoding the data that has been sent and is required for higher data rates.
NRZ Signal Baud Encoding
Non-Return to Xero (NRZ) encoding is commonly used in slow speed communications interfaces for both synchronous and asynchronous transmission. Using NRZ, a logic 1 bit is sent as a high value and a logic 0 bit is sent as a low value. (The line driver chip that is used to connect the cable may subsequently invert these signals). This works fine for asynchronous communications (where the clock resynchronises every byte), but requires additional methods to encode the clock signal with the data when used with synchronous transmission.
Puzzled???
If you ever have connected a computer terminal to a storage
oscilloscope to look at the waveform you may have been rather
puzzled at the result! Click HERE
to find out why. Aso note: Some modeen devices uise an update to EIA-232, which uses a signal with a 10V difference between a 1 and 0 baud, and achieves higher baud rates at greater cable distance.
See also:
Prof. Gorry Fairhurst, School of Engineering, University of Aberdeen, Scotland. (2025)