Communication issues, just like traffic problems, can have various situations such as high-speed, low-speed, congestion, interruptions, etc. If we compare serial communication to traffic, UART can be likened to a station, while a frame of data is similar to a car. Cars on the road must obey traffic rules. In urban areas, speed limits are generally 30 or 40, while highways can go up to 120. The type of road and the speed limit depend on the protocol specifications. Common serial port protocols include RS-232, RS-422, and RS-485. What are the subtle differences between them? Let’s explore together.
1. What is UART?
UART stands for Universal Asynchronous Receiver/Transmitter, commonly referred to as UART. It is a key module for asynchronous communication between devices. UART handles the serial/parallel conversion between the data bus and the serial port and specifies the frame format. As long as both parties use the same frame format and baud rate, communication can be completed using only two signal lines (Rx and Tx) without sharing clock signals, which is why it is also called asynchronous serial communication.
By adding an appropriate level converter, such as SP3232E or SP3485, UART can also be used for RS-232 or RS-485 communication or connected to a computer port. UART is widely used in applications such as mobile phones, industrial control, and PCs.
UART uses asynchronous, serial communication. Serial communication refers to transmitting data sequentially one bit at a time over a single transmission line. The main feature is that the communication line is simple, allowing communication using simple cables, reducing costs, suitable for long-distance communication but slower transmission speeds. Asynchronous communication uses a character as the transmission unit, and the time interval between two characters during communication is not fixed, while the time interval between two adjacent bits within the same character is fixed. The data transmission rate is expressed in baud rate, which is the number of binary bits transmitted per second. For example, if the data transmission rate is 120 characters per second and each character consists of 10 bits (1 start bit, 7 data bits, 1 parity bit, and 1 stop bit), then the baud rate is 10 × 120 = 1200 characters per second = 1200 baud. The data communication format is shown in the following figure: The meanings of each bit are as follows: Start bit: Sends a logic “0” signal first, indicating the start of the transmission character. Data bits: Can be 5-8 bits of logic “0” or “1”. For example, ASCII code (7 bits), extended BCD code (8 bits). Little-endian transmission. Parity bit: This bit, when added to the data bits, ensures that the number of “1” bits is even (even parity) or odd (odd parity). Stop bit: This is a character data end marker. It can be 1 bit, 1.5 bits, or 2 bits of high level. Idle bit: In a logic “1” state, indicating that there is no data transmission on the current line. Note: Asynchronous communication transmits by character; the receiving device can correctly receive the data as long as it maintains synchronization with the sending device within the transmission time of one character after receiving the start signal. The arrival of the next character’s start bit recalibrates the synchronization (achieved by detecting the start bit for self-synchronization of the clocks of the sender and receiver).
2. RS-232 Standard
RS-232 is a serial physical interface standard established by the Electronic Industry Association (EIA) in the United States. RS is an abbreviation for “Recommended Standard,” and 232 is the identification number. RS-232 specifies the electrical and physical characteristics that only apply to the data transmission path; it does not contain specifications for data processing methods. It is important to note that many people often mistakenly refer to RS-232, RS-422, and RS-485 as communication protocols, which is incorrect; they are merely mechanical and electrical interface standards for UART communication (at most, pertaining to the physical layer of network protocols).
The standard specifies the use of a 25-pin DB-25 connector, detailing the signal content of each pin and the voltage levels for various signals. Later, IBM simplified RS-232 to a DB-9 connector, which has become the de facto standard today. Industrial control RS-232 ports generally only use three lines: RXD (2), TXD (3), and GND (5).
In the early days, since PCs all had RS-232 interfaces, we chose RS-232 when using UART. However, personal computers today, including laptops and desktops, no longer have RS-232 interfaces, and you may notice that there are no DB9 ports on computer motherboards. Therefore, development boards now often choose TTL UART or directly implement UART to USB on the development board.
In embedded systems, when we talk about serial ports, we generally refer to UART ports, but we often confuse it with COM ports and the relationships among RS-232, TTL, etc. In fact, UART and COM refer to physical interface forms (hardware), while TTL and RS-232 refer to voltage standards (electrical signals).
UART has 4 pins (VCC, GND, RX, TX), using TTL levels, where low level is 0 (0V) and high level is 1 (3.3V or above).
3. RS-485/RS-422 Standards
The RS-232 interface can achieve point-to-point communication, but this method cannot implement networking functions. To solve this problem, a new standard, RS-485, was developed. RS-485 uses differential signaling for data transmission, also known as balanced transmission, utilizing a pair of twisted wires, designating one wire as A and the other as B.
Typically, the positive voltage level between the sending drivers A and B is +2 to +6V, representing one logic state, while the negative voltage level is -2 to -6V, representing another logic state. Additionally, there is a signal ground C, and RS-485 has an “enable” pin, which is optional in RS-422.
RS-422’s electrical performance is identical to that of RS-485. The main difference is that RS-422 has 4 signal lines: two for transmission and two for reception. Because RS-422 separates receiving and transmitting, it can receive and transmit simultaneously (full-duplex). This requirement for separate channels means that RS-422 is suitable for communication between two stations, star networks, and ring networks, but it cannot be used for bus networks; RS-485, with only 2 signal lines, operates only in half-duplex mode and is commonly used for bus networks.
1. The electrical characteristics of RS-485: Logic “1” is represented by the voltage difference of + (2~6)V between the two wires; logic “0” is represented by the voltage difference of – (2~6)V between the two wires. The interface signal levels are lower than those of RS-232-C, making it less likely to damage the interface circuit chips, and this level is compatible with TTL levels, facilitating connections with TTL circuits.
2. The maximum data transmission rate for RS-485 is 10Mbps.
3. The RS-485 interface uses a combination of balanced drivers and differential receivers, enhancing its ability to resist common-mode interference, thus improving noise immunity.
4. The maximum communication distance for RS-485 is approximately 1219M, with a maximum transmission rate of 10Mb/S. The transmission rate is inversely proportional to the transmission distance; at a transmission rate of 100Kb/S, the maximum communication distance can be achieved, and if longer distances are needed, 485 repeaters should be used. The RS-485 bus generally supports a maximum of 32 nodes; if special 485 chips are used, it can reach 128 or 256 nodes, with a maximum support of 400 nodes.
1. RS-423 unbalanced serial communication interface
Structure, signal level, transmission distance, transmission rate, interface chip
2. RS-422 balanced serial communication interface
Structure, signal level, interface chips, MC3486, MC3487, SN75154, SN75155
Transmission rate, transmission distance
3. RS-485 serial communication bus
Structure, signal level, interface chip MAX485
Transmission rate, transmission distance, application examples
Due to the early emergence of the RS-232 interface standard, it inevitably has some shortcomings, primarily four points:
(1) The signal level values of the interface are relatively high, which can easily damage the interface circuit chips, and because the 232 level is not compatible with TTL levels, a level conversion circuit is required for connection with TTL circuits;
(2) The transmission rate is relatively low; during asynchronous transmission, the baud rate is 20Kbps. Now, with the use of new UART chips, the baud rate has reached 115.2Kbps (1.832M/16);
(3) The interface uses one signal line and one signal return line to form a common ground transmission form, which is prone to common-mode interference, making it weak against noise interference;
(4) The transmission distance is limited; the maximum transmission distance standard value is 50 meters, but in practice, it can only be used at around 15 meters;
(5) RS-232 only allows one-to-one communication and does not consider forming a serial bus. (This point is crucial; in many control scenarios, one master device needs to communicate with multiple slave devices point-to-point, which leads to a spider web wiring in the field.)
Unbalanced serial communication interfaces RS-423, RS-449
Balanced serial communication interface RS-422
RS-422 (EIA RS-422-A Standard) is the serial connection standard for Apple’s Macintosh computers. RS-422 uses differential signaling, while RS-232 uses unbalanced reference ground signals. Differential transmission uses two wires to send and receive signals. Compared to RS-232, it has better noise immunity and longer transmission distances. In industrial environments, better noise immunity and longer transmission distances are significant advantages.
4. Comparison of RS-232 and RS-485
1. Anti-interference capability: The RS-485 interface uses a combination of balanced drivers and differential receivers, providing good noise immunity. The RS-232 interface uses one signal line and one signal return line to form a common ground transmission method, which is prone to common-mode interference.
2. Transmission distance: The maximum transmission distance for RS-485 is standardized at 1200 meters (at 9600bps), but it can actually reach 3000 meters. RS-232 has a limited transmission distance, with a maximum standard value of 50 meters, but in practice, it can only be used at around 15 meters.
3. Communication capability: The RS-485 interface allows for up to 128 transceivers on the bus, enabling users to easily establish a device network using a single RS-485 interface. RS-232 only permits one-to-one communication.
4. Transmission rate: RS-232 has a lower transmission rate, with a baud rate of 20Kbps during asynchronous transmission. The maximum data transmission rate for RS-485 is 10Mbps.
5. Signal lines: The RS-485 interface typically requires only two signal lines for constructing a half-duplex network. The RS-232 port generally uses three lines: RXD, TXD, and GND.
6. Electrical voltage levels: Logic “1” for RS-485 is represented by a voltage difference of + (2~6)V between the two wires; logic “0” is represented by a voltage difference of – (2~6)V. In RS-232-C, any signal line voltage is negative logic. That is, logic “1” is -5 to -15V; logic “0” is +5 to +15V.
5. Comparison of RS-422 and RS-485
The electrical performance of RS-485 is identical to that of RS-422. The main differences are:
1. RS-422 has 4 signal lines: two for transmission (Y, Z) and two for reception (A, B). Because RS-422 separates receiving and transmitting, it can receive and transmit simultaneously (full-duplex).
2. RS-485 has only two data lines: both sending and receiving are on A and B. Because RS-485 shares the same two wires for receiving and transmitting, it cannot receive and transmit simultaneously (half-duplex).
The RS-485 standard uses balanced transmission and differential reception data transceivers to drive the bus, with specific specifications required:
The receiver’s input resistance RIN ≥ 12kΩ
The driver can output a common-mode voltage of ±7V
The input capacitance ≤ 50pF
In a configuration with 32 nodes and 120Ω terminating resistors, the driver must still output a voltage of at least 1.5V (the size of the terminating resistor is related to the parameters of the twisted pair used).
The receiver’s input sensitivity is 200mV (i.e., (V+) – (V-) ≥ 0.2V, indicating signal “0”; (V+) – (V-) ≤ -0.2V, indicating signal “1”).
Due to the long-distance, multi-node (32 nodes), and low transmission line cost characteristics of RS-485, the EIA RS-485 has become the preferred standard for data transmission in industrial applications.
(1) The electrical characteristics of RS-485: The sender represents logic “0” with a voltage difference of + (2~6)V between the two wires; logic “1” is represented by a voltage difference of – (2~6)V. The receiver considers A higher than B by 200mV or more as logic “0”, and A lower than B by 200mV or more as logic “1”;
(2) The maximum data transmission rate for RS-485 is 10Mbps. However, since RS-485 often needs to communicate with the RS-232 port of PCs, the actual maximum is generally 115.2Kbps. Due to high rates reducing the transmission distance of RS-485, it is often set around or below 9600bps;
(3) The RS-485 interface uses a combination of balanced drivers and differential receivers, providing good noise immunity;
(4) The maximum transmission distance for RS-485 is standardized at 1200 meters (at 9600bps), but it can actually reach 3000 meters. The RS-485 interface allows up to 128 transceivers on the bus, enabling users to easily establish a network using a single RS-485 interface. Since RS-485 typically forms a half-duplex network, only two signal lines are required, and RS-485 interfaces usually employ twisted pair transmission. The international standard for RS-485 does not specify a connector standard, so terminal blocks or DB-9, DB-25 connectors can be used.
When using the RS-485 interface, for a specific transmission line diameter, the maximum allowable cable length for data signal transmission from the generator to the load is a function of the data signal rate, which is primarily limited by signal distortion and noise. The relationship between maximum cable length and signal rate is derived using 24AWG copper twisted telephone cables (diameter 0.51mm), with inter-wire bypass capacitance of 52.5PF/M and a terminal load resistance of 100 ohms (as referenced in GB11014-89 Appendix A). When the data signal rate drops below 90Kbit/S, assuming the maximum allowable signal loss is 6dBV, the cable length is limited to 1200m. In practice, it is entirely possible to achieve greater cable lengths than this. When using cables of different diameters, the maximum cable length will vary. For example, when the data signal rate is 600Kbit/S, using 24AWG cable, the maximum cable length is 200m; if using 19AWG cable (diameter 0.91mm), the cable length can exceed 200m; if using 28AWG cable (diameter 0.32mm), the cable length can only be less than 200m.
For long-distance communication using RS-485, it is advisable to use shielded cables and ground the shield.
6. Three Factors Affecting RS-485 Bus Communication Speed and Reliability
1. Signal Reflection in Communication Cables
During communication, two signal factors cause signal reflection: impedance discontinuity and impedance mismatch.
Impedance discontinuity occurs when the signal suddenly encounters a very low or no cable impedance at the end of the transmission line, causing reflection at that point, similar to light reflecting when it enters a different medium. To eliminate this reflection, a terminating resistor matching the cable’s characteristic impedance must be connected at the cable’s end to ensure impedance continuity. Since signals travel bidirectionally on the cable, a matching terminating resistor can also be connected at the other end of the communication cable.
From a theoretical perspective, as long as a terminating resistor matching the cable’s characteristic impedance is connected at the end of the transmission cable, signal reflection should no longer occur. However, in practical applications, due to the characteristic impedance of the transmission cable being related to the communication baud rate and other environmental factors, it is impossible for the characteristic impedance to perfectly match the terminating resistor, so some degree of signal reflection will still exist.
The second cause of signal reflection is the impedance mismatch between the data transceiver and the transmission cable. This type of reflection primarily manifests when the communication line is idle, leading to data chaos across the entire network.
The impact of signal reflection on data transmission ultimately stems from the reflected signals triggering the receiver’s input comparator, causing the receiver to receive incorrect signals, resulting in CRC errors or entire data frame errors.
In signal analysis, the parameter used to measure the strength of the reflected signal is RAF (Reflection Attenuation Factor). Its calculation formula is as follows (1).
RAF=20lg(Vref/Vinc) (1)
Where: Vref—reflected signal voltage; Vinc—the incident signal voltage at the connection point between the cable and the transceiver or terminating resistor.
The specific measurement method is illustrated in Figure 3. For example, if the peak-to-peak value of the incident sine wave signal at 2.5MHz is +5V and the peak-to-peak value of the reflected signal is +0.297V, then the reflection attenuation factor at 2.5MHz for this communication cable is:
RAF=20lg(0.297/2.5)=-24.52dB
To mitigate the impact of reflected signals on communication lines, noise suppression and bias resistor methods are commonly employed. In practical applications, for relatively small reflected signals, it is often simple and convenient to use bias resistors. The principle of how to improve communication reliability through bias resistors in communication lines.
2. Signal Attenuation in Communication Cables
The second factor affecting signal transmission is signal attenuation during transmission through the cable. A transmission cable can be viewed as an equivalent circuit composed of distributed capacitance, distributed inductance, and resistance, as illustrated.
The cable’s distributed capacitance C is primarily generated by the two parallel conductors of the twisted pair. The resistance of the conductors has a negligible effect on the signal and can be ignored. The signal loss is mainly due to the LC low-pass filter formed by the cable’s distributed capacitance and distributed inductance. The attenuation coefficient of the standard LAN-type two-core cable used in PROFIBUS (the standard cable selected by Siemens for the DP bus) at different baud rates is shown in Table 1.
Attenuation Coefficient of Cable
3. Pure Resistive Load in Communication Cables
The third factor affecting communication performance is the size of the pure resistive load (also called DC load). Here, the pure resistive load primarily consists of terminating resistors, bias resistors, and RS-485 transceivers.
When discussing the EIA RS-485 specification, it was mentioned that the RS-485 driver can output a differential voltage of at least 1.5V with a configuration of 32 nodes and 150Ω terminating resistors. The input resistance of one receiver is 12kΩ, and the entire network’s equivalent circuit is illustrated in Figure 5. Based on this calculation, the load capacity of the RS-485 driver is:
RL=32 input resistors in parallel with 2 terminating resistors=(((12000/32)×(150/2))/((12000/32)+(150/2)))≈51.7Ω
Currently, commonly used RS-485 drivers include MAX485, DS3695, MAX1488/1489, and SN75176A/D used by Holley, among others, with some RS-485 drivers having load capacities reaching 20Ω. Ignoring various other factors, according to the relationship between driver capability and load, a single driver can support a maximum number of nodes far exceeding 32.
When the communication baud rate is relatively high, bias resistors are essential on the line. The connection method for bias resistors is illustrated in Figure 6. Their role is to pull the level away from 0 volts when the line enters idle state (no data on the bus), as shown in Figure 7. This way, even if small reflected signals or interference occur on the line, the data receivers connected to the bus will not malfunction due to these signals.
Through the following example, the size of the bias resistor can be calculated:
Terminating resistor Rt1=Rr2=120Ω;
Assuming the maximum peak-to-peak value of the reflected signal Vref≤0.3Vp-p, then the negative half-cycle voltage Vref≤0.15V; the reflected current Iref caused by the reflected signal on the terminating resistor ≤0.15/(120||120)=2.5mA. The hysteresis voltage value of general RS-485 transceivers (including SN75176) is 50mV, i.e.,
(Ibias-Iref)×(Rt1||Rt2)≥50mV
Thus, it can be calculated that the bias current generated by the bias resistors Ibias≥3.33mA
+5V=Ibias(Rup+Rdown+(Rt1||Rt2)) (2)
By using Equation (2), it can be calculated that Rup=Rdown=720Ω
In practical applications, there are two methods for adding bias resistors to the RS-485 bus:
(1) Distributing the bias resistors evenly to each transceiver on the bus. This method adds bias resistors to each transceiver connected to the RS-485 bus, providing each transceiver with a bias voltage.
(2) Using a pair of bias resistors along a segment of the bus. This method is effective for significant reflected signals or interference on the bus. It is important to note that adding bias resistors increases the load on the bus.
7. The Relationship Between the Load Capacity of the RS-485 Bus and the Length of the Communication Cable
When designing the network configuration of the RS-485 bus (bus length and number of loads), three parameters should be considered: pure resistive load, signal attenuation, and noise margin. The pure resistive load and signal attenuation have been discussed previously; now we will discuss noise margin. The noise margin of RS-485 bus receivers should be at least greater than 200mV. The previous discussions assumed a noise margin of 0. In practical applications, to enhance the bus’s anti-interference capability, it is desirable for the system’s noise margin to exceed the stipulated standards set by EIA RS-485. The following formula illustrates the relationship between the number of loads on the bus and the length of the communication cable:
Vend=0.8(Vdriver-Vloss-Vnoise-Vbias)(3)
Where: Vend is the signal voltage at the end of the bus, which is defined as 0.2V during standard measurement; Vdriver is the output voltage of the driver (which depends on the number of loads. For 5-35 loads, Vdriver=2.4V; for less than 5 loads, Vdriver=2.5V; for more than 35 loads, Vdriver≤2.3V); Vloss is the signal loss during transmission in the bus (which depends on the specifications and length of the communication cable), calculated using the attenuation coefficient provided in Table 1, with the formula for attenuation coefficient b=20lg(Vout/Vin) yielding Vloss=Vin-Vout=0.6V (note: the communication baud rate is 9.6kbps, and if the rate increases, Vloss will also increase); Vnoise is the noise margin, which is defined as 0.1V during standard measurement; Vbias is the bias voltage provided by the bias resistors (typical value is 0.4V).
In Equation (3), the factor of 0.8 is to ensure that the communication cable does not enter a fully loaded state. From Equation (3), it can be observed that the size of Vdriver is inversely proportional to the number of loads on the bus, and the size of Vloss is inversely proportional to the length of the bus; the other parameters are only related to the type of driver used. Therefore, once the RS-485 driver is selected, under a constant communication baud rate, the number of loads on the bus is directly related to the maximum distance the signal can be transmitted. The specific relationship is: within the allowable range of the bus, the more loads there are, the shorter the signal can be transmitted; the fewer loads there are, the longer the signal can be transmitted.
8. The Impact of Distributed Capacitance on RS-485 Bus Transmission Performance
The distributed capacitance of the cable is primarily generated by the two parallel conductors of the twisted pair. Additionally, there is distributed capacitance between the conductors and ground, although it is small, it cannot be ignored in analysis. The impact of distributed capacitance on bus transmission performance is mainly due to the transmission of fundamental wave signals across the bus, where the signal is expressed only as “1” and “0”. In special bytes, such as 0x01, the signal “0” allows sufficient charging time for the distributed capacitance, while when the signal “1” arrives, the charges in the distributed capacitance may not discharge in time, causing (Vin+) – (Vin-) to still exceed 200mV, leading the receiver to mistakenly interpret it as “0” and ultimately resulting in CRC check errors and incorrect transmission of the entire data frame. The specific process is illustrated.
Due to the distributed impact on the bus, data transmission errors occur, leading to reduced performance of the entire network. This issue can be resolved through two methods:
(1) Reducing the baud rate of data transmission;
(2) Using cables with lower distributed capacitance to improve the quality of transmission lines.
Simply connecting the A and B ends of each interface with a pair of twisted wires without grounding the signal of the RS-485 communication link can work in some cases, but it poses a risk to the system. The RS-485 interface transmits signals using a differential method and does not require a reference point to detect the signal system; it only needs to detect the potential difference between the two wires. However, it is important to note that the transceiver will only function properly if the common-mode voltage does not exceed a certain range (-7V to +12V). When the common-mode voltage exceeds this range, it can affect communication reliability or even damage the interface. As illustrated, when transmitter A sends data to receiver B, the common-mode voltage at the output of transmitter A is VOS. Due to the existence of a ground potential difference VGPD between the two systems, the common-mode voltage at the receiver’s input can reach VCM=VOS+VGPD. The RS-485 standard stipulates that VOS≤3V, but VGPD may vary significantly (tens of volts or even more), potentially accompanied by strong interference signals, causing the receiver’s common-mode input VCM to exceed the normal range, inducing interference currents on the signal line that affect normal communication or damage the equipment.
Conclusion:
Serial ports are a very versatile device interface, commonly used in instrumentation and equipment communication interfaces, often for remote data collection or remote control. The development of serial ports is relatively simple, making them one of the favorite interfaces among many engineers.