LIN总线为了解决多帧场景,也像CAN一样有TP协议。
主机发送请求PDU,从机发送应答PDU。
分为单帧(Single Frame,SF)、首帧(First Frame,FF)和续帧(Consecutive Frames,CF)三种。
PDU结构
包含节点地址(NAD)、协议控制信息(PCI)、LEN、服务ID(SID)、应答服务ID(RSID)、消息字节段(D1-D6),首字节NAD先发送,末字节D4、D5、D6最后发送:
NAD (node address)
用于区分不同从机节点的地址
NAD值 | 描述 |
0 | 用于休眠指令 |
1-125(0x7D) | 从机节点NAD |
126(0x7E) | 功能NAD |
127(0x7F) | 广播NAD |
128(0x80)-255(0xFF) | 用户自定义 |
PCI ( Protocol Control Information )
包含了 PDU 单元类型和消息字节长度的信息。
帧类型 | Byte0 | Byte1 | Byte2 | Byte3 | Byte4 | Byte5 | Byte6 | Byte7 | |||||||
PCI类型 | 附加信息 | 数据 | |||||||||||||
Bit7-4 | Bit3-0 | ||||||||||||||
单帧 | NAD | 0000 | Length | Data[0] | Data[1] | Data[2] | Data[3] | Data[4] | Data[5] | ||||||
首帧 | NAD | 0001 | Length_H | Length_L | Data[0] | Data[1] | Data[2] | Data[3] | Data[4] | ||||||
续帧 | NAD | 0010 | Index | Data[6] | Data[7] | Data[8] | Data[9] | Data[10] | Data[11] |
Index是报文计数器,跟CAN一样,首帧之后的第一个续帧计数器为1,到F的时候重新从零开始。