关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”,即可获得canoe入门到精通电子书和INCA软件安装包(不带授权码)下载地址。
本篇文章主要介绍LIN总线协议规范。
数据帧的结构
LIN的数据帧包括报头,响应两大部分。而报头包含了间隔场,间隔界定,同步场,标识符场等部分。响应包含了数据场和校验和场。
数据帧的结构示意
如上图所示,数据帧按照报头,响应两大部分组成。其中字节间隔位于每个字节之间,响应间隔位于报头和响应之间。其作用在于,实际应用过程中,间隔时间留给MCU足够时间准备反应。
- 间隔场
间隔场用于表示一帧报文的开始。主节点发出的间隔信号至少有13个显性位,间隔界定符至少有1个隐性位。
同时,从节点需要连续检测到11个显性位才认为是间隔信号。
- 同步场
同步场,顾名思义就是用于数据同步的。同步场确保所有从节点与主节点使用相同的波特率发送和接收数据。
同步场占一个字节,固定为0xFF。
- 标识符场
P0 = ID0 ID1 ID2 ID4
P1 = ~(ID1 ID3 ID4 ID5)
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--信号的定义格式
LDF -- 数据帧的定义格式 LIN2.1/2.2
LDF -- 数据帧的定义格式 LIN2.0
LDF-- LIN的基本参数定义格式
了解更多产品信息,请致菲益科电子官网查询