ODX介绍(4)[Data Stream]

本文描述tester和ECU之间的通信数据流,主要有两部分:

— 请求

— 响应

了解UDS通信过程的对下图应该不陌生

tester通过SID 23服务,请在204813h开始的地址,请求都3个字节数据,ECU 在SID 63上返回数据。这个过程由Service, request ,response 和Parameters描述就可以完成,另外一种访问ECU的方式是通过诊断任务(diagnostic job),实际上,这个Job本身也是基于单个的Service服务组成,包含一个或多个services.通信过程所需的数据流如下UML所示:

(DIAG-COMM) 提供  (DIAGSERVICEs)和 jobs (SINGLE-ECU-JOBs)共同特征。定义了tester和ECU的诊断通信过程。在读ODX文件时,可以从DIAG-COMM(具体是其下的DIAG-SERVICE)这个元素入手,逐步发现ODX文件的诊断服务数据。

服务

UML表示的服务如下图:

     DIAG-SERVICE 继承DIAG-COMM类的所有成员。IS-CYCLIC and IS-MULTIPLE属于DIAG-SERVICE,与相关的服务,请求或者响应有关。IS-CYCLIC表示此诊断服务周期性发送,默认是false。有的服务需要多条响应,比如,DTC,这时IS-MULTIPLE属性值设置为true;

     有的服务可能需要多条正响应或者负响应,D -server会建立一个表,用到REQUEST-REF,POS-RESPONSEREFs,CODED-CONST and MATCHINGREQUEST等参数。

DIAG-SERVICE中有的POS-RESPONSE-SUPPRESSABLE 元素话表示抑制正响应。如下例子,

BIT-MASK 0x80与子功能ID 18进行或运算,0x92作为子ID被使用。

<DIAG-COMMS>
	<DIAG-SERVICE ID="ExampleServiceID" ADDRESSING="FUNCTIONAL-OR-PHYSICAL">
		<SHORT-NAME>ExampleService</SHORT-NAME>
		<AUDIENCE/>
		<REQUEST-REF ID-REF="ExampleRequestID"/>
		<POS-RESPONSE-REFS>
			<POS-RESPONSE-REF ID-REF="ExampleResponseID"/>
		</POS-RESPONSE-REFS>
		<POS-RESPONSE-SUPPRESSABLE>
			<BIT-MASK>80</BIT-MASK>
			<CODED-CONST-SNREF SHORT-NAME="ParamOfSubFunction"/>
		</POS-RESPONSE-SUPPRESSABLE>
	</DIAG-SERVICE>
</DIAG-COMMS>
<REQUESTS>
	<REQUEST ID="ExampleRequestID">
		<SHORT-NAME>ExampleRequest</SHORT-NAME>
		<PARAMS>
			<PARAM xsi:type="CODED-CONST">
				<SHORT-NAME>SIDParam</SHORT-NAME>
				<CODED-VALUE>15</CODED-VALUE>
				<DIAG-CODED-TYPE BASE-DATA-TYPE="A_UINT32" xsi:type="STANDARD-LENGTH-TYPE">
					<BIT-LENGTH>8</BIT-LENGTH>
				</DIAG-CODED-TYPE>
			</PARAM>
			<PARAM xsi:type="CODED-CONST">
				<SHORT-NAME>ParamOfSubFunction</SHORT-NAME>
				<CODED-VALUE>18</CODED-VALUE>
				<DIAG-CODED-TYPE BASE-DATA-TYPE="A_UINT32" xsi:type="STANDARD-LENGTH-TYPE">
					<BIT-LENGTH>8</BIT-LENGTH>
				</DIAG-CODED-TYPE>
			</PARAM>
		</PARAMS>
	</REQUEST>
</REQUESTS>

参数

再回顾下图:

在这里插入图片描述

   请求或响应包含一个或多个参数,类型如下:

⎯ VALUE;
⎯ RESERVED;
⎯ CODED-CONST;
⎯ PHYS-CONST;
⎯ LENGTH-KEY;

⎯ MATCHING-REQUEST-PARAM;
⎯ TABLE-KEY;
⎯ TABLE-STRUCT;
⎯ TABLE-ENTRY;
⎯ DYNAMIC;
⎯ SYSTEM;
⎯ NRC-CONST.

MATCHINGREQUEST-PARAM, DYNAMIC 和 NRC-CONST 仅用在响应中。

UML图表示的参数:

VALUE表示参数类型,它引用一个DOP,用来转换编码值到物理值或者物理值到编码值。在接收到的消息中,PHYSICAL-DEFAULT-VALUE用来做值的校验,收到的编码值被转换为物理值形式,再比较。例如,速度

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值