LIN通信协议以及概念

     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文件统一描述,与CANdbc文件不同。Ldf文件全称为LIN Configuration Description File,描述了一条LIN bus完整的主从节点信息,以及报文格式,调度信息。根据ldf文件可以得到schedule tables,这个调度表给master设置了读取slave节点报文id的时间间隔,比如10ms100ms。这个调度表可以由专门的生成工具由ldf文件来生成。

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: lin2.0协议栈是一种用于车载网络的通信协议栈,主要用于实现车内设备之间的通信。它是在LIN协议的基础上进行改进和完善的,具有更快的数据传输速率和更高的可靠性。 与LIN协议相比,lin2.0协议栈支持更高的数据传输速率,最高可达19.2kbps,同时具有更高的数据可靠性,能够保证数据的完整性和正确性。此外,它还增加了多主机支持、带宽优化和带宽共享等新功能,可以更好地支持车内设备的联网和交互。 在CSND上发布lin2.0协议栈,有助于提高该协议的知名度和普及率。开发者们可以通过CSND获取更多关于lin2.0协议栈的信息和资源,以便快速开发出符合该协议的车载应用程序。此外,CSND还提供了一系列学习资料和视频教程,帮助开发者更快地掌握lin2.0协议栈的使用方法和技巧。 总之,lin2.0协议栈是一种高效、可靠的车载通信协议,对于车载设备之间的数据传输和交互非常重要。在CSND上发布lin2.0协议栈,有助于推广该协议并提高其应用范围和普及率。 ### 回答2: lin2.0是一种车联网通信协议栈,其主要作用是实现车辆内外的通信,包括车辆和车辆之间的通信、车辆和基础设施之间的通信。lin2.0协议栈是由多个分层构成的,每层负责不同的功能,实现数据传输、数据处理等操作。 csdn是一家专业IT技术社区,拥有海量的技术文章、博客和视频,是广大技术爱好者获取技术信息和分享技术经验的重要平台。 在lin2.0协议栈中,csdn可以作为一个重要的技术支持平台,为开发人员提供技术支持和应用实践经验,并且在lin2.0应用程序的开发和优化中,也可以使用csdn提供的工具和资源。 总的来说,lin2.0协议栈和csdn都是与汽车联网技术相关的,并且在实现汽车联网方面都发挥着重要的作用。汽车联网技术的发展将为我们的出行和生活带来更多的便利和乐趣,相信在技术的推动下,这一领域将会有更多的突破和进步。 ### 回答3: Lin2.0协议栈是一种基于Linux系统的CAN总线通信协议栈,它是CAN总线通信的重要组成部分。由于CAN总线通信在汽车、机械、航空等领域应用广泛,因此Lin2.0协议栈的研究和应用具有重要的意义。 CSND是中国最大的IT技术社区之一,也是Lin2.0协议栈在国内的主要推广平台之一。通过在CSND上发布Lin2.0协议栈的相关技术文章和视频教程,能够快速地将Lin2.0协议栈的应用知识传播给更多的IT从业者和研究人员,推动Lin2.0协议栈的发展和应用。 通过在CSND上分享,IT从业者和研究人员能够了解Lin2.0协议栈的基本概念、架构和应用场景,并掌握Lin2.0协议栈的开发、调试和测试方法。这些知识将有助于IT从业者和研究人员对Lin2.0协议栈的实际应用进行深入学习和研究,推动CAN总线通信技术的进步和发展。 总之,Lin2.0协议栈与CSND的结合,将促进CAN总线通信技术在国内的应用和普及,有力推动行业的发展和进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值