LIN总线技术及应用——协议规范(一)

时间:2024-02-23 16:40:20
LIN总线上可以传输两类数据:

本文引用地址:http://www.eepw.com.cn/article/201612/328875.htm

1、信号报文

——信号位于帧的数据场中,以数字或数组的形式出现

——同一种信号在相同ID的报文数据场中的位置总是固定的

2、诊断报文

——诊断报文由两个保留ID来传输,用来传输节点的诊断信息

而这些数据在LIN总线上进行传送的实体就是帧。

下面是LIN报文传输的原理及方式:

  • 通信原理:主任务发送报头,从任务用响应来补充报头形成完整的报文

  • 系统灵活性:可以*地增减从节点,而不需要改变其它从节点的软件和硬件

  • 报文传输:报文的内容由ID来定义(跟CAN相似)

  • 广播:所有节点都能够同时地接受和响应总线上的帧

现在让我们来了解一下LIN报文帧的结构。

  • 帧由一个报头(由主机任务提供)和一个帧响应(由从机任务提供)组成。

  • 报头包括同步间隔场、同步场和标识符场三个部分;标识符场位置在间隔场和同步场之后。标识符唯一定义了帧的目的。而用于提供与标识符相关的帧响应的从机任务就会输送该目的,过程如上文所示。

  • 帧响应由于数据场和校验和场组成。如果从机任务对标识符有关的数据感兴趣,那么它就可以接收这个响应,核实校验和,并使用这些被传送过来的数据。

下图就是LIN报文帧的结构。

其中,除了间隔场以外,其余的场都遵循字节场的格式。

LIN总线是基于SCI的通信格式,字节场以起始位开始,以结束位结束,中间是8个位的数据,所以与CAN总线不同的是,在LIN总线通信中发送一个字节需要10个位时间。

字节场的格式如下图所示。

接下来我们会详细的介绍报头中每一个场的结构。

1间隔场(Break Field)

  • 表示一帧报文的起始,由主节点发出

  • 间隔信号至少由13个显性位组成,间隔界定符至少由1个隐性位组成

  • 间隔场是唯一一个不符合字节场格式的场

  • 从节点需要检测到至少连续11个显性位才认为是间隔信号


2同步场(Sync Break Field)

  • 确保所有从节点使用与主节点相同的波特率发送和接收数据

  • 一个字节,结构固定: 0X55


3标识符场(Identifier Field)

  • 标识符即ID,起始位之后的6位数据为帧ID,帧ID的范围从0到63(0x3F)

  • 奇偶校验符(Parity) P0,P1

4字节间隔与响应间隔

字节间隔位于每个字节之间,响应间隔位于报头与响应之间。

  • 留给MCU足够的处理时间

  • 帧长度可能增长

  • 最小值可以是0

5数据场(Data Field)

  • 数据场长度1到8个字节

  • 低字节先发,低位先发

  • 如果某一信号长度超过1个字节,采用低位在前的方式发送(小端)

6校验和场(Checksum Field)

  • 用于校验接收的数据是否正确(1个字节)

  • 经典校验(Classic Checksum):仅校验数据场(1.3)

  • 增强校验(Enhance Checksum):校验标识符场与数据场内容(2.0)

  • 标识符为0x3C(60)和0x3D(61)的帧只能使用经典校验

  • 翻转八位和(inverted eight bit sum)

例:Data = 0x4A, 0x55, 0x93, 0xE5;Checksum = 0xE6。

7帧长度(Frame Length)