当前位置: 首页 > news >正文

UDS - 8 Application layer protocol

8 应用层协议

来自:ISO 14229-1-2020.pdf

8.1 一般定义

应用层协议应始终是确认消息传输,这意味着对于从客户端发送的每个服务请求,服务器应发送一个或多个相应的响应。

此规则的唯一例外是使用功能寻址或请求/指示指定不生成响应/确认的少数情况。为了不给系统带来许多不必要的消息负担,即使服务器未能完成请求的诊断服务,也存在少数情况,不应发送否定响应消息。这些例外情况在本文档的相关子条款中描述(例如,参见 8.7)。

应用层协议应与会话层协议并行处理。这意味着即使客户端正在等待对先前请求的响应,它也应保持适当的会话层时序(例如,如果需要保持诊断会话在其他服务器中继续进行,则发送 TesterPresent 请求;实现取决于所使用的数据链路层)。

8.2 A_PDU,应用协议数据单元

A_PDU(应用层协议数据单元)直接由 A_SDU(应用层服务数据单元)和层特定控制信息 A_PCI(应用层协议控制信息)构成。A_PDU 应具有以下通用格式:

A_PDU 	(Mtype,SA,TA,TA_type,[RA,]A_Data = A_PCI + [parameter 1, ...],Length)

其中:

  • “Mtype、SA、TA、TA_type、RA、Length” 与 A_SDU 中使用的参数相同;
  • “A_Data” 是为每个单独的应用层服务定义的字节数据字符串。A_Data 字符串应以 A_PCI 开头,后跟每个服务指定的 A_SDU 中的所有服务特定参数。括号表示参数列表的这一部分可以为空;
  • “Length” 确定 A_Data 的字节数。

8.3 A_PCI,应用协议控制信息

A_PCI 包含两种格式。格式由 A_PDU 参数的第一个字节的值标识。对于所有服务请求以及第一个字节不等于 7F16 的服务响应,应适用以下定义:

A_PCI	 (SI)

其中:

  • “SI” 是参数服务标识符;

对于第一个字节等于 0x7F 的服务响应,应适用以下定义:

A_PCI 	(NR_SI,SI)

其中:

  • “NR_SI” 是用于标识否定服务响应/确认的特殊参数;
  • “SI” 是参数服务标识符。

注:对于服务 ReadDataByPeriodicIdentifier(0x2A,参见 11.5)中定义的周期性数据响应消息的传输,应用层协议数据单元 (A_PDU) 中不存在 A_PCI。

8.4 SI,服务标识符

类型:1字节无符号整数值
范围:根据表2中的定义,0x00至0xFF。

表 2 — 服务标识符值

A_SI服务器类型(bit 6)定义于
0x00不适用本文件保留
0x01到0x0FISO 15031-5/SAE J1979 指定的服务ISO 15031-5/SAE J1979
0x10到0x3E本文档中指定的服务请求这个文件
0x3F不适用本文件保留
0x40不适用本文件保留
0x41到0x4FISO 15031-5 / SAE J1979 积极服务响应ISO 15031-5 / SAE J1979
0x50到0x7E本文件规定的积极服务响应这个文件
0x7F消极响应服务标识符这个文件
0x80到0x82不适用本文件保留
0x83到0x88服务请求这个文件
0x89到0xB9不适用本文件保留
0xBA到0xBE服务请求由系统供应商定义
0xBF到0xC2不适用本文件保留
0xC3到0xC8本文件规定的积极服务响应这个文件
0xC9到0xF9不适用本文件保留
0xFA到0xFE积极的服务反应由系统供应商定义
0xFF不适用本文件保留

注:请求消息的服务标识符与肯定响应消息的服务标识符一一对应,SI 字节值的位 6 表示服务类型。所有请求消息的 SI 位 6 = 0。所有肯定响应消息的 SI 位 6 = 1,除 ReadDataByPeriodicIdentifier(0x2A,见 11.5)服务的周期性数据响应消息外。

描述:

SI 应用于对服务原语中已调用的特定服务进行编码。每个请求服务都应分配一个唯一的 SI 值。每个肯定响应服务都应分配一个相应的唯一 SI 值。

服务标识符用于在从应用层传递到下层(并从下层返回)的 A_Data 数据字符串中表示服务。

8.5 A_NR_SI,否定响应服务标识符

类型:1 字节无符号整数值
固定值:0x7F
说明:
参数 NR_SI 是用于标识否定服务响应/确认的特殊参数。它应为否定响应/确认消息的 A_PCI 的一部分。

注:NR_SI 值与 SI 值相协调。NR_SI 值不作为 SI 值使用,是为了使 A_Data 编码和解码更加容易。

8.6 否定响应/确认服务原语

每个诊断服务都有一个否定响应/否定确认消息,该消息根据表 3 用消息 A_Data 字节指定。第一

http://www.lryc.cn/news/384655.html

相关文章:

  • 二叉树公共最近祖先
  • 智慧运维系统指导规范
  • 最新自助下单彩虹云商城系统源码,含小储云商城模板免授权
  • 头条系统-05-延迟队列精准发布文章-概述添加任务(db和redis实现延迟任务)、取消拉取任务定时刷新(redis管道、分布式锁setNx)
  • .gitignore git添加忽略文件
  • 面向遥感图像的多阶段特征融合目标检测方法
  • 操作系统面试篇一
  • OPenFast软件中的NRELOffshrBsline5MW_Onshore_ServoDyn.dat文件详解
  • 搭建rtmp/rtsp流媒体服务器的步骤
  • vue自定义事件传递数据
  • TensorBoard 安装与启动
  • 云计算运维工程师的突发状况处理
  • 【CSS in Depth 2 精译】1.6 本章小结
  • FFmpeg源码:ff_h2645_extract_rbsp函数分析
  • 关于 AD21导入电子元器件放置“3D体”STEP模型失去3D纹理贴图 的解决方法
  • 【JAVA】利用Redisson和Spring实现高效物联温度控制链路,确保温度调节的准确性和效率,定时链路执行使用案例,一环扣一环
  • yolov8部署资料
  • 迅为RK3588开发板支持LVDS信号,标准 HDMI信号,IMIPI信号
  • 页面开发感想
  • TikTok达人合作ROI分析:品牌如何评估带货效果
  • 硬件实用技巧:电容精度和常用容值表
  • Java面试题:内存管理、类加载机制、对象生命周期及性能优化
  • 什么是 Payment Request API?
  • 【杂记-浅谈EBGP外部边界网关协议、IBGP内部边界网关协议】
  • 基于Java的宠物领养管理系统【附源码】
  • Grafana 对接 Zabbix 数据源API错误
  • Spring Boot与Apache Kafka的深度集成
  • 07 Pytoch Module
  • Isaac Sim 9 物理(1)
  • vue vue.config.js webpack 加密混淆代码