A given transmission on a communication channel between two machines can occur in several different ways. The transmission is characterized by the direction of the exchanges, the transmission mode, or the number of bits sent simultaneously, and the synchronization between the transmitter and receiver.
What are simplex, half-duplex, and full-duplex connections?
3 different transmission modes are characterized according to the direction of the exchanges: a simplex connection, a half-duplex connection, and a full-duplex connection.
- Simplex connection
A simplex connection is a connection in which the data flows in only one direction, from the transmitter to the receiver. This connection is useful if the data does not need to flow in both directions (for example, from your computer to the printer, from the mouse to your computer, etc.).
- Half-duplex connection
A half-duplex connection sometimes called an alternating connection or semi-duplex is a connection in which the data flows in one direction or the other, but not both simultaneously. With this type of connection, each end transmits in turn. This type of connection makes it possible to have bidirectional communications using the line's total capacity.
- Full-duplex connection
A full-duplex connection is a connection in which the data flows in both directions simultaneously. Each end of the line can, thus, transmit and receive at the same time. This means that the bandwidth is divided in two for each direction of data transmission if the same transmission medium is used for both transmission directions.
What are serial and parallel transmission modes?
The transmission mode refers to the number of elementary units of information (bits) that the communications channel can simultaneously translate. Recent processors (and, therefore, computers in general) never process a single bit at a time.
- Parallel Connection
A parallel connection means the simultaneous transmission of N bits. These bits are sent simultaneously over N different channels (a channel being, for example, a wire, a cable, or any other physical medium). The parallel connection on PC-type computers generally requires 10 wires:
These channels may be:
N physical lines: each bit is sent on a physical line - this is why parallel cables are made up of several wires in a ribbon cable.
One physical line: divided into several sub-channels by dividing up the bandwidth (in which case each bit is sent at a different frequency).
Since the conductive wires are close to each other in the ribbon cable, interference can occur (particularly at high speeds), and degrade the signal quality.
- Serial connection
In a serial connection, the data is sent one bit at a time over the transmission channel. However, because most processors process data in parallel, the transmitter needs to transform incoming parallel data into serial data and the receiver needs to do the opposite:
These operations are performed by a communications controller (usually a UART or a Universal Asynchronous Receiver Transmitter) chip.
What is a parallel-serial transmission?
The parallel-serial transmission is performed using a shift register. The shift register, working together with a clock, will shift the register (containing all of the data presented in parallel) by one position to the left and, then, transmit the most significant bit (the leftmost one) and so on:
The serial-parallel transmission is done almost the same way using a shift register. The shift register shifts the register by one position to the left each time a bit is received and, then, transmits the entire register in parallel when it is full:
What are asynchronous and synchronous transmission modes?
Given the problems with a parallel-type connection, serial connections are typically used. However, because a single wire transports the information, the problem is how to synchronize the transmitter and receiver. In other words, the receiver can not necessarily distinguish the characters (or the bit sequences) because the bits are sent one after the other.
Two types of transmission address this problem: an asynchronous connection and a synchronous connection.
- An asynchronous connection: each character is sent at irregular intervals in time. For example, imagine that a single bit is transmitted during a long period of silence. The receiver will not be able to know if this is 00010000, 10000000, or 00000100. To remedy this problem, each character is preceded by information indicating the start of character transmission (the transmission start information is called a START bit) and ends by sending end-of-transmission information (called STOP bit). There may even be several STOP bits.
- A synchronous connection: the transmitter and receiver are paced by the same clock. The receiver continuously receives the information at the same rate the transmitter sends it (even when no bits are transmitted). This is why the transmitter and receiver are paced at the same speed. In addition, supplementary information is inserted to guarantee no errors during transmission.
During synchronous transmission, the bits are sent successively without separating each character, so it is necessary to insert character-level synchronization elements.
The main disadvantage of synchronous transmission is that it recognizes the data at the receiver, as there may be differences between the transmitter and receiver clocks. Each data transmission must be sustained long enough for the receiver to distinguish it. As a result, the transmission speed can not be very high in a synchronous link.