纠正分层(OSI 简易三层,嵌入式通用)
1、物理层(硬件电平,你说的硬件层):TTL、RS232、RS485、CAN_H/CAN_L 差分
只规定:电压多少、几根线、电气特性,不规定数据格式。
2、数据链路层(帧规则):UART、CAN
- UART:定义一帧 = 起始位 + 数据 + 校验 + 停止位、波特率(怎么组字节)
- CAN:CAN 整套帧、ID 仲裁、CRC
UART ≠ 应用层!UART 在链路层
3、应用层(数据含义、指令):Modbus(RTU/TCP)、CANopen
UART 只管字节怎么发,Modbus 规定这堆字节啥意思:03 读寄存器、06 写单寄存器。
组合实例
- TTL 电平 (物理) + UART (链路) + Modbus-RTU (应用) = 单片机 TTL 口跑 Modbus
- RS485 电平 (物理) + UART (链路) + Modbus-RTU (应用) = 工业 485-Modbus 总线
一句话速记
- TTL/232:电压
- UART/CAN:打包字节规则
- Modbus:数据指令含义