LIN 通信概述

以下是基于瑞萨LIN入门手册的简要概述

一 LIN 是什么

LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter / Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办公设备等多种领域。本文主要针对 LIN 在分布式的汽车电子网络系统中的应用。
1996 年,Volvo和Volcano通讯(VCT)为Volvo S80 系列开发了一种基于UART/SCI的协议,即Volcano Lite。1997 年,Motorola与Volvo和VCT合作,帮助它们改进Volcano Lite协议以满足各种不同需求(比如无需晶振的从机设备自动同步),并制定可以支持各种半导体产品的开放标准。1998 年 12 月,Audi、BMW、Daimler Chrysler和Volkswagen也加入进来,由此形成了LIN协会(http://www.lin-subbus.org)。开发LIN标准的目的在于适应分层次车内网络在低端(速度和可靠性要求不高、低成本的场合)的需求。

LIN 的特点

LIN 具有以下特点:
(1) 网络由一个主机节点和多个从机节点构成。
(2) 使用 LIN 可以大幅度的削减成本,表现在以下方面:
● 开放型规范:规范可以免费从官方网站获得。
● 硬件成本削减:基于普通 UART/SCI 接口的低成本硬件实现,无需单独的硬件模块支持;从机节点无需
高精度时钟就可以完成自同步;总线为一根单线电缆。
● 装配成本削减:LIN 采用了工作流(Work Flow)和现成节点(Off-the-shelf Node)的概念,将网络装配标准
化,并可通过 LIN 传输层进行再配置。
● 缩短软件开发周期:LIN 协议将 API(Application Programming Interface,应用编程接口)标准化。
(3) 信号传输具有确定性,传播时间可以提前计算出。
(4) LIN 具有可预测的 EMC(ElectroMagnetic Compatibility,电磁兼容性)性能。为了限制
EMI(ElectroMagnetic Interference,电磁干扰)强度,LIN 协议规定最大位速率为 20kbps。
(5) LIN 提供信号处理、配置、识别和诊断四项功能。

LIN 的协议层

LIN 的帧结构

帧(Frame)包含帧头(Header)和应答(Response)两部分。主机任务负责发送帧头;从机任务接收帧头并对帧头所包含信息进行解析,然后决定是发送应答,还是接收应答,还是不作任何反应。帧在总线上的传输如图 3.1所示。

帧头包括同步间隔段、同步段以及PID(Protected Identifier,受保护ID)段,应答包括数据段和校验和段,如图 3.2 所示,其中值“0”为显性电平(Dominant),值“1”为隐性电平(Recessive),总线上实行“线-与”:当总线上有大于等于一个节点发送显性电平时,总线呈显性电平;所有的节点都发送隐性电平或不发送信息(不发送任何信息时总线默认呈隐性电平)时,总线才呈现隐性电平,即显性电平起主导作用。图中帧间隔为帧之间的间隔;应答间隔为帧头和应答之间的间隔;字节间间隔包括同步段和受保护ID段之间的间隔、数据段各字节间之间的间隔以及数据段最后一个字节和校验和段之间的间隔。下面对帧头和应答的各部分进行详细说明。

帧的类型

无条件帧(Unconditional Frame)

无条件帧是具有单一发布节点,无论信号是否发生变化,帧头都被无条件应答的帧。

事件触发帧(Event Triggered Frame)

事件触发帧是主机节点在一个帧时隙中查询各从机节点的信号是否发生变化时使用的帧,当存在多个发布节点时,通过冲突解决进度表来解决冲突。
当从机节点信号发生变化的频率较低时,主机任务一次次地轮询各个信号会占用一定的带宽。为了减小带宽的占用,引入了事件触发帧的概念。

偶发帧(Sporadic Frame)

偶发帧是主机节点在同一帧时隙中当自身信号发生变化时向总线启动发送的帧。当存在多个关联的应答信号变化时,通过事先设定的优先级来仲裁。

诊断帧(Diagnostic Frame)

诊断帧包括主机请求帧和从机应答帧,主要用于配置、识别和诊断用。主机请求帧(Master Request Frame,MRF),帧 ID = 0x3C,应答部分的发布节点为主机节点;从机应答帧(Slave Response Frame,SRF),帧 ID = 0x3D,应答部分的发布节点为从机节点。数据段规定为 8 个字节,一律采用标准型校验和。

保留帧(Reserved Frame)

保留帧的帧 ID 为 0x3E 和 0x3F,为将来扩展用。

信号处理、配置、识别和诊断

传输层

传输层的任务单一,就是充当一个“翻译官”,把来自诊断服务的消息(Message)“翻译”成协议层可以处理的PDU (Packet Data Unit,分组数据单元),或者反过来,把协议层收到的 PDU“翻译”成诊断服务需要的消息。消息到 PDU 的转换过程称为拆分(Packing),PDU 到消息的转换过程称为重组(Unpacking)。PDU 对应着帧结构的数据段,并通过诊断帧发送或接收。

PDU 结构

为满足汽车行业的要求,LIN 传输层 PDU 的格式与 ISO 制定的基于 CAN 网络的诊断标准(参照参考资料[9])非常相似(是 ISO 标准的子集)。这种兼容性大大减少了在 CAN 和 LIN 之间转换数据格式的工作量,降低了对节点计算能力的要求。
从发送格式上,PDU 单元可分为单帧(Single Frame,SF)、首帧(First Frame,FF)和续帧(Consecutive Frames,CF)三种。从发送源上,主机发送请求 PDU,从机发送应答 PDU。

传输层通信

应用层发出的消息如果长度不超过单帧的容量,传输层会按单帧的格式交给协议层发送。传输层收到的单帧也会直接作为消息送往应用层;如果消息长度超过单帧的容量,传输层先要把消息拆分成首帧和续帧并排好次序,然后再交给协议层依次发送。反过来,协议层收到的首帧和续帧,传输层先要按照接收次序将其重组为消息,最后交给应用层处理。
LIN 传输层只能按顺序接收续帧。
LIN 传输层具备出错重传功能。

LIN 应用层
概述

LIN 应用层提供信号处理、配置、识别和诊断四项功能。配置、识别和诊断功能又包含若干项目,称为服务(Service)。为了区别,每项服务都有固定、唯一的服务代号(Service ID,SID)。
 LIN 应用层及其关联
① 信号通过信号携带帧通信
② 配置服务通过传输层,以单帧的形式通信
③ 识别服务通过传输层,以单帧的形式通信
④ 基于信号的诊断服务
⑤ 诊断传输层,通过传输层通信,需要使用复帧的形式通信
⑥ 用户自定义的诊断
为便于理解本图,后文对每项功能都分别进行了详细描述并提出了工作模型的概念。LIN 应用层的配置、识别和诊断都是针对逻辑节点(Logical Node)的。逻辑节点是能够对来自主机节点和/或诊断设备的服务请求作出响应的功能实体。为了区别不同的逻辑节点,LIN 定义了 NAD(Node Address for Diagnose,诊断地址)。第 1 章介绍了物理节点(Physical Node)、从机任务和接口(Interface)的概念。对于一个物理节点来说,从机任务和接口对应着实现帧收发的软件和硬件实体,而逻辑节点则代表了配置、识别和诊断方面的能力。物理节点、从机任务以及接口是一一对应的,但是物理节点可以包括 1 个或者多个逻辑节点。

信号处理功能

信号处理功能是指应用层可以不经过传输层,直接从协议层获取或修改网络中的信号。这些信号由NCF(Node Capability File,节点性能文件)定义,既可以是工作参数(例如温度、压力的测量值、继电器的开合状态等),也可以是状态标志(例如某信号携带帧的收发状态)。

配置功能

LIN 规范规定,每个逻辑节点都应该有 NAD。在网络运行期间,任意两个逻辑节点的 NAD 都必须不同,否则就会产生冲突。此外,每个逻辑节点都要能处理带有某些 PID 的帧。由此可见,NAD 和 PID 分别与逻辑节点建立了一种映射关系,LIN 规范把 NAD 和 PID 的这样一种组合称为逻辑节点的配置项(Configuration)。一个逻辑节点可以有一个以上的配置项,但在网络运行期间,每个逻辑节点只能有一个配置项有效。
配置功能是指 LIN 的主机节点能自动地给所有逻辑节点选择配置项,消除 NAD 和 PID 分配中存在的冲突,使网络正常工作。配置功能是确保各节点协调运作的内部功能,包含分配 NAD、分配 PID 等服务。配置功能通过传输层完成配置服务。

识别功能

识别功能是指主机节点能够获取逻辑节点的信息,例如产品代号等。借助识别功能,主机节点和逻辑节点还可以实现一些自定义的操作。

诊断功能

诊断功能是指 LIN 网络之外的诊断设备可以直接连接 LIN 的主机节点,或者通过外部的其它网络(例如ISO11898 定义的 CAN 网络,参照参考资料[8])连接主机节点,连接后,诊断设备可以按规定的诊断协议(例如ISO15765 规范,参照参考资料[9])与 LIN 的逻辑节点通讯。与配置功能相比,诊断功能是 LIN 网络作为一个整体对外呈现的可配置、可访问的属性。

### 回答1: LabVIEW是一种非常流行的图形化编程工具,可以用它进行各种类型的数据采集、处理和控制任务,包括与LIN总线进行通信LIN总线是一种用于汽车电子中小型设备通信的串行通信协议,不同于CAN总线等其他类型的总线。 使用LabVIEW进行LIN通信需要使用相应的LabVIEW模块或工具包,例如NI-XNET或NI-CAN。此外,还需要相应的硬件支持,例如支持LIN总线通信的NI-XNET硬件。 在LabVIEW中,可以使用GUI编程进行LIN通信,例如创建用户界面并定义通信数据传输格式。可以使用NI-XNET或NI-CAN模块来实现LIN数据的发送和接收,并进行数据解析和分析。 总的来说,使用LabVIEW进行LIN通信是一种非常方便和高效的方法,可以有效地处理和控制汽车电子设备中的数据。 ### 回答2: LabVIEW是一种编程软件,可以帮助工程师和科学家快速开发测试、测量和控制应用程序。而LIN是一种局域网协议,通常用于汽车电子中的通信控制。因此,LabVIEW LIN通信主要是指使用LabVIEW来进行LIN通信控制。 在LabVIEW中进行LIN通信控制通常需要使用NI-CAN工具包,该工具包可以轻松地帮助用户配置和编程LIN通信设备。使用NI-CAN工具包,用户可以直接在LabVIEW中创建和发送LIN消息。同时,用户还可以通过该工具包来读取和解析接收到的LIN消息。 在实际应用中,LabVIEW LIN通信可以帮助用户实现以下功能: 1.发送和接收LIN消息,使不同的汽车电子设备之间可以进行通信。 2.读取和解析接收到的LIN消息,以便进行进一步的处理和控制。 3.设置不同的LIN消息、数据帧和信号,以满足不同的应用需求。 总之,LabVIEW LIN通信可以使得汽车电子工程师和科学家更加轻松地进行LIN通信控制和实现相关应用。它不仅可以减少开发时间和成本,还可以提高系统的可靠性和精度。 ### 回答3: LabVIEW LIN通信是指在LabVIEW开发平台中利用LIN总线进行通信的方法。LIN是一种低速的串行通信总线,可以有效地实现基于网络的控制和监视系统。在LabVIEW中,LIN通信可以通过NI-CAN或NI-XNET模块来实现。 通过NI-CAN模块和LabVIEW,用户可以轻松地创建和通信LIN网络。NI-XNET模块可以使用LIN协议来进行通信,在LabVIEW中通过一个专为LIN设计的XNET库即可实现相应功能。 使用LabVIEW LIN通信可以实现许多应用,例如汽车电子控制系统,航空电子控制系统,工业自动化等。在这些应用中,LIN通信用于传递数据和命令,实现不同设备之间的通信和控制。 总之,LabVIEW LIN通信是一种方便、高效、可靠的通信方式,可以满足不同领域和应用的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值