数据帧的结构
LIN的数据帧包括报头,响应两大部分。而报头包含了间隔场,间隔界定,同步场,标识符场等部分。响应包含了数据场和校验和场。
数据帧的结构示意
如上图所示,数据帧按照报头,响应两大部分组成。其中字节间隔位于每个字节之间,响应间隔位于报头和响应之间。其作用在于,实际应用过程中,间隔时间留给MCU足够时间准备反应。
间隔场
间隔场用于表示一帧报文的开始。主节点发出的间隔信号至少有13个显性位,间隔界定符至少有1个隐性位。
同时,从节点需要连续检测到11个显性位才认为是间隔信号。
同步场
同步场,顾名思义就是用于数据同步的。同步场确保所有从节点与主节点使用相同的波特率发送和接收数据。
同步场占一个字节,固定为0xFF。
标识符场
ID0~ID5和P0/P1组成了Protected ID。
ID0~ID5的范围也有规范:
0 - 59 (0x3B) --》 一般数据帧ID范围
60 (0x3C) and 61 (0x3D) --》 用于诊断命令
62 (0x3E) and 63 (0x3F) --》 预留的
数据场
数据场是LIN数据帧真正要传输的数据。数据场的长度为1到8个字节。数据发送的顺序是:低字节先发,低位先发;如果数据长度超过1个字节,采用小端模式(低位在前发送)。
因为LIN是基于串口通信,所以,每个字节的传输需要10个位时间。
校验和场
校验和场用于校验接收的数据是否正确,一次提高数据的可靠性。
校验的方法也有两种:经典校验,增强校验。
经典校验:只是校验数据场,不校验标识符场。
增强校验:校验数据场,同时校验标识符场。
标识符0x3C,0x3D的诊断帧只能用经典校验。
经典校验和举例:数据场的数据 = 0x4A, 0x55, 0x93, 0xE5
LIN v2.2A checksum example
checksum = 0xE6.
数据帧的类型
数据帧分为无条件帧,事件触发帧,保留帧,零星帧,诊断帧,自定义帧。
而在真实的项目中,无条件帧,诊断帧应用最多,其他类型基本不用。
LIN v2.2A -- 无条件帧使用举例
无条件帧的标识符ID为0~0x3B。主节点根据调度表发送数据,发出报头接收数据。
诊断帧用于传输诊断命令或者配置信息,一般包含8个字节数据。
0x3C --》 主节点发送请求帧
0x3D --》 从节点响应帧
LDF
LDF是LIN的配置语言规范(LIN descripTIon File)。LDF是连接设计,开发,实现,测试的桥梁。
LDF--信号的定义格式
LDF -- 数据帧的定义格式 LIN2.1/2.2
LDF -- 数据帧的定义格式 LIN2.0
LDF-- LIN的基本参数定义格式
责任编辑人:CC
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)