【AutoSar CP】CanNm模块

一、前言

  • 为什么要引入网络管理呢?上电同时启动,下电同时关闭,它不香吗?
  • 汽车启动时, ECU之间怎么保持同步唤醒的呢?
  • 下电时, ECU又是怎样协同罢工的呢?
  • 本文基于AutoSar CP官方文档AUTOSAR_SWS_CANNetworkManagement.pdf(R21-11)
汽车上ECU节点千千万万,不可能点火时所有ECU都正常工作,而是当用户需要请求相关功能时,参与该功能的相关ECU节点才需要启动起来,否则带来的只是过多对电池的无用消耗。
为了更好的去利用整车的能源,防止出现不必要的电池浪费,网络管理(Network Management,以下简称NM)便可以很好的解决此类问题,最大可能的高效利用整车电池能源,节约用车成本,延长电池使用寿命。
虽然汽车上网络总线类型多种多样,有CAN, FlexyRay、 Lin、 Ethernet等,但基本原理相似,本文将以最为常见的CAN总线的NM来讲述

二、总体说明

  • AUTOSAR CanNm算法基于分散的直接网络管理策略,使得每个节点能够独立运行。该策略利用周期性的网络管理PDU来保持网络管理集群的唤醒状态,并确保所有节点同步。当网络处于低活动状态时,节点进入总线休眠模式以节省能量消耗,从而提高通信系统的效率(同睡同醒)
  • 每一个CanNm节点(ECU)连接在一个共用的集群总线上,每个CanNm节点的收发会以广播的形式,即发送PDU给集群总线上的所有结点,接收集群总线上所有发出来的PDU(广播收发)
  • 每个CanNm节点会收发两种数据: 网络管理报文(NM PDU) , 应用报文(APP PDU)
  • 如果CanNm集群总线上的某一个节点没有收到PDU,则它会启动一个定时器来检测是否需要进入总线休眠模式,在该过程中,该结点只收不发,如果收到PDU,则该结点会推迟进入总线休眠模式(准备总线睡眠模式,只收不发)
  • 如果CanNm集群总线进入休眠状态后,总线上的任何节点需要总线通信,则该节点会唤醒总线,并发送一个唤醒信号给集群总线上的所有节点,唤醒信号会唤醒总线上的所有节点(更多详细信息在ComM有介绍)
  • 对于CanNm集群总线上的节点,如果它需要总线通信, 就应定期传输⽹络管理PDU,否则, 它不应传输任何⽹络管理PDU(见表4.2节)
  • 如果 CanNmStayInPbsEnabled 被禁⽤,且CanNm集群中的总线通信被释放(总线上没有PDU传输?),且在 CanNmTimeoutTime + CanNmWaitBusSleepTime 时间内,没有收到任何网络管理PDU,那么将进入总线休眠模式

三、网络管理报文(NM PDU)格式

  • NM PDU中, Byte0-Source Node Identifier(节点源地址)和Byte1-Control Bit Vector(控制字节)。这两个字节在NM PDU中的位置是可以配置的(可以交换位置,也可以都不存在)
  • Source Node Identifier(节点源地址),是节点的标识符,网络中所有节点的源地址是唯一的
  • Byte1-Control Bit Vector(控制字节),在节点初始化的时候被置为0x00,具体含义如下

四、每个节点的CanNm状态机的状态(三大三小)

4.1. 三大三小状态说明

      • 网络模式(Network Mode
      • 节点在该模式下,所有阶段都会收发APP PDU,但只有RMSNOS阶段会收发NM PDU
        • Repeat Message State(报文重复阶段-RMS
          • 当节点从其他模式进入Network Mode时,默认进入Repeat Message State,该阶段是网络正式开始工作前的准备阶段,用来等待网络中所有相关节点进行网络准备,开启通信
      • Normal Operation State(常规运行阶段-NOS
      评论
      成就一亿技术人!
      拼手气红包6.0元
      还能输入1000个字符
       
      红包 添加红包
      表情包 插入表情
       条评论被折叠 查看
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包

      打赏作者

      TAlice

      你的鼓励将是我创作的最大动力

      ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
      扫码支付:¥1
      获取中
      扫码支付

      您的余额不足,请更换扫码支付或充值

      打赏作者

      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值