Autosar 网络管理-诊断请求到底能不能快发Nm报文?

文章目录

前言

之前一直理解的诊断请求会维持网络,客户报问题说诊断请求不能快发Nm报文,但软件没改过,以前也没报过这个问题,本文梳理一下该问题报的是否合理

Autosar规范

标准Autosar CanNm状态机如下:

大家知道快发Nm报文是在Repeat Message State 状态下,正常ECU被动唤醒状态下,处于Ready Sleep State 状态下,不会发送Nm报文

由上图Nm状态机可以看到,当Nm处于Network Mode 时,如果CanNmPnHandleMultipleNetworkRequests 配置为True时(上图红框1),调用CanNm_NetworkRequest() ;函数会重新进入RMS状态,此时就可以快发Nm报文了。如果CanNmPnHandleMultipleNetworkRequests 配置为False,同时Nm处于Network Mode-RSS时(上图红框2),调用CanNm_NetworkRequest() ;函数,Nm状态会跳转到Normal Operation State ,此时Nm报文正常慢周期发送(如1s),也就不会有快发报文

对应的Autosar标准需求如下:

细心的同学应该发现了,从RSS到RMS还可以通过调用CanNm_RepeatMessageRequest 函数实现,那为什么诊断不是通过调用该函数实现快发的呢?之前介绍过诊断请求网络的实现,参考:Autosar Dcm开发-诊断报文请求网络管理报文的实现方法-基于ETAS软件

请求网络最终由ComM_DCM_ActiveDiagnostic函数实现,Autosar ComM中有如下需求:

可知诊断请求最终由Nm_NetworkRequest实现,对于Can网络来说,也就是CanNm_NetworkRequest实现。

同时,我查了下代码,项目中CanNm_RepeatMessageRequest实际没有用到,Nm在NOS或RSS状态下,外部调用这个函数可以主动进RMS,而诊断请求并不是通过该函数实现的。

问题分析

到此已经可以解释文章的问题了,到底能不能快发Nm报文取决于CanNm中的CanNmPnHandleMultipleNetworkRequests配置,配置为True才能快发Nm报文,否则不能快发Nm报文。

而客户需求中明确规定了CanNmPnHandleMultipleNetworkRequests需要配置为True,所以这个问题提的就是不合理的。

总结

Nm状态机这边只提了调用CanNm_NetworkRequest来触发快发报文,那诊断请求又是如何调用CanNm_NetworkRequest函数的呢?CanNmPnHandleMultipleNetworkRequests又是如何影响Nm状态机的呢?留着后面有空再整理吧~

相关推荐
happymade3 天前
MSRM3 区域层级嵌套功能深度解析与实操教程
运维·网络拓扑·网络管理·网络运维·msrm3
北京智和信通6 天前
智和信通赋能某体育局训练中心异构交换机统一运维
网络管理·智能运维·网管平台·it资产管理·交换机监控
叶修_A9 天前
FS-11 功能安全ISO26262之生产运维与报废阶段安全保障深度解析
autosar·汽车电子·功能安全·iso26262
齊家治國平天下13 天前
Google AAOS 中 SOME/IP 框架深度解析:从架构到实践
android·autosar·aaos·车载以太网·some/ip·sdv·vsomeip
叶修_A1 个月前
AP-03 SOME/IP协议实战 - AUTOSAR自适应平台通信中间件深度解析
autosar·汽车电子·some/ip·ap·通信中间件
赞哥哥s1 个月前
Autosar网络管理笔记-被动唤醒和主动请求时Nm报文发送的差异
autosar·网络管理·nm
硅农深芯1 个月前
解读AUTOSAR:定义现代汽车电子的标准化架构
架构·汽车·autosar
北京智和信通1 个月前
卫星一体化智能监控运维解决方案
网络监控·网络管理·网管平台·网管软件·卫星监控
叶修_A1 个月前
【IF-SAFE-05】MTU内存测试 - ASIL-B安全机制
autosar
飞斯柯罗1 个月前
[飞斯柯罗] 为满足网络安全要求,是否必须使用AUTOSAR?
autosar·crypto·mcal·软件复用·汽车网络安全·iso21434·控制器开发