6es7155-6aa01-0bn0串行總線是一種將數據按位(bit)順序逐一傳輸的通信方式,相較于并行總線具有成本低、布線簡單、傳輸距離長等優勢,廣泛應用于嵌入式系統、通信接口(如 UART、SPI、I2C、CAN、USB等)以及傳感器和模塊之間的互聯。
單片機串行通訊
但由于串行傳輸一次僅傳輸 1 位數據,3296電位器必須依靠接收端“按時正確”地識別數據的邊界與結構,因此使用串行總線時需解決一系列關鍵問題,以確保數據的準確性、可靠性與同步性。使用串行總線進行傳輸時,以下是必須重點解決的三類核心問題:
一、同步問題:串行通信的基礎保障
din導軌串行通信的首要問題是“同步”,即接收端必須正確地識別每一個傳輸比特的起止位置,否則將導致數據亂碼或丟失。同步可進一步細分為以下三個層次:
1. 位同步(Bit Synchronization)
定義:確保接收方的采樣時鐘與發送方的數據比特對齊;
實現方法:
(1)異步通信(如 UART):通過起始位檢測來實現動態同步
(2)同步通信(如 SPI、I2C):由主設備提供時鐘信號(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 編碼等;
特點:可在一定范圍內自動糾正錯誤,但計算復雜、占用資源較多。

