ISO15765-2是什么?包含哪些内容? 接上一节
网络层服务项
所有的网络层服务项有统一的结构。为了定义这些服务项,三类主要的服务项说明如下:
- 请求服务,被更高的通信层或应用层使用,用于向网络层传递控制信息及要发送的数据;
- 指示服务,被网络层使用,用于向更高通信层或应用层传递状态信息及接收到的数据;
- 确认服务,被网络层使用,用于向更高通信层或应用层传递状态信息。
这些服务说明没有指定具体的应用程序接口,而只是一些独立于具体实施的主要服务项。
所有的网络层服务项有统一的结构形式,服务项写成如下的形式:
service_name.type (
parameter A,
parameter B,
parameter C,
…
)
这里,“service_name”是指服务项名称,例如,N_SDU,“type”指示了服务项的类型,“parameter A,parameterB,parameter C,…”则是N_SDU服务项传递的值。
服务项定义了如何使服务的使用者(例如,诊断应用层)如何与服务的提供者(例如,网络层)协同运行。以下服务项已在国际标准中说明,请求,指示和确认。
- 使用请求服务项(service_name.request),服务使用者向服务提供者请求一项服务。
- 使用指示服务项(service_name.indication),服务提供者通知服务使用者网络层的一个内部事件或者一个对等实体的服务使用者的服务请求。
- 通过确认服务项(service_name.confirm),服务提供者通知服务的使用者,之前服务使用者请求服务的结果。
网络层服务说明
-
N_USData.request
该请求服务项是请求传递<MessageData>数据及<Length>字节数,从发送者到到对等实体接收者,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。(参看5.3对参数的定义)。
N_USData.request服务项每次被启动,网络层应当通过一条N_USData.confirm服务通知服务使用者信息传递的完成情况。(成功或失败)
N_USData.request (
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
<MessageData>
<Length>
)
-
N_USData.confirm
N_USData.confirm服务项由网络层发送,该服务项用于确定N_USData.request服务的完成情况,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。参数<N_Result>提供请求服务项的状态。(参看5.3对参数的定义)
N_USData.confirm(
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
<N_Result>
)
-
N_USData_FF.indication
N_USData_FF.indication服务项由网络层发送。该服务项用于通知相邻上层接收到对等实体首帧数据已经到了。通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。(参看5.3对参数的定义)这个指示项发生在接收到拆分数据首帧的时刻。
N_USData_FF.indication (
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
<Length>
)
N_USData_FF.indication指示服务项发送完,网络层应当总是紧跟着发送一个N_UDSData.indication服务项,指示信息接收的完成情况。(成功或失败)
N_USData_FF.indication指示服务项应当至友网络层发送指示信息段的首帧是否被正确接收。
如果网络层监测到首帧中任何类型的错误,该信息应当被网络层忽略,并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
如果网络层接收到首帧中数据长度项的值(FF_DL)大于接收者缓冲区的数据,这应当被认为是一个错误的条件并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
-
N_USData.indication
N_USData.indication服务项由网络层发送。该服务项指示<N_Result>事件并传递<Length>字节数的<MessageData>至相邻的上层。这些信息通过同等实体间通过存放于N_SA,N_TA,N_TAtype及N_AE中标识的地址信息接收过来的。
当<N_Result>值为N_OK时,<MessageDate>及<Length>参数信息才有效。
N_USData.indication (
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
<MessageData>
<Length>
<N_Result>
)
N_USData.indication服务项是在接收到单帧(SF)信息或是指示拆分信息接收的完成时发送。
如果网络层检查到单帧中任何类型的错误,该条单帧信息应当被忽略并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
-
N_ChangeParameters.request
该服务项用于请求本地实体内部参数的修改。<Parameter_Value>参数值分配给<Parameter>参数(参看5.3对参数的定义)。
对参数总是可以修改的。特殊情况是在应用层接收到首帧的指示服务项(N_USData_FF.indication)到接收(N_USData.indication)服务项之间的时刻。
N_ChangeParameters.request (
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
<Parameter>
<Parameter_Value>
)
这是一个可选服务项,可被固定的参数值实施代替。
-
N_ChangeParameters.confirm
该服务项用于确认N_ChangeParameter.Confirmation运用信息的完成情况,这信息通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息标识。
N_ChangeParameter.confirm (
Mtype
N_SA
N_TA
N_TAtype
N_AE(可选的)
<Parameter>
<Result_ChangeParameter>
)
服务项数据单元说明
Mtype, Message type
类型:枚举类型
范围:诊断,远程诊断
描述:参数Mtype用于确定服务相中信息参数的类型及范围。该部分的ISO 15765协议指定了两个值标识这个参数。文档使用者可通过指定其它的类型,也可通过文档中网络层使用的其它地址信息参数的组合来扩展这些值的范围。每新定义的一套地址信息,Mtype应当赋予新值,标识新的地址信息。
-
如果Mtype = 诊断,N_AI地址信息应当包含参数N_SA,N_TA,和N_TAtype。
-
如果Mtype = 远程诊断,N_AI地址信息应当包含参数N_SA,N_TA,和N_TAtype,和N_AE。
N_AI,地址信息
该参数指的是地址信息。总的来说,N_AI参数用于确定信息发送者和接收者的源地址(N_SA),目标地址(N_TA),也包含确定(N_TAtype)和可选择地址扩展(N_AE)的通信模式。
N_SA网络源地址
类型:1字节的无符号整数
范围:00-FF 16进制
描述:N_SA参数代表发送者网络层实体
N_TA,网络目标地址
类型:1字节的无符号整数
范围:00-FF 16进制
描述:N_SA参数代表接收者网络层实体
N_TAtype,网络目标地址类型
类型:枚举类型
范围:物理的,功能的
描述:N_TAtype参数是对N_TA参数的扩展。它被网络层对等实体使用,代表通信模式。两种通信模式说明如下:1对1的通信,称为物理地址,1对多的通信称为功能地址。
——物理地址(1对1通信)网络层所有类型的信息都支持。
——功能地址(1对多通信)仅仅对单帧的通信支持。
N_AE,网络地址扩展
类型:1字节的无符号整数
范围:00-FF 16进制
描述:N_AE参数用于在大的网络上扩展现行的地址范围,用于子网中发送与接收网络层实体而不是本地网的通信。若Mtype设置为远程诊断时,N_AE仅仅是地址信息的一部分。
<Length>
类型:12个bit位
范围:1-4095
描述:该参数包含要发送或接收的数据长度。
<MessageData>
类型:字符串
范围:不固定
描述:该参数包含与上层实体所有交互的数据
<Parameter>
类型:枚举类型
范围:STmin, BS
描述:该参数确定网络层的参数
<Parameter_Value>
类型:1字节无符号整数
范围:0-255
描述:该参数分配给协议参数<Parameter>作为指示服务。
<N_Result>
类型:枚举类型
范围:N_OK, N_TIMEOUT_A, N_TIMEOUT_Bs, N_TIMEOUT_Cr, N_WRONG_SN,N_INVALID_FS, N_UNEXP_PDU, N_WFT_OVRN, N_BUFFER_OVFLW, N_ERROR
描述:该参数包含服务项执行的结果状态。如果同时产生了两个或以上的错误,网络层应该使用下列错误指示中首先找到的参数值,发送给高层。
-
N_OK
该值表示服务执行完全正确;它可同时由发送者和接收者发送至服务的使用者。
-
N_TIMEOUT_A
该值在定时器N_Ar/N_As超过了定时值N_Asmax/N_Armax,发送给服务的使用者;它可同时由发送者和接收者发送至服务的使用者。
-
N_TIMEOUT_Bs
该值在定时器N_Bs超过了定时值N_Bsmax,发送给服务的使用者;它仅能由发送者发送至服务的使用者。
-
N_TIMEOUT_Cr
该值在定时器N_Bs超过了定时值N_Crmax,发送给服务的使用者;它仅能由接收者发送至服务的使用者。
-
N_WRONG_SN
该值在接收到意外的连续的数值(PCI.SN)时被发送至服务使用者;它仅能由接收者发送至服务的使用者。
-
N_INVALID_FS
该值在从流控(FC)N_PDU接收到无效的或未知的流状态值时发送至服务的使用者;它仅能由发送者发送至服务的使用者。
-
N_UNEXP_PDU
该值在接收到未知协议数据单元时发送给服务使用者,它仅能由接收者发送至服务的使用者。
-
N_WFT_OVRN
该值在接收到流控WAIT帧超过最大计数N_WFTmax时发送至服务使用者。
-
N_BUFFER_OVFLW
该值在接收到流控(FC)N_PDU状态Flow = OVFLW时发送给服务的使用者。它用于指示接收者缓冲区无法存储首帧中数据长度(FF_DL),因此,该拆分数据的传递被丢弃。它仅能由发送者发送至服务的使用者。
-
N_ERROR
这是一个默认的错误值。它是当检测到网络层错误并且没有其它更好的参数描述该项错误时使用发送到服务使用者。它可同时由发送者和接收者发送至服务的使用者。
<Result_ChangeParameter>
类型:枚举类型
范围:N_OK, N_RX_ON, N_WRONG_PARAMETER, N_WRONG_VALUE
描述:该参数包含服务执行的结果状态信息
-
N_OK
该值表示服务执行完全正确;它可同时由发送者和接收者发送至服务的使用者。
-
N_RX_ON
该值发送给服务使用者指示虽然<AI>标识的信息接收到了,但服务没有执行。它仅能由接收者发送至服务的使用者。
-
N_WRONG_PARAMETER
该值发送给服务的使用者表示由于未定义的<Parameter>,服务没有执行;它可同时由发送者和接收者发送至服务的使用者。
-
N_WRONG_VALUE
改制发送给服务的使用者表示由于<Parameter_Value>超出范围,服务没有执行,它可同时由发送者和接收者发送至服务的使用者。
如需获取更多资料可以关注公众号“Auto笔记”,其分享汽车电子行业的最新资讯,及开发笔记、学习笔记等相关经验。关注公众号,回复“iso15765”,获取相应文档。