OSEK 网络管理之认识NM报文

前言

关于OESK网络管理睡眠的文章有很多, 大多只有文字的介绍。笔者是汽车测试人员, 认为真实的log分析会更有利于初学者理解。 如有问题, 欢迎指正。

1. 网络管理协议数据单元(NM Protocol Data Unit)结构

所有的网络管理报文都包含协议数据单元(NM protocol data unit, 即NMPDU),NMPDU 包含了网络管理的相关信息。如下图:

1.1 Source

 源头是发送节点的网络地址。如图发送节点的地址为400+4F;

1.2 Destination

destination字段包含逻辑后继者的NM地址。 如果没有逻辑后继着, Destination就是该节点自己的地址;如图目的地址是400+20;

1.3OpCode

有几种基础的NM报文类型:
*Alive message
Alive报文有以下三种使用情形:
1)开始阶段:如果一个ECU需要和其他ECU通讯或者接受到其他ECU的通讯请求, 该ECU会发送一个alive报文来注册到逻辑环。

2)正常阶段:如果一个ECU发现它在逻辑环中被跳过了, 它会重新发送alive报文以注册到逻辑环。
3)错误情况:如果一个ECU发现了其他ECU出现错误(在T[max]时间内没有收到ring报文), 那么该ECU会发送一个alive报文来重新发起逻辑环。
*Ring message
在正常情况下,ECUs 会根据OSEK标准周期地发送ring报文。

*Limp home message
在出现错误的情况下ECU 会进入到跛行模式。

OpCode 的定义如下图:

DBC里信号定义如下:

总结: NM 报文类型有如下几种

2. NM报文长度

NM报文的长度定义为8Byte。

3. 数据位(Data Byte)

NM 报文的Byte3 ~Byte8 是用来表示网络相关的信息, 不表示应用数据。
当网络处于清醒状态时,网络中的每个ECU都应随时支持用户数据服务 。
供应商会提供特定的ECU用户数据, 一般包含以下2种:
*应用报文清醒原因(wakeup reason)

ECU会发送被唤醒的原因。被CAN通讯唤醒的ECU会发送唤醒原因:被网络唤醒;
被应用程序唤醒的ECU会发送唤醒原因: 为什么会被应用唤醒;
该bit大多数由OEM定义。
*CAN保持唤醒原因(reason keeping CAN bus awake)
ECU 会在跛行报文或者Ring报文上发送阻止ECU睡眠的原因。ECU会发送保持CAN网络唤醒的清醒状态的原因直到ECU把Sleep.Ind 位置1。
该bit大多数由OEM定义。

4. NM CAN ID

CAN ID = base address + node address. 基础址是0x400。 节点地址是0x00~0x3F .CAN ID 在这个区间的报文都会被其他ECU视为网络管理报文并执行正确的动作。每一个ECU有它独一的NM CANID.

5. ECU与网络之间的编码

NMPDU和CAN报文的转换如下图所示。 该转换由每个ECU内部的NM模块完成。

6. 总结

该文主要介绍了OSEK 网络管理报文的结构和常见的报文类型, 为下面了解网络管理功能打基础。

OSEK 网络管理之认识NM报文相关推荐

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

    一.前言 汽车网络管理从根本上来说是为了省电的,基本的实现方式就是汽车在没有使用的情况下一些ECU会通过网络管理协调进入低功耗模式或者睡眠模式,从而达到省电的目的.目前主流的网络管理标准有两个,一个是 ...

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

    在上篇中我们分别在状态机和报文格式方面对OSEK和AUTOSAR网络管理进行了简单介绍,感兴趣的小伙伴请移步至文章<科普系列:AUTOSAR与OSEK网络管理比较(上)>. 三.OSEK与 ...

  3. CANopen | 网络管理NMT01 - 节点上线报文与心跳报文

    文章目录 一.前言 二.NMT节点上线报文 三.NMT心跳报文 一.前言 CANopen协议的NMT管理报文既是最简单又是最重要的知识点,为什么网络管理NMT这么重要? 1.CANopen从站上电后, ...

  4. 【如何学习CAN总线测试】——OSEK网络管理测试

    系列文章目录 [如何学习CAN总线测试]系列文章目录汇总 文章目录 系列文章目录

  5. Autoar之 CAN NM网络管理

    一.概述 AUTOSAR 就是AUTomotive Open System ARchitecture的(汽车开放系统架构). 将汽车电子控制单元(ECU)的软件底层做了一个标准的封装.大家公用一套底层 ...

  6. 基于CAN的网络管理NM(network management)

    感谢分享: https://zhuanlan.zhihu.com/p/45226069 车载网络总线管理的目的是使网络中的ECU节点有序地睡眠和唤醒,在没有通信需求的时候睡眠,可以节约电池的能量. C ...

  7. 车载网络 - Autosar网络管理 - 网络管理报文

    三.网络管理报文 NM报文的ID一般定义为:基础ID+源地址,每个节点应分配一个唯一的标识符(ECU地址)Node_ID,网络管理报文一般会统一一个基地址,这个是根据主机厂不同而不同,有些是用0x40 ...

  8. 车载网络 - Autosar网络管理 - 网络管理简介

    一.什么是CAN网络管理及它的作用 现在的车辆是由大量的ECU节点组成的,为了能使各ECU能够正确并及时地进行CAN通信,需要有一套机制来统一协调总线上各节点的休眠唤醒,这套机制就是CAN网络管理(N ...

  9. AUTOSAR网络管理需求规范

    AUTOSAR网络管理需求规范 1.概述 1.1 AUTOSAR基本定义 1.2 CAN总线基本介绍 1.3 网络管理基本介绍 2.CAN协议栈 2.1 CAN协议栈定义 2.2 CAN通信发送过程 ...

  10. autosar can协议栈 源码解读_我用一晚上时间给女朋友讲懂CAN总线的AUTOSAR网络管理...

    前言:最近正好在学习CAN总线的AUTOSAR网络管理,前期踩了很多的坑,总结了一下最近所学和大家一起学习.学的很浅,有不正确的地方请各位前辈同仁不吝赐教~ 1.什么是AUTOSAR? 官方一点:AU ...

最新文章

  1. 浅谈RNN,LSTM和GRU
  2. UVA - 10603 Fill(BFS求最小值问题)
  3. 数据库与数据库管理系统的基本概念
  4. python描述图片内容_深度学习实现图像中文描述
  5. 苹果:2.7GHz G5比3.6GHz P4快98%(zz)
  6. 开源oracle client,oracle client安装与配置
  7. MMC无法创建管理单元
  8. 将以太坊封装为 ERC20
  9. 修改代理_IP代理修改上网IP地址的作用
  10. 强烈推荐与孩子一起学编程(老少咸宜的编程入门奇书,荣获Jolt生产效率大
  11. 文本聚类算法 python_文本聚类算法之K-means算法的python实现
  12. 锐捷交换机基本功能配置
  13. WorkFusion智能文档处理IDP系统介绍
  14. jOOQ星期二:Markus Winand执行现代SQL任务
  15. readhat 远程可视化桌面_手机vnc远程桌面,手机vnc远程桌面,使用配置详解
  16. Keras LSTM实现多维输入输出时序预测实践详解
  17. MySQL修改数据表中的字段名
  18. Windows下Chcp命令的用法
  19. 函数的可重入和不可重入
  20. 三维动画制作流程细节

热门文章

  1. JAVA从入门到放弃
  2. hbase数据库详解
  3. 爱思助手从苹果服务器shsh失败,爱思助手无法提取SHSH降级iOS6.1.2固件教程
  4. 【CodeForces】gym-101205B Curvy Little Bottles (2012 ACM-ICPC World Finals B)
  5. python读取lmdb文件_使用python制作LMDB数据库
  6. linux设置ipsan_Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)
  7. 博科SAN交换机配置Trunk
  8. 怎么查找键盘注册表键值_C程序查找通过键盘输入的数字列表的平均值
  9. 使用机器学习构建简单金融风控反欺诈模型(一)EDA+XGBOOST
  10. oppoa79支持手机html,oppo a79驱动