前面的文章中有介绍过,在测试UDS诊断的时候,我们主要分为:UDS功能($10,$11,$22,$2E,$31,$3F,$34,$36 ,$37,$28,$85,$27等等服务) 、诊断总纲、诊断ID(DID、Routine ID、IO control ID)、Bootloader刷写,这部分的测试主要包含诊断协议测试和诊断功能测试,这里不再详细的介绍;今天我们要说的就是诊断协议更下层,那就是诊断TP层的处理优先级介绍,毕竟车载作为一个安全性能要求极高的产品,各种处理操作都是要固定的级别去处理,否则将会影响汽车的行车安全;这里不但包含代码层的处理,也包含测试侧的一些测试点要求,下面主要介绍下。
一、常见参数
1、N_OK
该值表示服务执行已经成功完成;
发送方和接收方在发送和接受的时候都会使用该返回值。
2、N_TIMEOUT_A
当定时器 N_Ar/N_As 超过其超时值 N_Asmax/N_Armax 时,向协议用户发出该值;
发送方和接收方在发送和接受的时候都会使用该返回值。
3、N_TIMEOUT_Bs
当定时器N_Bs超过其超时值N_Bsmax时,将该值发布给服务用户;
发送方在发送的时候使用该返回值。
4、N_TIMEOUT_Cr
当定时器N_Cr超过其超时值N_Crmax时,将该值发布给服务用户;
接收方在接收的时候使用该返回值。
5、N_WRONG_SN
该值在收到意外的 SequenceNumber (PCI.SN) 值后发送给服务用户;
接收方在接收的时候使用该返回值。
6、N_INVALID_FS
当在 FlowControl (FC) N_PDU 中接收到无效或未知的 FlowStatus 值时,会向服务用户发出该值;
发送方在发送的时候使用该返回值。
7、N_UNEXP_PDU
该值在收到意外的协议数据单元后发送给服务用户;
接收方在接收的时候使用该返回值。
8、N_WFT_OVRN
当接收器连续传输了 FlowStatus = WAIT 的 N_WFTmax FlowControl N_PDU 并且在此之后,它不能满足传输 FlowStatus = ClearToSend 的 FlowControl N_PDU 的性能要求时,向服务用户发出该值。
接收方在接收的时候使用该返回值。
9、N_BUFFER_OVFLW
该值在收到 FlowStatus = OVFLW 的 FlowControl (FC) N_PDU 后发送给服务用户。 它表示分段消息传输的接收方缓冲区无法存储 FirstFrame 中的 FirstFrame DataLength (FF_DL) 参数指定的字节数,因此分段消息的传输被中止。
发送方在发送的时候使用该返回值。
10、N_ERROR
这是一般误差值。 当网络层检测到错误并且没有其他参数值可以用来更好地描述错误时,应将其发送给服务用户。
发送方和接收方在发送和接受的时候都会使用该返回值。