数据帧的结构
LIN的数据帧包括报头,响应两大部分。而报头包含了间隔场,间隔界定,同步场,标识符场等部分。响应包含了数据场和校验和场。
数据帧的结构示意
如上图所示,数据帧按照报头,响应两大部分组成。其中字节间隔位于每个字节之间,响应间隔位于报头和响应之间。其作用在于,实际应用过程中,间隔时间留给MCU足够时间准备反应。
间隔场
间隔场用于表示一帧报文的开始。主节点发出的间隔信号至少有13个显性位,间隔界定符至少有1个隐性位。
同时,从节点需要连续检测到11个显性位才认为是间隔信号。
同步场
同步场,顾名思义就是用于数据同步的。同步场确保所有从节点与主节点使用相同的波特率发送和接收数据。
同步场占一个字节,固定为0xFF。
标识符场
ID0~ID5和P0/P1组成了ProtectedID。
ID0~ID5的范围也有规范:
0-59(0x3B)--》一般数据帧ID范围
60(0x3C)and61(0x3D)--》用于诊断命令
62(0x3E)and63(0x3F)--》预留的
数据场
数据场是LIN数据帧真正要传输的数据。数据场的长度为1到8个字节。数据发送的顺序是:低字节先发,低位先发;如果数据长度超过1个字节,采用小端模式(低位在前发送)。
因为LIN是基于串