这篇文章给大家介绍一下14229-1中给出的服务原语(Service primitive)的概念,在开发的时候可以参考使用。
本文的内容包括:
一、应用层服务与应用层协议的概念
二、诊断数据传输步骤详解
三、有确认服务和无确认服务
四、应用层的服务原语(Service Primitive)
一、应用层服务与协议的概念
我们首先来看一张图:
图中左侧是诊断请求的发送方,常指诊断仪,也称客户端;右侧是诊断请求的接收方,常指ECU,也称服务器。图中展示了诊断仪发送一条诊断请求,和ECU返回一条响应的过程,我们后面会逐步分析这个过程。
我们首先来看图中分成了上下两部分,UDS属于应用层,但标准中进一步将其划分为两层——应用层服务(Application Layer Service)和应用层协议(Application Layer Protocol)。
应用层服务就是指我们前面说到的诊断服务,每个诊断服务有不同的参数封装格式,我们按照每个服务特定的格式将其参数封装成一个整体,就组成了应用层服务数据单元 A_SDU(ApplicationLayer_ServiceDateUnit)的概念,我们下面再详细看它的结构。
应用层协议的概念,比较正式一点的说法是经过处理后的可以在发送方和接收方的应用层之间互相传输的数据格式。具体来说,就是在应用层服务的基础上,在