6es7155-6aa01-0bn0串行总线是一种将数据按位(bit)顺序逐一传输的通信方式,相较于并行总线具有成本低、布线简单、传输距离长等优势,广泛应用于嵌入式系统、通信接口(如 UART、SPI、I²C、CAN、USB等)以及传感器和模块之间的互联。
单片机串行通讯
但由于串行传输一次仅传输 1 位数据,3296电位器必须依靠接收端“按时正确”地识别数据的边界与结构,因此使用串行总线时需解决一系列关键问题,以确保数据的准确性、可靠性与同步性。使用串行总线进行传输时,以下是必须重点解决的三类核心问题:
一、同步问题:串行通信的基础保障
din导轨串行通信的首要问题是“同步”,即接收端必须正确地识别每一个传输比特的起止位置,否则将导致数据乱码或丢失。同步可进一步细分为以下三个层次:
1. 位同步(Bit Synchronization)
定义:确保接收方的采样时钟与发送方的数据比特对齐;
实现方法:
(1)异步通信(如 UART):通过起始位检测来实现动态同步
(2)同步通信(如 SPI、I²C):由主设备提供时钟信号(SCLK),接收方使用该时钟进行采样;
(3)自同步编码(如 Manchester 编码):通过编码使信号中自带同步信息。
2. 字节同步(Byte Synchronization)
定义:将接收到的比特划分为有意义的字节(通常为 8 位);
关键点:字节边界必须一致,否则会导致整个数据结构错位;
实现方法:
(1)使用帧起始标识符(如 UART 的 Start Bit 或帧头);
(2)在协议中定义固定长度帧格式,便于字节识别。
3. 数据块同步(Block Synchronization)
定义:确保整个数据块或帧按正确顺序传输和接收;
目的:防止接收方读取到多余的数据块,或遗漏部分内容;
实现方法:
(1)设置帧头、帧尾;
(2)采用分隔符或数据块长度标识;
(3)利用时隙/轮询等机制确保通信时序一致。
二、差错控制:保障通信的可靠性
串行通信过程中,信号在传输过程中容易受到噪声、干扰或硬件故障的影响,导致数据出错。因此,必须引入差错控制机制,分为以下两类:
1. 检错机制(Error Detection)
常用方法:
(1)奇偶校验(Parity Check):简单有效,适用于低速串口通信;
(2)校验和(Checksum):通过累加数据内容计算校验值;
(3)CRC(循环冗余校验):适用于高可靠性要求的通信,如 CAN 总线、Modbus、USB。
优点:可检测大多数传输错误;
缺点:仅能发现错误,不能纠正。
2. 纠错机制(Error Correction)
使用场景:关键任务通信系统,如航空、航天、深空通信;
典型方法:汉明码(Hamming Code)、Reed-Solomon 编码等;
特点:可在一定范围内自动纠正错误,但计算复杂、占用资源较多。