Parallel vs serial communication
Without communication protocols, there would be no embedded electronics or microcontrollers. They allow integrated circuits to share data and information with each other. It would be an understatement to say there are quite a lot of communication protocols. They fit in one of two categories, though: parallel or serial. Let’s learn more about how different these two categories are.
Between the two, parallel communication was used much more in the past. It was the preferred choice of sending the data at the time. While not as common as it once was, it is still used in many different applications. You’ll mostly find it inside your devices in some crucial internal workings, such as RAM or CPU.
The main principle is simple – use more wires to transfer data bits faster and at the same time. If your parallel bus has eight wires, and the data you’re sending has eight bits, you can send them simultaneously. More data wires mean higher throughput rates, which results in faster output. The most common number of wires is 8, 16, and 32, but it can go higher than that. Hence, 8, 16, or 32 bits can be sent together.
To ensure that bits are sent at the same time, a clocking signal sent over a separate wire is provided. Thus, we can say that parallel communication is synchronous. The parallel channel can also have a signal to control data flow’s direction and a handshaking signal.
Parallel communication is half-duplex, which means that data bits can be sent in either direction. A device can send data, as well as receive it. This cannot happen simultaneously, though. If data is being transmitted in one direction on the bus, the transmission must finish before going the other way.
Issues with parallel communication
One disadvantage of parallel communication is the number of I/O lines it needs. When data is sent in 8, 16, or 32 bits, each bit needs its own physical I/O line. Thus, the faster or bigger the data transfer you want, the more wires you need. This also increases the cost of the connection, especially for longer connections. Always keep in mind that you’re trading physical lines for speed when working with parallel communication.
These physical I/O lines, or connectors, are prone to damage. They can easily be bent and if you’re not careful, you can damage them beyond repair.
Another thing to be aware of is the distance between the two components. Parallel connections work really well for short distances and point-to-point connections, but the bigger the distance, the worse it gets. You’ll always want to keep it to a minimum.
The length of the cable can also increase the probability of crosstalk. Also known as noise, crosstalk is when an electromagnetic signal affects another electromagnetic signal, creating an unwanted effect. This happens when the data lines are close together. Adding more lines makes this even more apparent.
Lastly, another issue arises when data bits on the same clock signal get mixed up and arrive at different times. This is quite a problem because parallel communication requires all data bits to be received simultaneously. This difference is called clock skew. The receiver will usually wait for all the bits to be transferred, and then take them all in at the same time. Clock skew is one of the reasons why serial interfaces are preferred over parallel ones.
The other communication category is serial communication. You’ve probably already come across this category without even realizing it. If you’ve ever plugged in a USB device to your computer or laptop, you’ve used serial communication. It’s in the name, after all (USB = Universal Serial Bus). Serial communication is used for long-haul communication where parallel communication would be impractical due to its common issues. Lately, serial communication is becoming more common at shorter distances due to improvements it has been seeing. It is often used in peripheral devices such as keyboards and computer mouses, as well as computer expansion buses. One such example is PCI Express.
Unlike parallel communication which sends multiple bits at the same time, serial communication sends them one by one. It can use as little as one wire, but two or more are most common. It usually never uses more than four. This cuts down the cost of wiring material and relaying equipment. It also takes less space on a PCB . It is the simple form of communication between two devices we call a sender and a receiver. It can be either synchronous or asynchronous. Some of the most common serial communication protocols you’ll be working with are UART , SPI , and I2C .
Serial communication can be half-duplex like parallel communication, as well as simplex and full-duplex. Simplex denotes that data bits can only be sent one way, while full-duplex means they can be sent both ways simultaneously.
Issues with serial communication
The main issue with serial communication is speed. More wires typically mean more speed, hence serial communication is slower than parallel communication. Optimized applications for parallel communication can greatly exceed serial communication’s data transfer rate. However, due to the modern technical advancements, many speed limitations originally found with serial communications were reached and passed.
Since there is only one data line and fewer conductors in proximity, crosstalk is less of an issue in serial communication. It can still happen, but it’s much rarer. Because of longer distance applications, higher throughput, and multiple nodes, serial transmission is more complex and harder to analyze. In contrast, parallel transmission is easier to analyze due to shorter distances and simple timing.
Parallel vs Serial
If you were to imagine parallel and serial communication as types of roads, you’d get a clearer picture of them. Parallel communication would be a mega-highway with 8 or more lanes. It can get a bunch of cars to their destinations in less time, but it costs more to build. Mega-highways aren’t as frequent as normal two-lane roads, which would be serial communication. Two-lane roads are pretty much everywhere and they can be built with just a fraction of the cost of mega-highways. Seems very similar, doesn’t it?
Let’s take a look at the table below to see a more comprehensive comparison between the two.
Which one should you use?
It depends. As we’ve seen both communications have their advantages and disadvantages. If your integrated circuit supports a small number of I/O pins, you should probably choose serial over parallel communication. However, if you want faster speed at a smaller distance, parallel communication is a better choice.
Serial communication is slowly but surely taking over most electronic devices. Parallel communication still takes place within a computer system, on a computer bus. We’re sure it will never disappear as in some situations it’s just the better solution. However, we would recommend you start with learning serial communication first and then parallel later down the road.
If you want to work on some projects with serial communication such as I2C, check out the tutorials page . New tutorials are often added so be sure to check back after some time. 🙂
Products used in this tutorial
No products found