The following is an introduction to common communication protocols based on the UART bus:
1. Modbus Protocol (RTU Mode)
•Introduction:Modbus is a widely used master-slave communication protocol in industrial control, divided into RTU (Remote Terminal Unit) and ASCII modes, with RTU mode being the most commonly used version of UART.
•Features:
◦Binary Transmission:Data is packed in binary form, providing high transmission efficiency (compared to ASCII mode).
◦Frame Structure:Includes slave address, function code, data area, and CRC checksum.
◦Checksum Method:Uses CRC-16 checksum to ensure data integrity.
•Application Scenarios:Communication between industrial devices (such as PLC, sensors, and frequency converters).
•Example:
Frame Format:[Slave Address][Function Code][Data Area][CRC Checksum] For example:01 03 00 00 00 02 C4 0B (Read data from slave 1 for registers 0-1) |
2. Modbus Protocol (ASCII Mode)
•Introduction:Another mode of Modbus, where data is transmitted in ASCII character form.
•Features:
◦Text Transmission:High readability, but lower transmission efficiency (each byte needs to be converted to two ASCII characters).
◦Checksum Method:Uses LRC (Longitudinal Redundancy Check).
•Application Scenarios:Early Modbus devices or scenarios requiring direct data visibility.
•Example:
Frame Format:[:][Slave Address][Function Code][Data Area][LRC Checksum][CR][LF] For example::010300000002840A |
3. UART Custom Protocol
•Introduction:A dedicated protocol designed by developers based on requirements, commonly found in embedded systems or IoT devices.
•Features:
◦High Flexibility:Customizable frame header, data length, and checksum method.
◦Typical Structure:
[Frame Header][Device Address][Data Length][Data Area][Checksum][Frame Tail] |
◦Checksum Method:Checksum by sum, CRC checksum, or XOR checksum.
•Application Scenarios:Smart home devices, sensor modules, private communication systems.
•Example:
Frame Format:0xFF 0x01 0x02 0xAB 0xCD 0x12 0xFF (Custom protocol example) |
4. IRDA (Infrared Data Association Protocol)
•Introduction:A short-range communication protocol based on infrared transmission, commonly using UART interfaces at the physical layer.
•Features:
◦Half-Duplex:Short communication distance (usually <1 meter), requires direct alignment.
◦Rate:Supports 9600bps to 4Mbps.
•Application Scenarios:Early mobile phones, remote controls, data synchronization devices.
5. Bluetooth SPP (Serial Port Profile)
•Introduction:Bluetooth’s serial communication protocol, simulating serial communication through UART.
•Features:
◦Wireless:Realizes wireless extension of UART, with a communication distance of about 10 meters.
◦Transparent Transmission:User layer can be seen as a normal serial port, without concern for Bluetooth protocol details.
•Application Scenarios:Communication between Bluetooth modules and mobile phones, PCs.
6. Other Common Protocols
•ZigBee:Low-power wireless communication protocol, with some modules supporting UART transparent transmission.
•LoRa:Long-range low-power communication, with some terminal devices interacting with gateways via UART.
•Custom Protocols:Such as Huawei’s HiLink, Tuya Smart, and other IoT platform proprietary protocols.
Considerations for Protocol Selection
1.Data Volume and Rate:Modbus RTU is suitable for industrial low-speed scenarios, while custom protocols can optimize high-speed transmission.
2.Compatibility:Modbus is an industry standard, suitable for cross-device communication.
3.Security:Proprietary protocols can add encryption mechanisms (such as AES), enhancing security.
4.Development Cost:Using mature protocols can reduce development cycles, while custom protocols require more debugging resources.
Choose the appropriate protocol based on specific needs, or design a dedicated protocol based on UART to balance functionality and efficiency.