一文详解LIN总线协议规范

一文详解LIN总线协议规范,第1张

数据帧的结构

LIN的数据帧包括报头,响应两大部分。而报头包含了间隔场,间隔界定,同步场,标识符场等部分。响应包含了数据场和校验和场。

数据帧的结构示意

如上图所示,数据帧按照报头,响应两大部分组成。其中字节间隔位于每个字节之间,响应间隔位于报头和响应之间。其作用在于,实际应用过程中,间隔时间留给MCU足够时间准备反应。

间隔场

间隔场用于表示一帧报文的开始。主节点发出的间隔信号至少有13个显性位,间隔界定符至少有1个隐性位。

同时,从节点需要连续检测到11个显性位才认为是间隔信号。

同步场

同步场,顾名思义就是用于数据同步的。同步场确保所有从节点与主节点使用相同的波特率发送和接收数据。

同步场占一个字节,固定为0xFF。

标识符场

一文详解LIN总线协议规范,第2张

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总线协议规范,第3张

LIN v2.2A checksum example

checksum = 0xE6.

数据帧的类型

数据帧分为无条件帧,事件触发帧,保留帧,零星帧,诊断帧,自定义帧。

而在真实的项目中,无条件帧,诊断帧应用最多,其他类型基本不用。

一文详解LIN总线协议规范,第4张

LIN v2.2A -- 无条件帧使用举例

无条件帧的标识符ID为0~0x3B。主节点根据调度表发送数据,发出报头接收数据。

诊断帧用于传输诊断命令或者配置信息,一般包含8个字节数据。

0x3C --》 主节点发送请求帧

0x3D --》 从节点响应帧

LDF

LDF是LIN的配置语言规范(LIN descripTIon File)。LDF是连接设计,开发,实现,测试的桥梁。

LDF--信号的定义格式

一文详解LIN总线协议规范,第5张

LDF -- 数据帧的定义格式 LIN2.1/2.2

一文详解LIN总线协议规范,第6张

LDF -- 数据帧的定义格式 LIN2.0

一文详解LIN总线协议规范,第7张

LDF-- LIN的基本参数定义格式
责任编辑人:CC

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/dianzi/2442598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-03
下一篇 2022-08-03

发表评论

登录后才能评论

评论列表(0条)

保存