您的位置:首页 > 其它

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

2017-08-25 16:43 323 查看
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)



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: