汽车LIN总线(12) -- 应用层:配置识别诊断功能

       

目录

5.2.3.1 节点存储模型

5.2.3.2 从机节点 NAD 配置(SID:0xB0)

5.2.3.3 读取服务识别功能(SID:0xB2)

5.2.3.4 从机节点 PID 配置(SID:0xB7)


         LIN 规范规定,每个逻辑节点都应该有 NAD(从机地址)。在网络运行期间,任意两个逻辑节点的 NAD 都必须不同,否则就会产生冲突。此外,每个逻辑节点都要能处理带有某些 PID 的帧。由此可见, NAD 和 PID 分别与逻辑节点建立了一种映射关系, LIN 规范把 NAD 和 PID 的这样一种组合称为逻辑节点的配置项(Configuration)。一个逻辑节点可以有一个以上的配置项,但在网络运行期间,每个逻辑节点只能有一个配置项有效。

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

        为了适应汽车行业的需要, LIN 规范定义配置功能的服务时,参照了 ISO 制定的 UDS(Unified Diagnostic Services,车辆统一诊断服务)标准和 OBD(On-board Diagnostic,车载自动诊断)标准。配置功能各项服务及其 SID 都是 ISO 标准的子集。

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

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第1张图片

5.2.3.1 节点存储模型

        如图 5.5,节点存储模型

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第2张图片

        如同商品包装上的条形码,每个物理节点都有一个固定的编码,叫做 LIN 产品代号(LIN Product Identification)。产品代号是出厂时赋予的,除非修改产品,否则其内容不变。产品代号保存在不需要电源就能维持记录的地方,例如 ROM 或者非易失性存储器(Non-volatile Random Accessible Memory, NVRAM)。在进行配置服务时,从主机接收的产品代号必须和从机节点保存的产品代号一致,才能正常进行配置服务。

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第3张图片

        (厂商ID是一个16位的数字,最高位是0,由LIN协会规定)

        (功能ID是一个16位数字,由各供应商规定)

        (可变ID是一个8位的数字,用于区分同网络中相同功能的节点)

        (产品代号保存在各节点的ROM中,不进行更改)

  属性      通配符
NAD 0x7F
厂商ID 0x7FFF
功能ID 0xFFFF

        NAD的通配符0x7F用来访问所有节点的地址。

        厂商ID和功能ID可以代表所有未定义的厂商和功能。

       (用法:读取服务识别功能0xB2时,通配符代替需要写入的厂商ID等,获取真正的厂商ID等)

        另外,从机节点还可以有一个序列号,用于识别特殊的节点。序列号大小为 4 字节。

        从机节点可以将配置信息保存起来,重启后调用保存的配置信息,而无需主机节点再次分配。

        针对配置项的存储类型, LIN 规范定义了三种从机节点配置模型:

        第一种,无配置节点,这种从机节点在重启后,自身没有配置项,每次重启都需要主机进行配置。

        第二种,预配置节点,这种从机节点在重启后,调用预先设置的配置项。但是在主机重新对其进行配置后,不能存储新配置项。

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

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第4张图片

5.2.3.2 从机节点 NAD 配置(SID:0xB0)

        (根据厂商ID,功能ID和可变ID重新设定NAD,解决节点地址重复问题)

        有三种方法生成配置 NAD,如果初始 NAD 等于配置 NAD,那么不需要进行其他配置操作。如果配置 NAD需要从从机节点存储的保留配置中提取,需要调用 ld_set_configuration 进行配置,如果 NAD 需要变更,则需要主机发送配置 NAD 请求。
 汽车LIN总线(12) -- 应用层:配置识别诊断功能_第5张图片

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

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

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第6张图片

        注意,应答时,仍然使用初始 NAD。

       (上面的应答是肯定应答,否定应答RSID:0x7F)

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

        (注意:SID:0xB1在LIN2.0协议以上已经过时了,一般用0xB7代替)

5.2.3.3 读取服务识别功能(SID:0xB2)

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

        识别功能与上面介绍的配置功能使用同样的工作模型,如图 5.4 所示。识别服务中,主机发送的请求 PDU 单元结构如表 5.10:

     汽车LIN总线(12) -- 应用层:配置识别诊断功能_第7张图片

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第8张图片

5.2.3.4 从机节点 PID 配置(SID:0xB7)

       (对于1条报文最多可以设定4个ID,从而避免ID重复。比起LIN2.0的0xB1设定的时间更短)

         从机节点各个帧的 PID,是主机进行分配的。通过分配 PID 列服务,主机一次最多可给从机节点分配 4 个帧的 PID。

        分配 PID 列服务的 PDU 结构如表 5.8 所示:

汽车LIN总线(12) -- 应用层:配置识别诊断功能_第9张图片

你可能感兴趣的:(LIN,汽车,信息与通信,网络)