CanNm_RxIndication():调用这两个接口,个人理解:第一帧报文没有必要是网络管理报文,因为总线上已经有网络管理报文在发送,说明有主动网络节点发送了网络管理报文,承担着快速唤醒网络的“重任”,所以接收节点无需保证第一帧
当CANNM处于Normal Opearation State或Ready Sleep State时,接收到总线上CANNM报文的Byte1的Bit0置1时,需要把状态跳转至Repeat Message State。 这个功能的作用实际上是用来检测总线上还有哪些ECU节点在线,如文章开头所说,进入Repeat Message State时ECU需要发出CANNM报文,通过这个就可知道当前都有啥节点在CAN总线上了...
2、网管报文的Offset(CanNmMsgCycleOffset) 网管报文Offset的意义: 当CAN总线上的所有ECU都处于休眠状态,此时若某个ECU主动唤醒并向总线发出网管报文,总线上的其它所有ECU接收到网管报文后也将被唤醒进入RepeatMessage状态,向外发出网管报文,若每个ECU同时向外发出网管报文,则会造成总线爆发,因此给每个ECU配置不同的网管...
CanNm模块提供CanNm_DisableCommunication和CanNm_EnableCommunication两个函数接口用来开关CanNm报文的发送,如果在BswM模块中配置了BswNMControl配置容器,且有对应的LE逻辑表达式能够触发这个Action,那么就会完成BswM和CanN的交互。 2.2 BswMNmIfCarWakeUpIndication BswM的BswMModeRequestPort配置容器中提供了BswMNmIfCarWakeUpInd...
AUTOSAR提供了一系列通信服务,包括复杂驱动通信(COM)、网络管理(NM)、诊断通信(DCM)和CAN通信(CAN)。这些服务确保了不同ECU之间数据的有效传输。 2. 信号和事件: 在AUTOSAR中,信号是ECU之间传输的数据的基本单位,而事件则是触发信号传输的机制。这种基于事件的通信模型提高了系统的响应性和效率。
CanNm发送(Nm Tx)帧是8字节数据帧,标准AUTOSAR CAN网络管理发送帧只使用了Byte0和Byte 1,Byte 0-Byte 7用户可以根据需求自定义使用。 Note: 一般用CanNm发送报文的Byte0-Byte7存储和网络管理相关的唤醒源信息(IGn,四门两盖等本地唤醒信号)。 AUTSOSAR规范两种访问CanNm User Data方式: ...
2.CanNm和BswM模块交互 2.1 BswNMControl配置容器 BswM模块的BswMAction配置容器下的BswNMControl配置容器可以配置enable或者disable一路Can网络管理报文的发送,通常这个功能需求在DCM模块的0x28服务开关应用/网络管理通信中会使用到。 BswMComMNetworkHandleRef参数属于BswNMControl配置容器下的配置项,应用此路网络管理在Com...
1、首先我们先看一下CanNM的状态机及各个状态下报文发送的情况(一个汽车的ECU在CANNM处于不同状态时,对于CAN应用报文和CANNM报文有着不同的发送要求。比如:在Bus-Sleep-Mode状态,应用报文和网管报文都不往can总线上发送。在Read Sleep State状态,应用报文要往can总线上发送,但CANNM报文不往can总线上发) ...
AUTOSAR CanNm 算法的整体状态机可以定义如下: AUTOSAR CanNm 状态机应包含从网络管理集群中单个节点的角度来看的 AUTOSAR CanNm 算法所需的状态、状态转换和触发器。(状态转换必须在下一个主要功能中最晚执行。) Operational Modes AUTOSAR CanNm 应包含在模块界面上可见的三种操作模式: ...
虽然汽车上网络总线类型多种多样,有CAN,FlexyRay、Lin、Ethernet等,但基本原理相似,本文将以最为常见的CAN总线的NM来讲述,举一反三,对于其他总线的NM,AUTOSAR也有相关规范,大家可以自行去阅读学习。 一般而言,按照唤醒方式,我们可以将ECU网络节点类型划分为两大类:本地唤醒与远程唤醒。