概述
LIN(Local Interconnect Network)总线,即本地互联网是一种通信网络协议,它是一种单线串行网络协议,在40米长的总线上支持高达19.2Kbit/s的通信,速度为20bit/s。虽然了解了LIN总线这些规格后,人们可能会意识到CAN总线的强大,但LIN总线的低速也正是它在通信网络协议世界中存在的原因。LIN总线满足了对具有相当低的速度和低带宽要求的组件的低成本选择的需要。实际上,CAN总线如果用于汽车的每一个部件,成本会很高。因此,LIN作为一种低成本的替代方案,可以在车辆的大部分机电部件之间进行通信。
通常情况下,不影响车辆性能的部件会使用LIN总线进行通信,它主要是由五家汽车制造商开发的;即宝马、大众集团、奥迪、沃尔沃汽车、梅赛德斯-奔驰),网络和硬件等技术由Volcano汽车集团和摩托罗拉提供。LIN 1.3版是新LIN规范的第一个完全实施的版本(2002年11月),于2003年9月又推出2.0版,扩大了配置能力,规定了重要的额外诊断功能和工具接口等。
LIN总线的特点
有许多功能增加了 LIN 总线的普及,比如:
• 比其他协议的成本低
• 减少线束
• 使用可靠
• 配置灵活
• 触发调度时间较少
• 损失更少
• 延迟时间的准确性
• 错误检测和校验
• 节点低廉
• 不需要协议许可
• 支持睡眠和唤醒模式
• 分层网络的可变使能器
• 工作电压为12V[8]
• 数据帧的长度(2、4和8字节)
LIN总线工作原理
LIN 仅使用一根线(单线总线), 在这样一个网络上,可以容纳 16 个节点。16 个节点中的一个充当“主节点”,其他节点自动充当“从节点”;与纯粹主-主设置的 CAN 不同,LIN 是典型的主-从配置,其中一个节点传递指令或命令,另一个跟随。这里可以有1到15个从属设备,主设备同时包含一个主任务和一个从属任务。主机和从机通常是微控制器。车辆内部的通信网络是 CAN 和 LIN 总线的协作, LIN 总线用于车身电子,CAN 用于主流动力总成和车身通信。在 LIN 中,各子系统可以通过使用 CAN 总线的骨干网络连接。
许多组件可以使用LIN总线进行连接。而速度和成本是使用CAN或LIN的重要决定因素。
LIN可以使用标准的串行通用异步接收/发送器(嵌入到大多数现代低成本的8位微控制器中),而且相对来说更为低廉,其中CAN服务于高速且容错率低的,并在5V差分总线上运行;而LIN在12V单线总线上满足低速、低带宽的要求。
帧结构:数据以固定格式的信息(可选择长度)在总线上传输。主站任务传送一个报头,包括一个中断信号,然后是同步和标识符字段。每当有请求时,从站都会以信息(以包含 2、4 和 8 个数据字节以及 3 个字节的控制信息的数据帧的形式)进行响应。从属设备不会自己进行通信;只有主站可以使它们进行通信。所有的消息都是由主站发起的,最多只有一个从站对给定的消息标识符进行回复。如果从属任务需要发布响应,它将向总线传输1到8个数据字节,然后是一个校验字节。主节点也可以通过回复其消息来充当从节点。由于主节点发起了所有的通信,因此没有必要实施冲突检测。
LIN报文帧分为两个主要部分,即
• “报文帧头 "总是只由主节点传送,由中断、同步(同步)和标识符字段组成。
• “报文响应”可由主节点和从节点传输,由数据和校验和字段组成。
Break 中断: 标志着帧的开始,用来使所有的从站都能收听到标题中即将出现的部分;由 13 位(显性位)和 1 位(隐性)中断定界符(十六进制值 0X00)组成。
Sync 同步:它允许从属设备调整其内部波特率以与总线同步,通过允许执行自动波特率检测的从属设备来测量波特率的周期(十六进制值 0X55)。
Identifier 标识符:该字段为每条消息提供标识,并指定网络中的哪些节点需要接收或响应每次传输。所有从节点都侦听 ID 字段并验证它们的奇偶,以确定它们是否必须发送或接收特定标识符(低六位包含原始 ID,高两位包含奇偶性)。
LIN总线总共提供64个ID
ID 0-59 | 用于携带信号的数据帧 |
ID 60-61 | 用于携带诊断数据 |
ID 62 | 保留给用户定义的扩展 |
ID 63 | 保留给未来的协议增强功能 |
响应空间:LIN帧的ID字段和第一个数据字节消息响应部分之间的时间间隔。当一个特定的 LIN 帧由 LIN 主节点完整传输时,包括一个报头和一个响应,它使用整个响应空间来计算在发送报头之后何时发送响应。如果 LIN 帧的响应部分来自物理上不同的从节点,则每个节点(主节点和从节点)在其超时计算中使用 50% 的响应空间时间。
数据:标志着信息响应的开始。它由一个LIN从站作为响应传送到网络上,形式为1到8个字节的有效载荷数据字节。
校验和: LIN总线定义了使用两种校验算法中的一种来计算八位校验和字段中的值。传统的校验算法是单独计算数据字节的总和,而增强型校验和是通过计算数据字节和受保护的ID的总和。
LIN总线的高级帧类型:根据帧传输的时序或它们所包含的数据字节的内容,LIN帧被分为六种高级类型。
无条件帧 | ● 最常用的框架类型。 ● 总是携带信号/数据。 ● 标识符范围 - 0至59(0x00至0x3b)。 ● 所有订阅者都收到该帧。 ● 使其可用于应用程序(假设没有检测到错误)。 |
事件帧 | ● 允许多个从属站在一个帧槽时间内响应。 ● 节省带宽。 ● 标识符范围 - 0至59 ● 携带的无条件帧的第一个数据字节等于分配给事件触发帧的保护标识符。 ● 从站用一个相关的无条件帧进行回复。(只有当其数据值发生变化时) ● 如果没有任何从属任务对头的响应,帧槽的其余部分是静默的,报头被忽略。 ● 如果在同一个帧槽中,有一个以上的从属任务对标头作出响应,就会发生碰撞。 ● 主站必须在再次请求事件触发的帧之前,通过请求所有相关的无条件帧来解决碰撞问题。 |
零星帧 | ● 由主节点按要求传送。 ● 无碰撞。 ● 只有当主站任务知道帧中携带的信号已被更新时,才应在其相关的帧槽中发送报头 ● 零星帧的发布者应始终响应报文头。 ● 使得LIN动态化。 |
诊断帧 | ● 携带诊断或配置数据。 ● 包含八个数据字节 ● 识别器 60 (0x3C) :主站请求帧。 ● 61 (0x3D) :从站响应帧。 ● 主节点在生成诊断帧的报头之前,询问诊断模块是否应发送或总线是否应沉默。 ● 从属节点根据其诊断模块发布和订阅响应。 |
用户定义帧 | ● 可以携带任何种类的信息。 ● 识别器62 (0x3E) ● 帧头总是在处理分配给该帧的帧槽时被传送。 |
保留帧 | ● 不能在LIN 2.0集群中使用 ● 识别码63 (0x3F) |
尽管LIN总线是一种具有成本效益的通信方法,但它并不能完全替代CAN总线。它只有在低速或带宽没有过高要求,而且成本可以有效操纵的情况下,才是一个很好的替代品。通常情况下,它被用作连接模块的中央系统CAN总线的子系统支持,这些模块对车辆性能或安全并不重要。
在Influx Technology 公司,数据记录仪支持LIN总线和CAN总线(数字和模拟), "完整的数据记录仪 "使其成为您的车辆网络系统的理想选择。
最后
以上就是曾经秋天为你收集整理的LIN总线知识基础的全部内容,希望文章能够帮你解决LIN总线知识基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复