In the Part 1 of this article, we learnt that devices connect with each other using different wired ports. Each of these ports are either serial or parallel in communications. Within the serial and parallel communications, we have different protocols (ways) of communication.
Let’s say we want to send 8 bits of data from one device to another, say between two Arduino devices. We can either send this data via. Serial communication or via. Parallel communication. The major difference between serial communication and parallel communication is: in serial communication, you use only one wire to send 8 bits sequentially one after another, whereas in parallel communication you use 8 wires to send 1 bit in each wire at the same time.
SERIAL COMMUNICATION: Connect the TX from the transmitter device to RX of the receiver device. The bits will be transmitted sequentially one after another at a certain speed like 9600 bits/sec (which is called the baud rate).
PARALLEL COMMUNICATION: Connect 8 wires between the transmitter device and the receiver device. All the 8 bits will be transmitted simultaneously (at the same time).
Suppose you want to connect the Arduino to a 7 segment display of numbers. You can connect 8 wires to the display (each wire sends a 01 or 1 (on or off) of one line of the led display) and transmit parallelly as shown below.
Or you can connect with one wire and transmit the 8 bits serially.
So, what are the disadvantages and advantages of serial vs parallel communication?
As you see parallel communication is faster because it transmits data parallelly. But despite being faster, it is a mode of communication that you don’t often see being used frequently. This is primarily because it suffers from a lot of noise and error-prone, it needs more hardware,and it is not reliable for long distances. On the other hand, serial communication is extremely reliable over long distances and hence has become the most used form of communication. Devices within the motherboard or IC use a lot of parallel communication because it is short distance and there are no major issues of reliability within that small distance environment.
And within serial communiciation, there are different protocols to do the same thing different ways. There are different protocols of doing serial communication: CAN, UART, ETHERNET, I2C, SPI, RS232, USB, 1-Wire, and SATA. For example, within Arduino Uno three different types of serial communications are supported.
Hope this is useful, thank you.