当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配置不同的网管...
当CAN网络处于开启或者工作情况下会进入网络模式,ECU进入网络模式(Network Mode)后计时器CanNmTimeoutTime就会启动,只要成功接收到来自CAN总线上的网络管理报文或者成功发送至CAN总线网络管理报文,都会将计时器CanNmTimeoutTime重置。 本项目AUTOSAR配置中设定计时器CanNmTimeoutTime为2秒,所以0X505网络管理报文的发送周期...
CanNm模块提供CanNm_DisableCommunication和CanNm_EnableCommunication两个函数接口用来开关CanNm报文的发送,如果在BswM模块中配置了BswNMControl配置容器,且有对应的LE逻辑表达式能够触发这个Action,那么就会完成BswM和CanN的交互。 2.2 BswMNmIfCarWakeUpIndication BswM的BswMModeRequestPort配置容器中提供了BswMNmIfCarWakeUpInd...
CanNm模块配置完成后,基本不需要和其他非标准AUTOSAR模块进行交互,但是User Data的使用可以通过SWC-->RTE-->COM方式使用,也可以通过CDD直接Set/Get User Data的方式使用,在实际配置的时候还是遇到了几个困惑的问题: (1)CanNm的User Data可以通过CDD和COM模块同时使用吗?
唤醒后ECU在Repeat Message State停留时间为CanNmRepeatMessageTime。Normal Operation State:该状态是正常...
1、CanNmPnHandleMultipleNetworkRequests 作用 如果项目中,网络管理不用PN(Partial Network)功能,可能不太会关注CanNmPnHandleMultipleNetworkRequests。先看一下Autosar规范给出的解释:Specifies if CanNm performs an additional transition from Network Mode to Repeat Message State (true) or not (false). ...
NM PDU Format 一般来说,CAN网络管理报文的PDU格式如下所示: Byte0:节点ID,比如Node ID为0x509(假设网络管理报文:0x500~0x5FF),工具配置时,此字节设置0x09即可。因为0x05是网段标识,底层收到0x05xx的报文即可知道是网络管理报文,之后根据偏移值(本例:0x09)即可知道是哪个Node。
1、首先我们先看一下CanNM的状态机及各个状态下报文发送的情况(一个汽车的ECU在CANNM处于不同状态时,对于CAN应用报文和CANNM报文有着不同的发送要求。比如:在Bus-Sleep-Mode状态,应用报文和网管报文都不往can总线上发送。在Read Sleep State状态,应用报文要往can总线上发送,但CANNM报文不往can总线上发) ...
虽然汽车上网络总线类型多种多样,有CAN,FlexyRay、Lin、Ethernet等,但基本原理相似,本文将以最为常见的CAN总线的NM来讲述,举一反三,对于其他总线的NM,AUTOSAR也有相关规范,大家可以自行去阅读学习。 一般而言,按照唤醒方式,我们可以将ECU网络节点类型划分为两大类:本地唤醒与远程唤醒。