Autosar诊断激活网络--Apple的学习笔记

一,前言

在标准autosar中诊断能激活网络,其实这块是autosar4.0后才纳入标准的,但是我一直没关注过。最近我需要设计这样的测试用例,但是具体需求到底是怎么样的呢。我直接看autosar源码来反推需求很累。

二,需求从哪里来

首先每家主机厂的需求规范中有时候不写的,若主机厂规范不写,那么就应该从引用的文档入手,也就是autosar标准文档查看,比如参考autosar4.4,网络相关的规范没找到呢,于是乎查看诊断通信规范,确实存在诊断激活网络的描述。从下图可以看出4.0.1版本加入的(关键函数ComM_DCM_ActiveDiagnostic和ComM_DCM_InactiveDiagnostic)


image.png

三,查看诊断激活网络的具体行为

  1. 在默认会话下,收到完整tp报文后就调用激活网络请求了。完成response响应报文后就请求释放网络


    image.png

    所以在默认回话下测试的话,若在RSS发送一帧10 01请求后,可以看到NM报文瞬间进入NOS发出一帧。但是马上停发了。(之前我还以为是bug呢~)

  2. 会话切换为默认时候会释放网络。从默认切换到非默认会激活网络。这里面就有一个S3Server的5s维持诊断session时间了。


    image.png

    所以若再RRS发送一帧10 03请求会,可以看到NM报文瞬间进入NOS发出报文,且维持正常周期发送5s。直到诊断session变为默认才释放访问。

四,小结

所以呢,学会从最根本的规范需求入手来学习autosar才是最高效的,然后再配合代码一起看,且同步测试验证对需求的理解。这样2条腿走路才能快速解决问题。一定要具备判断能力,能正确理解autosar需求才是王道。若需求理解错误,那么代码设计的再好也是白费力气。

你可能感兴趣的:(Autosar诊断激活网络--Apple的学习笔记)