该服务项用于提供接收的数据至上层。
4)N_USData.comfirm
该服务项用于确认应答给上层,表示请求服务项已经被执行(成功执行或不成功执行)。
b) 协议参数设置服务项
以下定义的服务项,使之能够对协议参数动态设置。 1)N_ChangeParamter.request
该项服务用于对特定内部参数的动态设置的请求 2)N_ChangeParameter.comfirm
3)该服务项用于确认应答给上层,表示修改协议特定项的请求已经被执行(成功执行或不成功执行)。
4.3 网络层的内部操作
网络层的内部操作为实现对等实体间的通信提供了分段、重组、数据传输流控制方法。
网络层主要的任务是传递一帧或大于一帧的数据信息。超过一帧的信息被分成多个部分,每一个部分都以一个CAN帧的形式被发送。 图1显示的是未被拆分的信息的传送的例子。 图2显示的是被拆分的信息传送的例子
流控制用来使发送端适应接收端网络层的接收能力。该流控制策略同样适用于诊断网关和通信子网。
5 网络层服务项
5.1 总览
所有的网络层服务项有统一的结构。为了定义这些服务项,三类主要的服务项说明如下:
——请求服务,被更高的通信层或应用层使用,用于向网络层传递控制信息及要发送的数据;
——指示服务,被网络层使用,用于向更高通信层或应用层传递状态信息及接收到的数据; ——确认服务,被网络层使用,用于向更高通信层或应用层传递状态信息。
这些服务说明没有指定具体的应用程序接口,而只是一些独立于具体实施的主要服务项。
所有的网络层服务项有统一的结构形式,服务项写成如下的形式: 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),服务提供者通知服务的使用者,之前服务使用者请求服务的结果。
5.2 网络层服务说明
5.2.1 N_USData.request
该请求服务项是请求传递
N_USData.request服务项每次被启动,网络层应当通过一条N_USData.confirm服务通知服务使用者信息传递的完成情况。(成功或失败) N_USData.request ( Mtype
N_SA N_TA N_TAtype
N_AE(可选的)
)
5.2.2 N_USData.confirm
N_USData.confirm服务项由网络层发送,该服务项用于确定N_USData.request服务的完成情况,通过在N_SA,N_TA,N_TAtype及N_AE中的地址信息确认。参数
N_SA N_TA N_TAtype
N_AE(可选的)
)
5.2.3 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(可选的)
)
N_USData_FF.indication指示服务项发送完,网络层应当总是紧跟着发送一个N_UDSData.indication服务项,指示信息接收的完成情况。(成功或失败)
N_USData_FF.indication指示服务项应当至友网络层发送指示信息段的首帧是否被正确接收。
如果网络层监测到首帧中任何类型的错误,该信息应当被网络层忽略,并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
如果网络层接收到首帧中数据长度项的值(FF_DL)大于接收者缓冲区的数据,这应当被认为是一个错误的条件并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
5.2.4 N_USData.indication
N_USData.indication服务项由网络层发送。该服务项指示
当
N_SA
N_TA N_TAtype
N_AE(可选的)
)
N_USData.indication服务项是在接收到单帧(SF)信息或是指示拆分信息接收的完成时发送。
如果网络层检查到单帧中任何类型的错误,该条单帧信息应当被忽略并且N_USData_FF.indication指示服务项不应当被发送至相邻的上层。
5.2.5 N_ChangeParameters.request
该服务项用于请求本地实体内部参数的修改。
对参数总是可以修改的。特殊情况是在应用层接收到首帧的指示服务项(N_USData_FF.indication)到接收(N_USData.indication)服务项之间的时刻。 N_ChangeParameters.request ( Mtype
N_SA N_TA
N_TAtype
N_AE(可选的)
)
这是一个可选服务项,可被固定的参数值实施代替。
5.2.6 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(可选的)
5.3.1 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。