1 LIN基本概念

 LIN(Local Interconnect Network)总线是针对汽车分布式电子系统而定义的一种低成本的串行通讯网络,是对控制器区域网络(CAN)等其它汽车多路网络的一种补充,适用于对网络的带宽、性能或容错功能没有过高要求的应用。LIN总线是基于SCI(UART)数据格式,采用单主控制器/多从设备的模式,是UART中的一种特殊情况。
 使用一根12V 信号总线和一个无固定时间基准的节点同步时钟线。
2 通信特点(单线通信,传输速率较低)
 LIN线在物理上是一个上拉到12V的集电极开漏总线,多个节点可以并联到同一根线上,与IIC的SDA类似,但其没有独立的时钟线,靠通信双方约定的波特率进行通信,与UART类似,但由于UART之处在于,其可以通过同步场进行时钟同步,使传输变得更可靠。这样与CAN总线的一对差分双绞线不同,其抗干扰能力大大减弱,通信速率最高只能20Kbps,而CAN可达1Mbps。
3 通信结构(主从结构,中心化拓扑)
LIN线拓扑结构是主从结构的星型模型,所有传输都是master发起,slave不可以主动发起请求。这个其实与modbus更类似。也可以把slave看做消息的发布者,master看成消息的订阅者,想要获取某个变量值,就需要不断轮询读应节点对应的报文。这个结构就决定了LIN线传输的消息不可能太多,以保证消息更新的实时性,通常一条LIN线上定义的消息要比一条CAN线上定义的消息少一个数量级。当然,如果中心节点出现了问题,整个网络也就挂掉了。
4 通信协议解析

LIN总线的帧格式如上图所示。可以看出,一个典型的LIN数据帧主要包含header、header response以及response域。LIN一帧数据最大可以传8bytesLIN2.x规定可以传输的LIN字节数可选是2,4,8并不是1-8内任意一个数字。一般而言,车内会选择一个统一字节数,最常用比如每帧都传8个字节。

Header场中包含break,synch以及受保护的id。其实break就是告诉总线传输开始,然后用synch同步始终,然后使用受保护id来寻址,如果有LIN slave节点可以提供这个id的服务,那在master发出protected id后,就他就会插入一个应答,与IIC从机在sda上给出类似应答类似。值得注意的是,这个protected id并不是slave从机地址,而是想要订阅的报文id,换个说法,一个slave从机可以提供多个报文id的服务,比如一个车灯控制ECU,可以提供灯控制、状态、故障码、软硬件版本信息等多个LIN ID服务。而slave从机地址是隐性的与其所提供的报文ID是有个对应关系的。

与CAN总线的CRC校验不同,LIN的提供奇偶校验以及checksum方式,对header中的protected id进行奇偶校验,也会对data进行checksum校验,有classic以及enhanced区分。  LIN总线的主从结构决定了master节点要周期性的去slave读取数据,也可以去设置一个报文。一条LIN总线上有多个slave节点,每个slave要发布多个ID报文时,就需要master在兼顾实时行的条件下,顺序的读取或这设置每个slave的每个ID报文。对于每个slave可以提供哪些报文,有ldf文件统一描述,与CAN的dbc文件不同。Ldf文件全称为LIN Configuration Description File,描述了一条LIN bus完整的主从节点信息,以及报文格式,调度信息。根据ldf文件可以得到schedule tables,这个调度表给master设置了读取slave节点报文id的时间间隔,比如10ms,100ms。这个调度表可以由专门的生成工具由ldf文件来生成。

LIN通信协议以及概念相关推荐

  1. LIN通信协议-状态管理

    文章目录 状态管理 一.网络报告 二.节点内部报告 状态管理 状态管理是为了检测运行中的错误.错误一旦被发现,根据设计需要采取不同的措施进行排除,一种方法是简单替换掉错误节点,另一种方法是让发生问题的 ...

  2. LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(一)之LIN矩阵详解

    LIN矩阵详解 一.摘要 1.描述 2.关键字 二.什么是LIN 1.发展历史 2.子网与节点 3.主/从机节点与主/从机任务 4.特点 5.帧的结构 6.调度表 三.LIN矩阵 1.矩阵表 2.报文 ...

  3. linux解析json指针,Linux下JSON通信协议的使用和解析

    JSON的使用 1.JSON通信协议的概念 2.JSON的语法 2.1JSON对象 2.2JSON数组 2.3JSON字符串 3.JSON的使用与解析 3.1JSON结构体 3.2JSON格式的使用 ...

  4. LIN雨量传感器:吉利雨量感应器拆解 MLX75308开发与应用

    最近客户提供了一个新的雨量传感器来,要求分析一下这个传感器,并且要求提供低成本的解决方案,给他报个价格. 传感器外观如下: 在汽修宝上查询的结果: -------------------------- ...

  5. NXP SJA1124 spi转lin芯片驱动

    NXP SJA1124 spi转lin芯片驱动 文章目录 NXP SJA1124 spi转lin芯片驱动 一.总体特点 二.工作模式 三.spi通信 三.lin通信 四.芯片寄存器配置 一.总体特点 ...

  6. 关于TCP/IP通信协议的一些见解

    TCP/IP的一些理解 网络通信协议 TCP/IP构架 关于网络通信的阻塞与连接 路由的基本过程 域名系统DNS 什么是DNS? DNS的构架 域名服务器 两种查询模式 正向解析和逆向解析 RAP A ...

  7. 【物联网】4.物联网常用的通信协议 - HTTP 协议

    现代意义上的物联网,不光是可以近距离的使用手机/平板控制设备 还必须支持远程,快速的控制设备,就这需要引入通信协议的概念,这也是很多传统嵌入式人不太了解的部分(我预测这部分之后还是互联网大厂角逐的重要 ...

  8. 车载lin通信协议栈_车载手机无线充电

    车载无线充电技术是手机无线充电技术在汽车上的应用,该技术为人们提供了在车内充电区域随手放置手机即可充电的舒适便利性,同时也解决了传统充电方式中接线插线不方便及忘带充电线等诸多问题. 产品特点 ? 车载 ...

  9. 【LIN通讯出现问题】

    LIN信号发出了,但是没有收到响应的原因 如果你发送了LIN(局域网互连)信号,但没有收到响应,可能有以下几个原因: 线路故障:检查信号线路是否连接正确,可能存在接触不良.开路或短路等问题.确保线路连 ...

最新文章

  1. 实测 Mysql UUID 性能(转)
  2. java8学习:新的日期使用
  3. 技术人员为什么应该参加社区活动?
  4. Mac下通过Anaconda安装Tensorflow
  5. 【已解决】蓝桥杯 2017年C组第五题 杨辉三角(分析与总结)
  6. 【shell】shell编程(四)-循环语句
  7. easyUI 运用窗口和form表单制作导出功能
  8. 怎样选择合适的PoE交换机?POE交换机选用小常识!
  9. apache 配置 wss websocket打开握手超时_「Web应用架构」WebSocket介绍和WebSocket API
  10. python情感分析算法_Python 情感分析
  11. EVN双归组网环路问题解决
  12. composer 安装yii2框架
  13. 酷炫的外部开启Activity新姿势
  14. SecureCRT方向键显示为^[[A的解决办法
  15. 图片批量转换为base64
  16. 树莓派制作内网dns服务器,树莓派使用dnsmasq搭建DNS服务器
  17. 如何安装iOS 13 、 macOS Catalina 、watchOS 6 、 tvOS 13 或 iPadOS Beta
  18. 使用 Microsoft RDC for Mac 在 Mac 和 Windows 间传文件
  19. 关于ES6中let 和 const 命令的用法以及注意事项:
  20. 一款可以批量检测百度违规屏蔽关键词工具

热门文章

  1. DL之RNN:人工智能为你写小说——基于TF利用RNN算法训练数据集(William Shakespeare的《Coriolanus》)替代你写英语小说短文、训练测试过程全记录
  2. 梁实秋《时间即生命》
  3. 腾讯的38起人工智能投资
  4. ps圆角矩形图片的制作
  5. 打印9*9速算口诀表
  6. [产品05]-需求分析-需求分析定义/筛选/分析方法
  7. 兵贵神速——快速排序
  8. 网上下载的WINRAR文件被锁定了,怎样解锁呢
  9. 物业软件对管理的作用分析
  10. 如何区别FFC连接器和FPC连接器