UDS知识整理(一):UDS简介与UDS要求规范简介

本文参考自:ISO/DIS 14229-1

一、汽车诊断与OSI模型对比

注:OSI全称:Open System Interconnection Reference Model,即开放式系统互联通信参考模型

  • 应用层:诊断服务
  • 表示层:由制造厂商自行定义(数据交换格式)
  • 会话层:UDS会话层部分
  • 传输层与网络层:DoCAN、DoFR、DoIP【其中Do指的是 Diagnostics on,即诊断用的CAN网络和传输等】
  • 数据链路与物理层:CAN、FlexRay、DoIP

二、UDS简介

UDS全称Unified diagnostic services,即统一诊断服务。

UDS主要对车载电子控制单元提供统一的诊断功能,如:自动变速箱、防抱死制动系统等。

UDS包含了对传输、数据处理、以及具体的诊断应用服务等各方面的要求,不单指某一方面的诊断服务而是包含了对传输方式、数据格式要求、具体诊断服务等一系列的标准和交互架构。

三、车辆诊断架构示例

 四、应用层服务

(1)应用层服务简介

应用层服务通常称为诊断服务。应用层服务用于基于客户端-服务器的系统,对车载服务器执行测试、检测、监控或诊断等功能。

客户端(通常称为外部测试设备)使用应用层服务请求在一个或多个服务中执行诊断功能。

服务(通常是ECU的一部分)使用应用层服务将响应数据(由被请求的诊断服务提供)发送回客户端。

(2)通用服务原语

注:在同一开放系统中,(N+1)实体向N实体请求服务时,服务用户和服务提供者之间要进行交互,交互信息称为服务原语

诊断应用层的服务访问点提供了许多具有相同通用结构的服务。对于每个服务,都指定了六个服务单元

  • a service request primitive (服务请求原语)
  • a service request-confirmation primitive (服务 请求-确认原语)
  • a service indication primitive(服务标识原语)
  • a service response primitive(服务响应原语)
  • a service response-confirmation primitive(服务 响应-确认原语)
  • a service confirmation primitive(服务确认原语)

 

 

 (3)服务原语格式

  • 通用服务原语格式

  •  服务请求原语格式

  •  服务标识原语格式

  •  服务响应原语格式

  •  服务确认原语格式

  •  服务请求-确认原语格式

  •  服务响应-确认原语格式

 在服务原语的格式中,数据类型以及数据大小均有作要求,在此不作详细阐述,具体内容请看标准手册

五、应用层协议

(1)一般定义

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

该规则的唯一例外是在少数情况下,例如使用功能寻址,或请求/指示指定不应生成响应/确认。为了避免过多不必要的消息给系统带来负担,在一些情况下,即使服务器没有完成所请求的诊断服务,也不应发送否定响应消息。

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

(2)协议数据单元规范

 

 

缩写介绍:

  • A_PDU(Application layer Protocol Data Unit)  应用层协议数据单元
  • A_SDU(Application layer Service Data Unit)   应用层服务数据单元
  • A_PCI(Application layer Protocol Control Unit)应用层协议控制单元
  • A_Data是为每个应用程序层服务定义的字节数据字符串
  • SI(Service identifier) 服务id
  • NR_SI(Negative service responses/comfimations)否定服务应答/确认的特殊参数

(3)SI,Service Identifier 服务ID

 (4)否定 响应/确认 服务原语

每个诊断服务都有一条用message指定的否定响应/否定确认消息

 (5)服务器响应实现规则

  • 一般服务器的响应行为

  •  服务器在接收到客户端请求的响应伪代码

六、服务描述的约定

(1)请求报文

  • 带subFunction(子功能)的请求数据单元

  •  不带子功能的请求数据单元

 其中Cvt 表示convention

  • M表示强制的,必须存在
  • C表示在某些条件下
  • S表示是必须的,可在参数列表选择
  • U表示由用户定义的,可存在或者不存在

(2)请求报文的子功能参数定义

其中0-6位为具体参数值,第7位为抑制积极响应消息(当第7位置1时,即让服务不回复正响应)。

  • 31
    点赞
  • 172
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃鱼的猫丿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值