LIN总线协议详解9(信号处理、配置、识别和诊断)

这篇具有很好参考价值的文章主要介绍了LIN总线协议详解9(信号处理、配置、识别和诊断)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、传输层 

1、PDU 结构

1.1、NAD(node address)

1.2、PCI(Protocol Control Information)

1.3、SID与RSID

1.4、消息字节段

2、传输层通信

 二、LIN应用层

1、概述        

2、信号处理能力        

3、配置功能

3.1、节点存储模型

3.2 从机节点 NAD 配置

3.3、从机节点 PID 配置

3.4 其它服务 

4、识别功能

5、诊断功能 

5.1 诊断方式

5.2 诊断类型(Diagnostic Class)


        从使用的角度来看,LIN 提供四项功能——信号处理、配置、识别和诊断,这四项功能共同构成了 LIN 的应用层。传输层是配置、识别和诊断这三项功能的通信载体,实现应用层消息与帧之间的格式转换和传输。为了规范使用,LIN 为应用层和传输层定义了 API 接口,参照"LIN的API"。

一、传输层 

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

1、PDU 结构

        为满足汽车行业的要求,LIN 传输层 PDU 的格式与 ISO 制定的基于 CAN 网络的诊断标准 ( 参照参考资料 [9])非常相似( ISO 标准的子集 ) 。这种兼容性大大减少了在 CAN LIN 之间转换数据格式的工作量,降低了对节点计算能力的要求。
 
         从发送格式上,PDU 单元 可分为 单帧(Single Frame,SF) 首帧(First Frame,FF) 续帧(Consecutive Frames,CF) 三种。 从发送源上,主机发送请求 PDU,从机发送应答 PDU。
        如下图 所示,为 PDU 格式, 包括节点地址(NAD) , 协议控制信息(PCI) , LEN , 服务 ID(SID) , 应答服务 ID(RSID) , 消息字节段(D1~D6) 。首字节 NAD 首先发送,末字节 D4,D5,D6 最后发送。

LIN总线协议详解9(信号处理、配置、识别和诊断)

1.1、NAD(node address)

        PDU 单元的第一个字节是 NAD node address ),用于区分不同从机节点的地址。 如下表 所示,列出了 NAD 的取值范围

LIN总线协议详解9(信号处理、配置、识别和诊断)

1.2、PCI(Protocol Control Information)

        PDU 单元的第二个字节是 PCI Protocol Control Information )信息,包含了 PDU 单元类型和消息字节长度的信息。如下表所示

LIN总线协议详解9(信号处理、配置、识别和诊断)

单帧中,附加信息 Length 表示消息字节数加 1

首帧中,附加信息只表示 Length 的高 4 位,低 8 位在 LEN 中表示。因此在消息长度为 12 位数据,最大长度为 40950xFFF)。

续帧 中的附加信息表示首帧后,跟随的续帧的编号,第一个续帧编号为 1 ,之后累加 1 。如果续帧数多于15 个,那么帧计数器在第 16 个续帧时从 0 重新计数。

1.3、SID与RSID

SID Service Identifier )表示了从机节点应完成的服务请求。节点配置服务的 SID 区间为 0xB0~0xB7, 诊断服务的 SID 区间为 0x00~0xAF,0xB8~0xFE
RSID Response Service Identifier )表示从机节点应答的内容,它的值是 SID+0x40

1.4、消息字节段

        消息字节段的内容取决于服务的种类。在单帧中,消息字段最多 6 个字节。在首帧和续帧中,所有 PDU 的消息字段,经过“重组”组成一个完成的消息。

2、传输层通信

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

传输层由传输层 API 完成,参照“LIN 的API”下表列出了传输层与 API 的对应关系API 的内容参照“LIN 的API”。

LIN总线协议详解9(信号处理、配置、识别和诊断)

 二、LIN应用层

1、概述        

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

LIN总线协议详解9(信号处理、配置、识别和诊断)

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

2、信号处理能力        

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

LIN总线协议详解9(信号处理、配置、识别和诊断)

        信号处理功能由核心 API 完成,参照“LIN 的API”下表列出了信号处理功能与 API 的对应关系API 的内容参照“LIN 的API”。

LIN总线协议详解9(信号处理、配置、识别和诊断)

3、配置功能

         LIN 规范规定,每个逻辑节点都应该有 NAD。在网络运行期间,任意两个逻辑节点的 NAD 都必须不同,否则就会产生冲突。 此外, 每个逻辑节点都要能处理带有某些 PID 的帧 。由此可见, NAD PID 分别与逻辑节点建立了一种映射关系,LIN 规范把 NAD PID 的这样一种组合称为逻辑节点的配置项 (Configuration) 。一个逻辑节点可以有一个以上的配置项,但在网络运行期间,每个逻辑节点只能有一个配置项有效。
         配置功能是指 LIN 的主机节点能自动地给所有逻辑节点选择配置项,消除 NAD 和 PID 分配中存在的冲突,使网络正常工作。配置功能是确保各节点协调运作的内部功能,包含分配 NAD、分配 PID 等服务。配置功能通过传输层完成配置服务。
        为了适应汽车行业的需要,LIN 规范定义配置功能的服务时,参照了 ISO 制定的 UDS(Unified Diagnostic Services,车辆统一诊断服务 ) 标准 ( 参照参考资料 [7]) OBD(On-board Diagnostic ,车载自动诊断 ) 标准 配置功能各项服务及其 SID 都是 ISO 15765 标准的子集
        配置功能的工作模型与计算机局域网的“ 客户机 - 服务器 模型很相似,如下图 所示。主机节点可以被视为客户机,逻辑节点被视为服务器。客户机首先向服务器发出服务请求,服务器依照请求执行操作,然后向客户机返回应答。

LIN总线协议详解9(信号处理、配置、识别和诊断)

3.1、节点存储模型

LIN总线协议详解9(信号处理、配置、识别和诊断)

        如同商品包装上的条形码,每个物理节点都有一个固定的编码,叫做 LIN 产品代号 (LIN Product Identification)。产品代号是出厂时赋予的,除非修改产品,否则其内容不变。产品代号保存在不需要电源就能维持记录的地方,例如 ROM 或者非易失性存储器(Non-volatile Random Accessible MemoryNVRAM)。在进行配置服务时,从主机接收的产品代号必须和从机节点保存的产品代号一致,才能正常进行配置服务。
下表为LIN产品代号的存储格式:
LIN总线协议详解9(信号处理、配置、识别和诊断)
        另外,从机节点还可以有一个序列号,用于识别特殊的节点。序列号大小为 4 字节。
        从机节点可以将配置信息保存起来,重启后调用保存的配置信息,而无需主机节点再次分配。
针对配置项的存储类型,LIN 规范定义了三种从机节点配置模型:
        第一种,无配置节点,这种从机节点在重启后,自身没有配置项,每次重启都需要主机进行配置。
        第二种,预配置节点,这种从机节点在重启后,调用预先设置的配置项。但是在主机重新对其进行配置后,不能存储新配置项。

        第三种,全功能配置节点,这种从机节点可以保存主机对其的配置,并在重启后调用此配置。

LIN总线协议详解9(信号处理、配置、识别和诊断)

3.2 从机节点 NAD 配置

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

LIN总线协议详解9(信号处理、配置、识别和诊断)

        主机节点给从机节点分配 NAD 是通过 Assign NAD 服务完成的。首先主机节点向从机节点发送配置 NAD请求,如果从机节点配置成功,从机节点会应答。

        分配 NAD 服务的 PDU 结构如下表所示:

LIN总线协议详解9(信号处理、配置、识别和诊断)注意,应答时,仍然使用初始 NAD。

        每个从机节点有一个初始 NAD ,初始 NAD 是从一个初始 NAD 列表中选择的。初始 NAD 列表是在编写节点性能文件(NCF )时设置的。 LIN 协议没有对生成初始 NAD 的具体方法进行限制。

3.3、从机节点 PID 配置

        从机节点各个帧的 PID ,是主机进行分配的。通过分配 PID 列服务,主机一次最多可给从机节点分配 4 个帧的 PID
分配 PID 列服务的 PDU 结构如下表 所示:
LIN总线协议详解9(信号处理、配置、识别和诊断)

        其中,消息字节段的第一字节是开始帧索引,表示分配第一个帧的排列号。从机节点中各帧的排列顺序是 按照节点性能文件(NCF)和 LIN 描述文件(LDF)中定义的顺序定义的。第一帧的索引编号是 0。后续四个字节是给从机节点分配的 PID。如果分配的 PID 值为 0,表示对应的信号携带帧无效。如果分配的 PID 值为 0xFF,表示保持对应帧的 PID 不变。

3.4 其它服务 

        除了对从机节点 NAD PID 的配置, LIN 规范还定义了其他配置服务,如条件变更 NAD ,数据导入,保存配置。配置功能由配置与识别 API 完成。下 列出了配置服务与 API 的对应关系
LIN总线协议详解9(信号处理、配置、识别和诊断)

4、识别功能

        识别功能是指主机节点能够获取逻辑节点的信息,例如产品代号等。借助识别功能,主机节点和逻辑节点还可以实现一些自定义的操作。
        识别功能与上面介绍的配置功能使用同样的工作模型,如下图 所示。

LIN总线协议详解9(信号处理、配置、识别和诊断)

        识别服务中,主机发送的请求 PDU 单元结构如下表

LIN总线协议详解9(信号处理、配置、识别和诊断)

 其中,从机根据目标 ID 的值来回应相应的信息。目标 ID 指定的相关信息如表 5.11

LIN总线协议详解9(信号处理、配置、识别和诊断)

识别功能由识别 API 完成,参照 “LIN 的API” 。表 5.12 列出了识别服务与 API 的对应关系

LIN总线协议详解9(信号处理、配置、识别和诊断)

5、诊断功能 

        诊断功能是指 LIN 网络之外的诊断设备可以直接连接 LIN 的主机节点,或者通过外部的其它网络 ( 例如 ISO11898 定义的 CAN 网络 ) 连接主机节点,连接后,诊断设备可以按规定的诊断协议 ( 例如 ISO15765 规范 ) LIN 的逻辑节点通讯。与配置功能相比,诊断功能是 LIN 网络作为一个整体对外呈现的可配置、可访问的属性。为了适应汽车行业的需要, LIN 规范定义诊断服务时,参照了 ISO 制定的 UDS 标准和 OBD 标准。LIN 诊断功能是以上两个标准的子集,相同服务的 SID 也相同。
        诊断功能的工作模型如下图 所示,它是配置功能工作模型的扩展。主机节点在此扮演了一个 网关 的角色,在诊断设备和 LIN 网络之间传递服务请求和应答。

LIN总线协议详解9(信号处理、配置、识别和诊断)文章来源地址https://www.toymoban.com/news/detail-400679.html

        诊断功能的实用意义可以用一个例子来说明:假设采用 LIN 子网的车门连接在底盘 CAN 网络上,诊断车门故障时,只需要把 OBD 设备连接于车载计算机的 CAN 接口即可,而不需要拆下车门;确定车门故障点后,拆下车门维修完毕,只需把 OBD 设备连接于车门的 CAN 接口,就能确认门是否已被修好,而不需要事先把车门装回。
        一般而言,节点的计算能力与成本成正比。应用层的四项功能中, 只有诊断功能可以根据具体产品而灵活裁减,其余的功能都是固定而且必须的。
        诊断功能的可裁减性体现在两方面:实现方式以及支持的服务种类,这些都是直接影响着节点计算负荷的因素。

5.1 诊断方式

        LIN 网络有三种方式来实现诊断功能,它们的差别在于传输层的复杂度,因为拆分 / 重组需要一定的计算量,这些方式如下表 5.13 所示,另外可参考图 5.2
LIN总线协议详解9(信号处理、配置、识别和诊断)

5.2 诊断类型(Diagnostic Class)

        逻辑节点功能越复杂,支持的服务越多,对逻辑节点的计算能力要求就越高。
        依据诊断服务的数量, LIN 规范划分出三种不同的诊断类型——I 类、II 类和 III 类, 适用于不同条件的逻辑节点。 I 类最低,III 类最高,较高类型完全包含较低类型的功能。
        I 类是所有诊断类型的公共部分,提供信号处理、识别、配置功能,诊断功能采用表 5.13 中的方式 A,这也是每个逻辑节点必备的服务。
        II 类节点增加了 UDS 定义的识别服务(1),诊断方式一般采用表 5.13 中的方式 B
        III 类节点相比 II 类节点,又增加了 UDS 定义的部分其它服务,此外,还增加了通过 LIN 总线在线升级的功能。
注: 1. 请注意区别 UDS 定义的识别服务与 5.2.4 描述的识别服务。
诊断类型的关联如图 5.8 所示。
LIN总线协议详解9(信号处理、配置、识别和诊断)

到了这里,关于LIN总线协议详解9(信号处理、配置、识别和诊断)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字信号处理、语音信号处理、现代信号处理

    推荐他的博客: 手撕《数字信号处理》——通俗易懂的数字信号处理章节详解集合 手撕《语音信号处理》——通俗易懂的语音信号处理章节详解集合 手撕《现代信号处理》——通俗易懂的现代信号处理章节详解集合

    2024年02月08日
    浏览(69)
  • 语音信号处理 —— 笔记(一)音频信号处理

      声音的产生 :能量通过声带使其振动产生一股基声音,这个基声音通过声道 ,与声道发生相互作用产生共振声音,基声音与共振声音一起传播出去。 传感器以 某种频率 探测声音的振幅强度以及振动方向,所得到的一系列随时间变化的点。 传感器的探测频率,即为采样

    2023年04月09日
    浏览(56)
  • 【linux】信号——信号保存+信号处理

    自我名言 : 只有努力,才能追逐梦想,只有努力,才不会欺骗自己。 喜欢的点赞,收藏,关注一下把! 上一篇博客,我们已经学过信号预备知识和信号的产生,今天讲讲信号保存+信号处理以及其他补充知识。 补充一些概念。 实际执行信号的处理动作称为 信号递达(Delive

    2024年02月04日
    浏览(45)
  • 现代信号处理——阵列信号处理(空域滤波原理及其算法)

    一、阵列信号处理简介 1、阵列信号处理的研究内容:检测、估计、滤波、成像等。 2、阵列信号处理的研究对象:空间传播波携带信号(空域滤波) 3、阵列信号处理方法:统计与自适应信号处理技术(如谱估计、最优与自适应、滤波) 4、阵列信号处理的目的:①滤波:增强

    2024年02月02日
    浏览(94)
  • 数字信号处理8:利用Python进行数字信号处理基础

    我前两天买了本MATLAB信号处理,但是很无语,感觉自己对MATLAB的语法很陌生,看了半天也觉得自己写不出来,所以就对着MATLAB自己去写用Python进行的数字信号处理基础,我写了两天左右,基本上把matlab书上的代码全部用Python实现了,所以,今天贴的代码和图有些多, 要用到的

    2024年02月13日
    浏览(41)
  • 信号处理中简单实用的方法——对信号进行平滑处理

    从现实环境采集到的数据中经常混叠有微弱噪声,其中包括由于系统不稳定产生的噪声,也有周围环境引入的毛刺,这些弱噪声都需要在处理信号之前尽可能地消除或减弱。这一工作往往作为预处理的一部分。下面将介绍几种简单又实用的平滑处理方法:五点三次平滑法、

    2024年02月07日
    浏览(55)
  • 信号系统之连续信号处理

    1 Delta 函数 连续信号可以分解为缩放和移位的增量函数,就像处理离散信号一样。不同之处在于,连续 delta 函数比其离散函数复杂得多,在数学上也抽象得多。我们不是用它是什么来定义连续 delta 函数,而是用它所具有的特征来定义它。 一个思想实验将展示它是如何工作的

    2024年02月22日
    浏览(56)
  • Linux进程信号【信号处理】

    ✨个人主页: 北 海 🎉所属专栏: Linux学习之旅 🎃操作环境: CentOS 7.6 阿里云远程服务器 从信号产生到信号保存,中间经历了很多,当操作系统准备对信号进行处理时,还需要判断时机是否 “合适”,在绝大多数情况下,只有在 “合适” 的时机才能处理信号,即调用信号

    2024年02月11日
    浏览(40)
  • Linux进程信号 | 信号处理

    前面的文章中我们讲述了信号的产生与信号的保存这两个知识点,在本文中我们将继续讲述与信号处理有关的信息。 之前我们说过在收到一个信号的时候,这个信号不是立即处理的,而是要得到的一定的时间。从信号的保存中我们可以知道如果一个信号之前被block,当解除

    2024年02月09日
    浏览(42)
  • 【非欧几里得域信号的信号处理】使用经典信号处理和图信号处理在一维和二维欧几里得域信号上应用低通滤波器研究(Matlab代码实现)

     💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 算例1 2.2 算例2 2.3 算例3  2.4 算例4 

    2024年02月13日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包