允许通信后,ComM模块调用CanSM_RequestComMode请求COMM_FULL_COMMUNICATION通信。 CanSM开启通道的通信后,ComM模块通道切换到COMM_FULL_COM_NETWORK_REQUESTED状态。随后,ComM模块调用Nm_PassiveStartUp请求NM被动开启网络管理,NM也调用ComM_Nm_NetworkMode通知到ComM当前NM的网络模式。 1.3网络关闭(以CAN通道为例) 1.4通信...
下图是COMM的状态转换 通信发起的三种条件: USER:根据LOCAL的唤醒源(KL15等)主动请求COMM(ComM_RequestComMode)进入到请求模式 DCM:诊断功能请求(在NM Passive模式下不能激活通道) 远程网络管理报文唤醒:分为ECU是主动的还是被动的,主动的ECU被其他网络管理报文唤醒后可以继续唤醒其他ECU;被动的ECU(Passive NM 模式)...
然后ComM模块会去调用CanSM_RequestComMode(如果是eth, flexray,则调对应eth和flexray的接口),让Can协议栈有收发消息的能力,返回OK的话,ComM就从刚才的No Communication进入到Full Com Network Requested状态了。 如果还加入了网络管理的功能,如果设置的NM Variant为Full,那么ComM还会调用CanNm_NetworkRequest接口,CanNm...
允许通信后,ComM模块调用CanSM_RequestComMode请求COMM_FULL_COMMUNICATION通信。CanSM开启通道的通信后,...
一般不建议User直接调用CanNm_NetworkRelease()接口,User可以请求ComM的ComM_RequestComMode()接口,进行通信请求。由ComM协调NM调用CanNm_NetworkRelease()接口,进一步的协调网络状态和通信栈的通信行为。 *** 关注微信公众号“开心果Need Car”,一起讨论Autosar开发中遇到的那些“坑”! ***...
{/* Initialize to"no return value" */*action_RetVal_pu8 = BSWM_NO_RET_VALUE;/* Switch the communication mode for a ComM User-ComMUser_Can_Cluster_Channel */*action_RetVal_pu8=ComM_RequestComMode(0, COMM_FULL_COMMUNICATION); }
(4)如果ComMUser调用ComM_RequestComMode()接口请求 FULL_COMMUNICATION,PNC的状态由PNC_NO_COMMUNICATION切换到PNC_FULL_COMMUNICATION::PNC_REQUESTED 状态。 (5)如果PNC请求信号收到(至少一个bit在ERA 中置位),ANDComMPncGatewayEnabled = TRUE,ANDComMPncGatewayType != NONE。PNC的状态由PNC_NO_COMMUNICATION切换...
User请求:User请求,是指通过ComM_RequestComMode()接口请求通信的方式,发起点为SWC,由于功能需要,节点需要在某些工况下主动拉起其他节点通信; ERA信号:ERA信号怎么看作是主动唤醒源呢?首先,ERA信号的使用,说明当前节点有多个物理Channel(ComM的Channel与之一一对应),PNC信息需要在不同的Channel之间路由,以实现不同网络...
然后ComM模块会去调用CanSM_RequestComMode(如果是eth, flexray,则调对应eth和flexray的接口),让Can协议栈有收发消息的能力,返回OK的话,ComM就从刚才的No Communication进入到Full Com Network Requested状态了。 如果还加入了网络管理的功能,如果设置的NM Variant为Full,那么ComM还会调用CanNm_NetworkRequest接口,CanNm...
在系统启动过程中,如上电时,用户SWC通过ComM_RequestComMode发起请求,目标是FULL_COMMUNICATION,这个操作会触发CanSM状态机的执行,引导系统进入网络模式。ComM根据请求,确定操作用户,并生成PORT API OPTION,显著简化了SWC的开发流程,赋予了其高度的灵活性。在通信流程的切换中,从Full Communication到No...