LIN应用层

LIN应用层提供信号处理、配置、识别和诊断四项功能。配置、识别和诊断功能又包含若干项目,称为服务(Service)。为了区别,每项服务都有固定、唯一的服务代号(Service ID, SID)。

LIN 应用层的配置、识别和诊断都是针对逻辑节点(Logical Node)的。逻辑节点是能够对来自主机节点和/或诊断设备的服务请求作出响应的功能实体。为了区别不同的逻辑节点, LIN 定义了 NAD(Node Address forDiagnose,诊断地址)。

对于一个物理节点来说,从机任务和接口对应着实现帧收发的软件和硬件实体,而逻辑节点则代表了配置、识别和诊断方
面的能力。物理节点、从机任务以及接口是一一对应的,但是物理节点可以包括 1 个或者多个逻辑节点。

信号处理功能

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

信号携带帧在 LIN 网络的节点之间传递,每个节点既可以是信号的发布者,也可以是信号的收听者。

信号处理功能由核心 API 完成。

操作 核心 API
信号读写 l_bool_rd/l_bool_wr
信号读写 从机节点地址,即 NAD
信号读写 功能节点地址(功能 NAD)
信号读写 广播节点地址(广播 NAD)
读标志,清除标志 用户自定义
配置功能

配置功能的工作模型与计算机局域网的“客户机-服务器”模型很相似,如图 5.4 所示。主机节点可以被视为客户机,逻辑节点被视为服务器。客户机首先向服务器发出服务请求,服务器依照请求执行操作然后向客户机返回应答。

LIN 规范规定,每个逻辑节点都应该有 NAD。在网络运行期间,任意两个逻辑节点的 NAD 都必须不同,否则就会产生冲突。

此外,每个逻辑节点都要能处理带有某些 PID 的帧。由此可见, NAD 和 PID 分别与逻辑节点建立了一种映射关系, LIN 规范把 NAD 和 PID 的这样一种组合称为逻辑节点的配置项(Configuration)。一个逻辑节点可以有一个以上的配置项,但在网络运行期间,每个逻辑节点只能有一个配置项有效。

配置功能是指 LIN 的主机节点能自动地给所有逻辑节点选择配置项,消除 NAD 和 PID 分配中存在的冲突,使网络正常工作。配置功能是确保各节点协调运作的内部功能,包含分配 NAD、分配 PID 等服务。配置功能通过传输层完成配置服务。

节点存储模型:

如同商品包装上的条形码,每个物理节点都有一个固定的编码,叫做 LIN 产品代号(LIN Product
Identification)。产品代号是出厂时赋予的,除非修改产品,否则其内容不变。

在进行配置服务时,从主机接收的产品代号必须和从机节点保存的产品代号一致,才能正常进行配置服务。
从机节点还可以有一个序列号,用于识别特殊的节点。序列号大小为 4 字节。

从机节点可以将配置信息保存起来,重启后调用保存的配置信息,而无需主机节点再次分配。
针对配置项的存储类型, LIN 规范定义了三种从机节点配置模型:

第一种,无配置节点,这种从机节点在重启后,自身没有配置项,每次重启都需要主机进行配置。
第二种,预配置节点,这种从机节点在重启后,调用预先设置的配置项。但是在主机重新对其进行配置后,不能存储新配置项。
第三种,全功能配置节点,这种从机节点可以保存主机对其的配置,并在重启后调用此配置。

从机节点 NAD 配置

有三种方法生成配置 NAD,
如果初始 NAD 等于配置 NAD,那么不需要进行其他配置操作。
如果配置 NAD需要从从机节点存储的保留配置中提取,需要调用 ld_set_configuration 进行配置,
如果 NAD 需要变更,则需要主机发送配置 NAD 请求。

从机节点 PID 配置

诊断功能

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

为了适应汽车行业的需要, LIN 规范定义诊断服务时,参照了 ISO 制定的 UDS 标准(参照参考资料[7])和OBD 标准(参照参考资料[9])。 LIN 诊断功能是以上两个标准的子集,相同服务的 SID 也相同。

诊断功能的工作模型如图 5.7 所示,它是配置功能工作模型的扩展。主机节点在此扮演了一个“网关”的角色,在诊断设备和 LIN 网络之间传递服务请求和应答。