數據傳輸方式(按位傳輸方式)
并行通信
通過多條數據線同時傳輸多個數據位,速度較快但成本高,抗干擾能力弱,適用于短距離通信,如早期的打印機接口。
串行通信
通過單條或少數數據線逐位傳輸數據,線路簡單、成本低、抗干擾強,適用于中長距離通信,如UART、USB等。
通信方向(按收發能力)
單工通信
數據只能單向傳輸,無法交互,如廣播或遙控器。
半雙工通信
數據可雙向傳輸但不能同時進行,需分時切換方向,如對講機或RS-485總線。
全雙工通信
數據可同時雙向傳輸,需獨立收發線路,如電話或UART串口。
串口通信(UART)
采用異步全雙工通信方式,無時鐘線,通過預設波特率同步傳輸。
數據幀包含起始位、數據位(5~8位)、可選校驗位及停止位。
典型應用包括單片機與PC、傳感器等設備的通信。
校驗方式(數據完整性檢測)
奇校驗
數據位中“1”的總數需為奇數,不足時校驗位補“1”。
例如:01001000
(2個“1”)需補“1”使總數為3。
偶校驗
數據位中“1”的總數需為偶數,不足時校驗位補“1”。
例如:01001000
(2個“1”)校驗位補“0”保持總數不變。
實際通信中也可選擇無校驗以減少開銷。
同步通信與異步通信(按同步方式)
同步通信
依賴時鐘信號同步,數據連續傳輸,無起始/停止位,效率高但需額外時鐘線,如SPI或I2C。
異步通信
通過波特率和幀結構同步,數據以獨立幀傳輸,硬件簡單但效率較低,如UART或RS-232。
串口通信基礎概念
串口通信是一種通過單條或少數線路逐位傳輸數據的通信方式,適合中短距離設備交互(如單片機與PC)。其核心是異步時序,典型代表為UART協議。
UART通信時序
空閑狀態:通信線保持高電平(邏輯1)。
起始位:1位低電平(邏輯0),標志數據傳輸開始。
數據位:5~8位有效數據(常見8位),低位在前傳輸。
校驗位(可選):奇/偶校驗或無校驗,用于簡單檢錯。
停止位:1~2位高電平(邏輯1),標志幀結束。
波特率與速率配置
串口通信速率由波特率(Baud Rate,單位bit/s)決定,收發雙方必須一致。
常見波特率
標準值包括:1200、2400、4800、9600、19200、38400、57600、115200、230400等。
代碼示例:
通過定時器配置波特率(如8051單片機):
TH1 = 0xFD; // 波特率9600(假設晶振11.0592MHz)
TL1 = 0xFD;
物理層標準對比
TTL電平
電平范圍:
5V TTL:邏輯1≈5V,邏輯0≈0V。
3.3V TTL:邏輯1≈3.3V,邏輯0≈0V。
特點:傳輸距離短(<3米),抗干擾弱,直接連接芯片引腳。
RS232
電平范圍:邏輯1=-3~-15V,邏輯0=+3~+15V。
特點:通過電平轉換芯片(如MAX232)與TTL互轉。
傳輸距離≤15米,點對點全雙工通信,常見于DB9接口。
RS485
差分信號:邏輯1(A>B),邏輯0(A<B)。
特點:抗干擾強,傳輸距離≤1200米。支持多節點(最多32設備),半雙工通信,用于工業總線(如Modbus)。
應用場景
標準 | 距離 | 節點數 | 典型場景 |
---|---|---|---|
TTL | <3米 | 點對點 | 單片機與傳感器直連 |
RS232 | ≤15米 | 點對點 | 舊式PC與外設通信 |
RS485 | ≤1200米 | 多節點 | 工業現場總線(PLC等) |
Modbus協議
工業領域主從式通信協議,支持設備間數據交互。
Modbus RTU
二進制模式,幀結構包括地址碼、功能碼、數據區及CRC校驗。
功能碼如0x03
(讀寄存器)、0x06
(寫單個寄存器)。
采用CRC16校驗確保數據完整性。
Modbus ASCII
文本模式,數據以ASCII字符傳輸,幀結構包含起始符、地址碼、功能碼、數據區及LRC校驗。
校驗采用LRC(縱向冗余校驗)。
協議簡單開放,支持RS-232/485及以太網(Modbus TCP)等物理層。
?