Home >Industry dynamics>Industry dynamics
Comprehensive Guide: Serial Communication VS Parallel Communication

What is serial communication?

Serial port, generally refers to asynchronous serial interface (Serial port), mainly used for serial bit-by-bit data transmission. The serial port is an indispensable part for us in the embedded industry. When we first started learning microcontrollers, the first communication interface we learned was USART (Universal Synchronous/Asynchronous Receiver/Transmitter) - Universal Synchronous/Asynchronous Serial row receiver/transmitter.


In addition, serial communication is mainly divided into three communication methods: RS232, RS422, and RS485. It has been explained systematically before (RS232/RS485 serial port communication introduction), and there will not introduce it in detail here.


Dingtalk_20230202145827.jpg   














As mentioned above, the serial port plays a very important role in our daily development, and we often encounter many problems and suffer from various tortures. Next, let’s talk about the common problems and solutions in the usual serial communication.

What is parallel communication?

Parallel communications is a data transmission method that allows multiple bits (usually 8 bits, or a byte) to be transmitted simultaneously over multiple data lines. This method of transmission contrasts with serial communication, where only one bit is transmitted at a time.

Main features of parallel communication

Multiple channels: Parallel communication transmits data simultaneously through multiple parallel lines, each line representing a bit in the data.

Transmission speed: Parallel communication is theoretically faster than serial communication due to the ability to transmit multiple bits simultaneously. But this speed advantage is often limited by cable length and data synchronization issues.

Cable length: Parallel communications are generally suitable for short distances because long distances can cause signal attenuation and crosstalk.

Applications: Traditionally, parallel communications have been used with printers and certain types of internal computer buses (such as IDEs). However, with the development of technology, many applications that originally used parallel communication have turned to use more efficient serial communication technology.

Connectors and Cables: Parallel communication typically requires larger connectors and more cable runs because it requires a separate channel for each transmitted bit.

With the development of technology, especially driven by USB and other high-speed serial communication technologies, traditional parallel communication interfaces are becoming less and less common in modern electronic devices, but they still have their uses in some specific application areas. The place of martial arts.

Comparison of serial communication and parallel communication

Serial communication and parallel communication are two basic methods of data transmission, and they differ in many ways:

FeatureSerial CommunicationParallel Communication
Data TransmissionData is transmitted bit by bit in a sequential order.Multiple bits are transmitted simultaneously across multiple channels.
SpeedModern standards (e.g., USB, Thunderbolt) are very fast, but traditional serial communication was slower due to sequential transmission.Traditionally faster due to simultaneous transmission of multiple bits, but limited by synchronization issues and cable length.
Cable LengthLonger cables are feasible without significant loss of signal quality.Limited to shorter cables due to issues like signal degradation and crosstalk.
ConnectorsTypically uses smaller connectors with fewer pins (e.g., USB, HDMI).Requires larger connectors with multiple pins to accommodate parallel data paths.
Common UsePredominant in modern computing and electronics (e.g., USB, SATA).Historically used for printers and some older computer peripherals, but now largely outdated.
Error RateLower error rate due to simpler transmission and error-checking mechanisms.Higher potential for errors due to complexity and multiple data channels.
Bandwidth UtilizationMore efficient bandwidth utilization, especially over longer distances.Less efficient due to the need for multiple wires and potential for interference.
ComplexitySimpler and more cost-effective in terms of wiring and circuitry.More complex due to the need for parallel data paths and synchronization mechanisms.
EvolutionHas evolved into various high-speed standards capable of handling data and power (e.g., USB-C).Has not seen significant evolution; largely replaced by more efficient serial communication methods.

Common problems & solutions in serial communication

Usually when we encounter problems in debugging serial communication, we need to use a tool such as USB to TTL, DuPont line (wire), etc. First of all, we should ensure that our tools are normal, and we can self-test and troubleshoot serial communication problems through the following methods:

1. Short-circuit the TX and RX of the
USB to TTL with a Dupont wire or a jumper cap, open the serial port debugging tools, such as XCOM, SSCOM, etc., and adjust the baud rate, stop bit, check bit and other parameters to the required The parameters of the communication module, and then send some data at will. Usually, the author prefers to use hexadecimal to send and receive, so as to ensure that there are some data in the middle or at the end of the data that cannot be visually seen using ASCII values, such as data. There are 0x00, 0x0a, etc. at the end. After making sure that there are no problems with your tools and wires, you can continue to troubleshoot communication problems


2. It is found that TX and RX have been reversely connected between the USB to TTL and the wireless module, but there is no response after sending commands to the module.

Solution: When encountering the above problems, you should first self-check the tool, and then check whether the two sides share the same ground. GND provides a reference 0 level. If there is no common ground, it is very likely that there will be problems. Next, check both sides Whether the serial port parameters are consistent, serial port communication is a communication protocol that is easy to develop and adjustable in speed, most of which we will use UART - Universal Asynchronous Transmission Receiver/Transmitter, serial port asynchronous communication can also be called start-stop asynchronous communication , is directly transmitted in units of characters, there is no fixed time requirement between characters, and each bit in each character is transmitted at a fixed time. This means that if you use a relatively high baud rate to communicate with a relatively low baud rate, it is very likely that the low baud rate device will not be able to read the communication data. Transition information of the idle signal. Here I use a more extreme example to illustrate:

Related products :

        serial-to-BLE module -- E104-BT5032A

       wireless serial port module--E280-2G4T12S




When the data bits of the parameters of both serial ports are 8bit, the stop bit is 1bit, and the parity bit is 0bit, but the baud rate of the A device is 9600, and the B device is 921600, the following situation will occur:

When B-device sends a byte of data to A-device, the time required for B-device from sending to the end is 1/921600*(8+1+1)=10.8us, and the same A-device sends/receives a The time of a byte is (8+1+1)/9600=1.04ms. Let me ask, if the time difference is several times like this, when a high baud rate is sent to a low baud rate device, it is very likely that the low baud rate The device will never think that the data stream sent is a string of data, because it cannot be parsed at all.

Therefore, the serial port communication must ensure that the baud rate, stop bit and other parameters of both parties are consistent. Conversely, sending data at a low baud rate to a high baud rate will be considered wrong data, which is the so-called garbled code.

3. It is found that the two parties have used the same parameters for communication, but there are still communication problems, such as receiving garbled characters.

Solution: First of all, you should lower the baud first to ensure that there is no problem with the module and the USB to TLL, and also make sure that the module is not in special cases such as transparent transmission. You can also use logic analyzers and other tools to check. Many logic analyzers are now With its own data analysis, it can be used to ensure that the module is normal. In fact, most of the time when you encounter this kind of problem, it is more recommended to first check whether the USB to TLL supports the current working mode.


Serial communication and parallel communication are two basic electronic data transmission methods that are widely used in computers and other electronic devices.


Overall, while parallel communication can theoretically provide higher data transfer rates, it is limited in practical applications due to signal synchronization issues and cable length limitations. In contrast, serial communications have evolved very quickly and efficiently with technological advancements, becoming the standard for modern communications.