0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解AUTOSAR CAN网络管理协议

jf_Vqngj70R 来源:美男子玩编程 2023-03-24 18:06 次阅读

AUTOSAR CAN网络通信中有三种模式和三种状态,如下图所示:

87c230a6-ca2a-11ed-bfe3-dac502259ad0.png

3种运行模式:

睡眠模式(Bus-Sleep Mode);

预睡眠模式(Prepare Bus-Sleep Mode);

网络模式(Network Mode)。

睡眠模式(Bus-Sleep Mode)

当CAN网络中没有远程唤醒或者本地唤醒请求时,ECU应处于睡眠模式(Bus-Sleep Mode),将功耗降低至最低水平,这种模式是ECU启动时的起始状态或者是ECU睡眠时的最终状态。

在该模式下,网络管理报文和应用报文都禁止发送,但是可以被网络上的报文唤醒。

CAN收发器应当支持设定唤醒帧(如果有CAN收发器的情况下),ECU只会接受到特定的NM报文才会正常唤醒,否则就会一直处于休眠状态,能够不受网络上应用报文的干扰。

睡眠模式(Prepare Bus-Sleep Mode)

ECU进入预睡眠模式(Prepare Bus-Sleep Mode)后禁止网络管理报文的发送,允许接收网络管理报文。应用报文已经在buffer中的一般允许继续发送,进入到预睡眠模式(Prepare Bus-Sleep Mode)计时器CanNmWaitBusSleepTime就会启动,一旦计时器CanNmWaitBusSleepTime超时,就会进入到睡眠模式(Bus-Sleep Mode)。

87d34b52-ca2a-11ed-bfe3-dac502259ad0.png

本项目AUTOSAR配置中设定计时器CanNmWaitBusSleepTime为2秒。

网络模式(Network Mode)

当CAN网络处于开启或者工作情况下会进入网络模式,ECU进入网络模式(Network Mode)后计时器CanNmTimeoutTime就会启动,只要成功接收到来自CAN总线上的网络管理报文或者成功发送至CAN总线网络管理报文,都会将计时器CanNmTimeoutTime重置。

87e72e9c-ca2a-11ed-bfe3-dac502259ad0.png

本项目AUTOSAR配置中设定计时器CanNmTimeoutTime为2秒,所以0X505网络管理报文的发送周期要在2秒内,超时会进入预睡眠模式(Prepare Bus-Sleep Mode)。

88165c44-ca2a-11ed-bfe3-dac502259ad0.png

网络模式(Network Mode)包含3种状态:

报文重复状态(Repeat Message State);

常规运行状态(Normal Operation State);

准备睡眠状态(Ready Sleep State)。

报文重复状态(Repeat Message State)

当ECU从其他模式进入网络模式(Network Mode)时,默认进入报文重复状态(Repeat Message State)。该阶段是CAN网络正式开始工作前的准备阶段,用来等待CAN网络中所有相关节点进行网络通信的准备时间。

该模式下计时器CanNmRepeatMessageTime规定了重复发送网关管理报文的时间,CanNmImmediateNmTransmissions规定了发送网络管理报文的次数。

在报文重复状态(Repeat Message State)ECU使用计时器CanNmMsgCycleTime周期时间发送网络管理报文。

88278424-ca2a-11ed-bfe3-dac502259ad0.png

883c8cb6-ca2a-11ed-bfe3-dac502259ad0.png

本项目AUTOSAR配置中发送网络管理报文的周期是640毫秒,重复次数为5,总时常3.2秒。

884836e2-ca2a-11ed-bfe3-dac502259ad0.png

常规运行状态(Normal Operation State)

ECU进行正常CAN通信时会处于常规运行状态(Normal Operation State),该阶段中,节点要按照计时器CanNmMsgCycleTime时间周期发送网络管理报文。每次成功发送或者接收CAN网络报文计时器CanNmTimeoutTime就会重置。

在常规运行状态(Normal Operation State)下的网络管理报文和应用报文都应该正常收、发通信。

准备睡眠状态(Ready Sleep State

在准备睡眠状态(Ready Sleep State)ECU应当停止发送网络管理报文,每次成功接受到来自CAN网络上的网络管理报文,计时器CanNmTimeoutTime就会重置,一旦CanNmTimeoutTime超时,就会进入预睡眠模式(Prepare Bus-Sleep Mode)。

在AUTOSAR中规定了各种模式和状态下计时器的默认时间:

8859ffc6-ca2a-11ed-bfe3-dac502259ad0.png

配置参数在AUTOSAR代码中体现如下所示:

887005f0-ca2a-11ed-bfe3-dac502259ad0.png

下图梳理了所有网络管理的模式转换情况,通常控制器的状态转换如蓝色箭头所示:

88875f20-ca2a-11ed-bfe3-dac502259ad0.png








审核编辑:刘清

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

    关注

    10

    文章

    2968

    浏览量

    104776
  • AUTOSAR
    +关注

    关注

    9

    文章

    329

    浏览量

    21130
  • ecu
    ecu
    +关注

    关注

    14

    文章

    821

    浏览量

    53883
  • 网络通信
    +关注

    关注

    4

    文章

    728

    浏览量

    29548
  • CAN协议
    +关注

    关注

    1

    文章

    31

    浏览量

    12594

原文标题:详解AUTOSAR:AUTOSAR CAN网络管理/CAN NM

文章出处:【微信号:美男子玩编程,微信公众号:美男子玩编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AUTOSAR CAN网络管理

    一、背景: 在AUTOSAR CAN网络管理框架下,如果所有的节点都按照状态机要求,在ReadSleep状态下停发NM帧,在Prepare Bus-Sleep模式下停发App帧,所有节
    发表于 07-26 06:47

    AUTOSAR CAN网络管理状态机介绍

    AUTOSAR CAN网络管理状态机为什么停发应用帧?有什么解决办法吗?
    发表于 09-24 07:47

    AUTOSAR CAN时钟同步问题

    请问有没有AUTOSAR CAN时钟同步的能运行的代码,或者有没有能做这一块的大佬,主要是CanTsyn和STBM这两个模块的。有偿,价格都好商量,急需。
    发表于 11-09 00:00

    AUTOSAR_SWS_CAN网络管理规范标准4.3.1

    AUTOSAR_SWS_CAN网络管理规范标准4.3.1
    发表于 03-28 17:02 12次下载

    CAN网络管理规范 AUTOSAR CP中文版

    CAN网络管理规范 AUTOSAR CP中文版免费下载。
    发表于 04-06 16:21 0次下载

    CAN网络管理规范 AUTOSAR CP英文版

    AUTOSAR_SWS_CAN网络管理规范标准4.3.0英文版免费下载。
    发表于 04-06 16:20 0次下载

    AUTOSAR CAN网络管理协议

    AUTOSAR_SWS_CANNetworkManagement AUTOSAR CAN网络管理协议
    发表于 08-01 11:09 14次下载

    AutoSARCAN通信网络管理的概述

    AutoSARCAN通信的网络管理主要是根据CANNode接收和发送的NMMessage进行该节点在整个网络中的活动的,根据NM Mess
    的头像 发表于 01-18 10:21 4365次阅读
    <b class='flag-5'>AutoSAR</b>中<b class='flag-5'>CAN</b>通信<b class='flag-5'>网络</b><b class='flag-5'>管理</b>的概述

    AUTOSAR CAN网络管理

    CAN网络中没有远程唤醒或者本地唤醒请求时,ECU应处于睡眠模式(Bus-Sleep Mode),将功耗降低至最低水平,这种模式是ECU启动时的起始状态或者是ECU睡眠时的最终状态。
    的头像 发表于 03-25 16:46 1406次阅读

    科普系列:AUTOSAR与OSEK网络管理比较(上)

    AUTOSAR(Automotive Open System Architecture,即汽车开放系统架构),另一个是OSEK。AUTOSAR与OSEK的网络管理方式的区
    的头像 发表于 10-26 09:28 671次阅读
    科普系列:<b class='flag-5'>AUTOSAR</b>与OSEK<b class='flag-5'>网络</b><b class='flag-5'>管理</b>比较(上)

    科普系列:AUTOSAR与OSEK网络管理比较(下)

    作者:You小编:吃不饱在上篇中我们分别在状态机和报文格式方面对OSEK和AUTOSAR网络管理进行了简单介绍,感兴趣的小伙伴请移步至文章《科普系列:AUTOSAR与OSEK
    的头像 发表于 11-22 10:17 780次阅读
    科普系列:<b class='flag-5'>AUTOSAR</b>与OSEK<b class='flag-5'>网络</b><b class='flag-5'>管理</b>比较(下)

    详解CAN总线的AUTOSAR网络管理报文

    官方一点: AUTOSAR 就是AUTomotive Open System ARchitecture的简称,中文翻译就是汽车开放系统架构。
    的头像 发表于 07-31 11:27 2899次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>CAN</b>总线的<b class='flag-5'>AUTOSAR</b><b class='flag-5'>网络</b><b class='flag-5'>管理</b>报文

    一文解析AUTOSAR CAN网络管理

    AUTOSAR CAN 网络管理是一个独立于硬件的协议,只能在 CAN 上使用。它的主要目的是协
    的头像 发表于 09-09 10:32 2633次阅读
    一文解析<b class='flag-5'>AUTOSAR</b> <b class='flag-5'>CAN</b><b class='flag-5'>网络</b><b class='flag-5'>管理</b>

    AUTOSAR中通信协议栈配置详解

    通讯协议栈几乎是CP AUTOSAR中最庞杂的一块。由于其涉及的模块比较多(仅实现CAN信号的收发就需要ECUC/CAN/CANIF/CANTP/PDUR/COM/XCP这么多模块的协
    的头像 发表于 09-21 10:02 2382次阅读
    <b class='flag-5'>AUTOSAR</b>中通信<b class='flag-5'>协议</b>栈配置<b class='flag-5'>详解</b>

    AUTOSAR UDP网络管理策略

    UdpNm,AUTOSAR UDP Network Management,基于TCP/IP协议栈,主要目的是协调网络在normal operation和bus-sleep mode之间的转换。除了
    的头像 发表于 09-27 16:51 337次阅读
    <b class='flag-5'>AUTOSAR</b> UDP<b class='flag-5'>网络</b><b class='flag-5'>管理</b>策略