后结果N_USData.ind。对多帧信息的最后一个N_USData.ind不对P2CANg) 服务器通过N_USData.con指示应答信息发送的完成。、
_Client定时器产生影响。
6.5.3.2.2默认会话期间扩展应答定时的功能通信
图8描述了默认会话期间客户机与2个服务器功能地址请求信息的定时操作。这里一个服务器通过应答码为0x78的否定应答请求一个扩展的应答定时。从服务器角度看,这与物理地址请求信息的定时处理没什么区别。但是客户机对定时的处理就与物理通信不同。
图8——默认会话期间功能通信——扩展的应答定时
a) 客户端诊断应用层通过发送N_USData.req至网络层开始发送功能地址请求信息。网络层传递该请求
信息至服务器。功能地址请求信息只能是单帧信息。 b) 客户机通过N_USData.con指示请求信息的完成。当接到N_USData.con时,客户机启动P2CAN定时器,使用默认的重置值P2CAN_Client_Client。该定时器的值应当考虑到车载网络设计上(通信网关,总
线带宽,等)所有的延时。为了简单化,该图假定客户机和服务器在一条总线上。 c) 服务器通过N_USData.ind指示请求信息的完成。 d) 功能地址服务器在接收到N_USData.ind后,要求在P2CAN在多帧回复信息条件下,首帧必须在P2CAN_Server_Server时间内发送应答信息。也就是说,
时间内发送,对于单帧回复信息,该单帧必须在
时间内无法提供请求的信息时,它可以通过
P2CAN_Server时间内回复。服务器在给定的P2CAN_Server发送应答码为0x78的否定应答信息请求扩展的定时窗。
e) 客户端接收到否定应答信息时,客户端网络层产生一个N_USData.ind。接收到应答码为0x78的否
定应答信息,客户端重置它的P2CAN_Client*定时器,但使用的是扩展的重载的P2CAN_Client定时值。
并且,客户端应当在挂起应答信息列表存储一个服务器标识。一旦在存储在客户端挂起的服务器开始它最后结果应答信息(肯定或否定应答信息包括应答码为0x78的应答),它将从挂起应答信息列表中删除。当无任何应答信息挂起时,客户端重新为P2CAN_Client使用默认的重载值。为简单化,图
中,显示了从服务器#1的仅一个应答码为0x78的否定应答。
f) 只要至少有一个服务器在客户机端挂起时,从任一服务器端任何进一步的应答信息,都会促使
P2CAN_Client*定时器使用扩展的值P2CAN_Client重启(见图9,该图显示了当客户机接收到第二个服
务器应答信息开始的情况)。
g) 至于物理的通信,服务器请求扩展的应答定时要求在扩展的时间P2CAN_Client*(P2CAN_Client)内,
应答信息。一旦服务器能提供请求的信息,它就通过发送N_USData.req至网络层开启最后结果应答
*信息。如果服务器仍然不能在扩展的P2CAN_Client时间内
提供请求的信息,它将继续发送应答码为
定时器,使用扩展的重载值
0x78的否定应答信息。这会促使客户机再次重启P2CAN_Client*P2CAN_Client。已经存储在客户端挂起应答信息列表中,服务器端包含应答码为0x78的否定应答信
息不影响客户端该信息列表。
h) 如6.3.5.2.1,在多帧应答信息情况下,从任一服务器端接收的首帧,客户机都是通过网络层
N_USDataFF.ind指示的。单帧应答信息通过N_USData.ind指示。当接收到首帧/单帧指示接下来的
应答信息,客户端要么知道服务器即将应答或已经应答过了,则停止P2CAN_Client,要么不是所有服
。
务器应答或它不知道服务器即将应答(客户机等待进一步的应答信息)时,重启P2CAN_Clienti) 如果完整信息接收到或者在接收过程中产生了一个错误,网络层产生最后结果N_USData.ind。这对
P2CAN_Client定时器不影响。而且适用挂起应答信息列表的处理。
j) 服务器通过N_USData.con指示完成发送。
6.3.5.2.3 非默认会话期间的功能通信
图9非默认会话期间的功能通信
图9描述了非默认会话期间客户机与2个服务器功能地址请求信息的定时操作。这里一个服务器通过应答码为0x78的否定应答请求一个扩展的应答定时。从服务器角度看,
a) 客户端诊断应用层通过发送N_USData.req至网络层开始功能地址诊断会话控制(0x10)的发送。网
络层传递该请求信息至服务器。请求信息是单帧。 b) 客户端通过N_USData.con指示请求信息的完成。6.3.5.1.1和6.3.5.1.2描述的应答定时适用于此。
除此之外,客户端产生的N_USData.con促使S3Client定时器开启(会话定时器)。
c) 服务器通过N_USData.ind指示请求信息的完成。6.3.5.1.1和6.3.5.1.2描述的应答定时适用于此。 d) 图上给出,假定客户机需要服务器一个应答。服务器应当发送诊断会话控制(0x10)的肯定应答信
息。 e) 服务器通过N_USData.con指示肯定应答信息发送的完成。然后服务器开启S3Server定时器,只要它
不超时,它就一直处于非默认状态。客户机负责保证S3Server定时器在它超时之前复位,以保证服务器处于非默认会话状态。
f) 一旦客户机开启了S3Client定时器,这会促使不需应答信息的功能地址(0x3E)请求信息的发送。
每一次发送的时机都是在S3Client超时时发送。
g) 在网络层通过N_USData.con指示(0x3E)请求信息传递完成之后,客户机再次启动S3Client定时器。
这就是说,功能地址请求信息是在每一次S3Client定时超时之后,周期性发送的。 h) 服务器在处理诊断服务的任何时间内,它都停止S3Server定时器。
i) 当诊断服务处理完之后,服务器重启S3Server定时器。这就是说,诊断服务,包括(0x3E),都重置
S3Server定时器。诊断服务是在接收到请求信息(N_USDataFF.ind或者N_USData.ind服务)与完成
最后结果应答这个期间内处理的。这里是需要一条应答信息的。或者请求然后诊断服务动作的完成
不需要任何应答信息。(及时到达一个点会促使一个应答信息的发送)
j) 所有(0x3E)请求信息,在服务器处理另外一条请求信息期间接收的话,都会被服务器忽略。因为
它已经停止了S3Server定时器,并且在服务处理完之后重启。
P2CAN_Client与P2CAN_Server定时处理与6.3.5.1.1和6.3.5.1.2小节中描述的处理方法
相同。唯一的区别是客户端重置的值及服务器端发送结果应答时间会有不同。这是由于转变到另一会话层而不是使用默认会话层,因此使用的是不同的P2CAN节诊断会话控制(0x10)服务对定时参数更详细的描述。)
_Client的值。(见9.2.1
6.3.5.3 客户机请求信息最小时间
为服务器轮询的服务数据的解读,这对客户机请求信息发送的最小间隔时间有要求的。例如,基于标准的功能,服务器可能处理诊断请求信息以预定的速率(例如10ms)。诊断
服务数据解读预定时间应当比运行要求时间P2CAN_Server短,以满足6.3.5和6.3.5.1.2对
服务器要求。
请求信息间隔时间的最小定时参数分为如下两个定时参数。 ——P3CAN_Functional:该定时参数适用于所有功能地址请求信息,因为它在不支持应答数据
的情况下,服务器不要求响应功能地址请求信息。 ——P3CAN_Physical:该定时参数适用于不需服务器应答的物理地址请求信息。
(suppressPosRspMsgIndicationBit = TRUE)。
物理通信在需要服务器应答的情况下,客户端可以在接收到最后一条应答信息的时候立即发送下一个请求,因为服务器在完成最后结果应答时——意味着该请求已被服务器完全处理完了。
图10描述了功能通信期间出现一个问题的例子。当客户机在它确认所有期望的服务器都对先前做了应答时,立即发送下一个请求信息。
该情景不仅适用于功能地址请求也适用于物理地址请求,这里客户机不需接受任何应答信息(suppressPosRspMsgIndicationBit = TRUE)。
为了处理上述情况,在一条物理或功能地址请求信息与新的物理或功能地址请求信息之间,最小时间P3CANa) P3CAN_Physical_Physical和P3CAN_Functional需要为客户机定义。
_Server_max的值与物理地址的服务器P2CAN的值相同。该定时适用于所有诊断
会话(默认的或非默认的)的所有物理地址请求信息而且所有情况下,都不需要服务器应答。
客户机每次启动P3CAN_Physical定时,都发送一条不需应答的物理地址请求信息到总线上,
并且,网络层通过N_USData.con指示。当客户机在先前请求信息完全处理完之后,想要发送新的物理地址请求信息时,这只有在P3CAN_Physical定时器不处于活动的情况下。
_Physical客户端在发送一条新的物理地址请求信息的时刻,启动P3CAN要等到P3CANb) P3CAN_Physical。然后信息的发送
超时。
_Server_max_Functional的值是所有功能地址服务器P2CAN,所有诊断会话(默认的或非
默认的),所有功能地址请求信息的最大值(最坏情况)。 客户端每次开启P3CAN_Functional定时器,都发送不需应答的功能地址请求信息到总线上,
并且客户端网络层通过N_USData.con指示。当客户机在先前请求信息完全处理完之后,想要发送新的物理地址请求信息时,这只有在P3CAN_Functional定时器不处于活动的情况下。客
_Functional户端在发送一条新的物理地址请求信息的时刻,启动P3CAN到P3CAN_Functional。然后信息的发送要等
超时。
注意:“完全处理完”就是说要么不需应答时没有接收到任何应答,要么所有期待的应答都