一、概述

1、如下图为一个LIN网络,包含了一个Master节点,两个Slave节点:

LIN网络

在LIN总线通讯中,Master task决定了在LIN总线上传送的是哪一帧Slave task提供每一帧所携带的数据

2、如下图为一个LIN节点的层次结构图:

LIN1.3LIN2.1的区别在于,LIN1.3没有TL层,Signal interaction放在Protocol层中,没有单独的TP层。

3、LIN总线特点:

串行通信:线间干扰小,节省线束,传输距离长;

单线传输:增强的ISO9141 (ISO 15765-1) , 总线电压基于VBAT;

最高速率20Kbit/s:满足车身上大部分的应用需求;

单主多从结构:无需仲裁;

基于通用UART/SCI的低成本接口硬件:几乎所有MCU有具备LIN总线的硬件基础;

从节点无须晶振或陶瓷震荡器就可以实现同步:大幅度降低成本;

一条总线最多可连接16个节点:由总线电气特性决定;

支持诊断功能:支持UDS服务;

4、LIN2.1节点模型:

LIN1.3节点模型:

LIN2.1LIN1.3节点模型的差别在于LIN1.3没有Transport layer,所以也就没有流控、传输时间控制的功能,LIN1.3协议中没有对诊断及节点配置进行规范,所以在LIN1.3中完成相应的功能都放在自定义诊断中完成。

5、LIN网络拓扑结构:

1)单主任务,多从任务;

2)主节点包含主任务和从任务;

3)从节点只包含从任务;

4)主任务决定总线上的报文,从 任务发送数据;

6、LIN帧:

LIN帧结构

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

报文传输:报文的内容由ID来定义。

广播:所有节点都能够接受总线上的帧。

7、调度表

1)负责调度网络各报文发送的顺序;

2)为每帧报文分配发送时隙(slot);

3)发送时隙:报文可以被发送的时间;

4)不同报文的发送时隙可能不同;

5)调度表在网络系统设计阶段确定;

6)调度表使得LIN通信具有可预测性;

 8、切换调度表:

主任务可以拥有多个调度表,并在不同的调度表之间切换,该处理方式增加通信的灵活性。

二、协议规范

(1)字节间隔位于每个字节之间;

(2)响应间隔位于报头与响应之间;

(3)留给MCU足够的处理时间;

(4)帧长度可能增长;

1、字节场

1)基于SCI的通信格式;

2)发送一个字节需要10个位时间(TBIT);

2、间隔场

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

2)间隔信号至少由13个显性位组成;

3)隔界定符至少由1个隐形位组成;

4)间隔场是唯一一个不符合字节场格式的场;

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

3、同步场

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

2)一个字节,结构固定:0X55;

4、标识符场

1)ID的范围从0到63(Ox3f);

2)奇偶校验符(Parity)P0,P1;

5、数据场

1)数据场长度1到8个字节;

2)低字节先发,低位先发;

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

6、校验和场

用于校验接收的数据是否正确

1)经典校验(Classic Checksum)仅校验数据场(LIN1.3)

2)增强校验(Enhance Checksum)校验标识符场与数据场内容(LIN2.0、LIN2.1)

标识符为0x3C和0x3D的帧只能使用经典校验

计算方法:反转8位求和(inverted eight bit sum)

例:Data=0x4A、0x55、0x93、0xe5

7、帧长度

最小帧长度

THEADER_NOMINAL=34*TBIT

TRESPONSE_NOMINAL=10*(NDATA+1)*TBIT

TFRAME_NOMINAL=THEADER_NOMINAL+TRESPONSE_NOMINAL

最大帧长度

THEADER_MAX=1.4*THEADER_NOMINAL

TRESPONSE_MAX=1.4*TRESPONSE_NOMINAL

TFRAME MAX=THEADER MAX+TRESPONSE MAX

8、帧类型

1)无条件帧

使用频度最高的帧类型,无任何发送条件;

标识符(ID)为0到59(0x3B);

主任务发出报头,一个任务响应,一个或多个任务接收如下图:

帧 ID = 0x30应答部分的发布节点为从机节点1,收听节点为主机节点。典型应用如从机节点1向主机节点报告自身某信号的状态。

帧 ID = 0x31应答部分的发布节点为主机节点,收听节点为从机节点1和从机节点2。典型应用如主机节点向从机节点发布信息。

帧 ID = 0x32应答部分的发布节点为从机节点2,收听节点为从机节点1。典型应用如从机节点之间彼此通信。

2)事件触发帧

引入事件触发帧的目的是节省带宽。

BCM(Master)需要获取4个车门的状态,该如何实现?

第一种方式:

每次向四个车门请求状态,浪费带宽,因为车门状态不是经常发生。

第二种方法:

将请求四个车门状态的帧合并为一个事件触发帧,Master不需要每次发送四个帧请求车门的状态,只需要发送一个事件触发帧即可,哪个车门状态发生变化,对应的车门将响应该事件触发帧。

事件触发帧的响应会出现如下三种情况:

第一种:没有车门状态变化。

第二种:一个车门状态发生变化

第三种:多个车门状态发生变化,此时将出现冲突,冲突处理时,Master需要像第一种处理方式一样,重新发送四帧分别请求单个车门状态。LIN1.3与LIN2.0、LIN2.1处理方式有所区别,区别在于LIN1.3不切换调度表,占用事件触发帧的时隙发送,LIN2.0、LIN2.1将切换冲突调度表处理,如下图:

3)零星帧(偶发帧(Sporadic Frame)

引入零星帧的目的也是为了节省带宽,如:BCM(Master)需要发送对4个车窗的控制指令,但是,两个车窗的控制命令很少被同时执行,同样大量的带宽被浪费。

具体方案如下:

4)诊断帧

诊断帧用来传输诊断或配置信息,一般包含8个字节。

标识符:

60(0x3C):主请求帧

61(0x3D):从响应帧

传输方式:

5)保留帧

标识符:  62(0x3e), 63(0x3f)

在LIN 2.1中未对保留帧进行定义, 留给用户自定义或将来的版本升级。

9、调度表

10、偏移

偏移(jitter)是指一帧报文实际开始发送的时刻与帧时隙起点的时间差(该值在LDF文件中定义)

TFrame_Slot> jitter + TFrame_Maximum

11、网络管理

12、睡眠(Go To Sleep)

睡眠指令只有主节点可以发送,从节点在接到睡眠指令之后,也可以选择不进入睡眠状态而继续工作,这根据应用层协议而定。

13、唤醒(Wake Up)

在一个处于睡眠状态的LIN网络中,任何一个节点都可以发送唤醒信号。

发送节点发送的唤醒信号:

接收节点检测的唤醒信号:

14、主任务状态机模型

15、从任务状态机模型

Lin总线概述及入门相关推荐

  1. 细说汽车电子通信总线之LIN总线协议详解

    内容提要 1. LIN总线概述 1.1 LIN总线特点及发展历史 1.2 LIN 总线协议的物理层(收发器) 2. LIN总线报文帧结构(Message Frame Structure)详解 2.1 ...

  2. 车用技术总线 | 从应用角度了解下LIN总线

    注意:本文约4850字,完整阅读时间约13分钟. 主要内容 LIN总线概述 LIN总线的应用 示例:LIN总线和CAN总线的窗户控制 LIN总线的信号报文 记录LIN总线数据 LIN总线数据记录应用案 ...

  3. CAN总线入门、LIN总线入门文档-蓝凑云下载。 LDFEditor下载 ISO-14229、15765、11898下载与阅读

    这两个入门文档: 中文版.讲解得全面又详细,初学者值得一看. 一.CAN总线入门-瑞萨版 1)https://wwe.lanzoui.com/igt4hit08je2)链接:https://pan.b ...

  4. LIN总线增强型校验_雷洪钧:汽车总线及车载网技术概述

    点击蓝字,一键关注 走进<公共交通资讯>,及时掌握公交领域的行业政策.管理理论.科技信息.专家观点和先进经验... ... 张晓亮:我国城市公共交通智能化发展情况分析 王竹:浅谈公交驾驶员 ...

  5. AUTOSAR从入门到精通100讲(五)-汽车LIN总线详解

    01 LIN总线介绍 LIN总线是针对汽车分布式电子系统而定义的一种低成本的串行通讯网络,是对控制器区域网络(CAN)等其它汽车多路网络的一种补充,适用于对网络的带宽.性能或容错功能没有过高要求的应用 ...

  6. LIN总线入门到精通第一讲

    目录 1.车载LIN总线诞生背景和使用场景 2.LIN总线硬件接口 3.LIN总线协议 4.总结 ->返回总目录<- 1.车载LIN总线诞生背景和使用场景 LIN:Local Interc ...

  7. LIN总线解析与UART模拟LIN从机实战

    文章目录 目录 文章目录 前言 一.LIN总线是什么? 1.LIN总线的标准 2.LIN总线形式 3.帧的构成 二.UART模拟LIN从机的实现 1.方案概述 2.串口中断处理 3.同步间隔断中断处理 ...

  8. 整车CANFD、CAN、LIN总线通信及诊断培训

    CAN(Controller Area Network,控制器局域网)是国际上应用最广泛的现场总线之一,最初CAN被设计作为汽车环境中的各电子控制装置ECU之间传输信息的控制网络.当今CAN的应用已不 ...

  9. LIN总线uart形式实现lin通信

    LIN是Local Interconnect Network的缩写,是基于UART/SCI(Universal Asynchronous Receiver-Transmitter/Serial Com ...

最新文章

  1. 并发 vs 并行 (Concurrency Is Not Parallelism)
  2. Win 10 源码一览:0.5T 代码、400 万文件、50 万文件夹
  3. 在Python中以扩展名.txt查找目录中的所有文件
  4. RT ROM boot简介
  5. python不支持字符类型、单个字符也作为字符串使用_Python 字符串
  6. Llama-impala on yarn的中间协调服务
  7. 小米10解锁bl跳过168_2021年小米红米手机官方解锁BL详细教程+跳过168小时方法合集...
  8. 解决: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  9. linux 下i2c读写命令,S3C2440 Linux下的I2C驱动以及I2C体系下对EEPROM进行读写操作
  10. 喜笑等动作收集起来的扎金花GAME
  11. DM框架中CString/CStringW 转 double (c++通用)
  12. 软件工程设计之四则运算
  13. 从理论上来说,国足是否还有出线的可能性?分析数据后给你答案
  14. UVALive - 5713 最小生成树
  15. 招聘 | 语言资源高精尖创新中心研发人员招聘启事
  16. 【气动学】基于matlab GUI弹道仿真【含Matlab源码 1136期】
  17. 《Spring 揭秘》读书笔记
  18. 上偏续关系哈斯图_偏序集的哈斯图G(A)跟A上的偏序关系≤的关系图G(≤)是一 一对应的,相互确定。...
  19. 工业机器人cloos_工业机器人的技术发展及其应用
  20. (result, consumed) = self._buffer_decode(data, self.errors, final)

热门文章

  1. 互联网安全防护技术综述
  2. python将所有excel文档合并
  3. 分布式微服务下的跨库查询解决思路
  4. 酒店网站建设需要多少钱
  5. iOS KeyChain使用
  6. css蒙层和新手引导的实现方式
  7. Qt 基于http的网络文件下载
  8. 基于深度学习的自动识别夹取机械臂
  9. Aura Component父子组件通信
  10. Java is Pass-by-Value, Dammit!