AutoSAR CAN通信模式转换的条件有哪些

电子说

1.3w人已加入

描述

下图是COMM的状态转换

AUTOSAR

通信发起的三种条件:

USER:根据LOCAL的唤醒源(KL15等)主动请求COMM(ComM_RequestComMode)进入到请求模式

DCM:诊断功能请求(在NM Passive模式下不能激活通道)

远程网络管理报文唤醒:分为ECU是主动的还是被动的,主动的ECU被其他网络管理报文唤醒后可以继续唤醒其他ECU;被动的ECU(Passive NM 模式)只能被别人唤醒不能唤醒别的ECU

要想通信,三个条件必须有一个满足。

进入FULL的条件:

一般在ECUM的状态切换(WakeUp到RUN)中将对应的通道允许通信

FULL模式

Passive ECU:不能发生网络管理报文的ECU,只能被动被别的ECU唤醒,直接进入到READY_SLEEP模式。可以调用CanNm的CanNm_PassiveStartup切换CanNm的状态,在CanNm的Network模式中由于此类ECU不支持唤醒别的ECU,因此直接进入到CanNm的Ready Sleep状态。

AUTOSAR

非Passive ECU:可以发送网络管理报文的ECU,进入到FULL_COM_NETWORK_REQUEST模式,可以主动发送网络管理报文去唤醒总线上其他网络节点,调用CanNm中的CanNm_NetworkRequest切换CanNm的状态机进入到Repeat Message状态去唤醒其他ECU。

AUTOSAR

FULL到SILENT

主要和CanNm的网络管理相关,在网络管理状态从Ready Sleep进入到Prepare Bus Sleep的时候通知ComM从状态FULL进入到SILENT模式,该模式停止发送报文,只接收报文(一般通过控制COM层的PDU Group进行操作)。

SLIENT到NO

当CanNm的状态从Prepare Bus Sleep进入到Bus Sleep的时候通过回调函数通知ComM,ComM状态从SLIENT进入到NO,接下来ComM发起NO的请求,通过CanSM控制CanIf、CanTrcv、Can进入到OFF模式。

AUTOSAR

审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分