AUTOSAR —— CAN网络管理(CanNm)

2023-05-16

1. 网络状态

AUTOSAR网络管理节点内部有两个状态,一个是Requested - 被请求状态,另一个是Released - 被释放状态,当节点的应用层需要使用总线进行通讯的时候,会调用接口使得节点进入请求状态,当应用层没有通信需求的时候,调用接口使得节点进入释放状态。

需要注意的是,即使节点当前处于释放状态,节点的通讯依然有可能是处于开启状态,因为网络上的其它节点有可能正在请求总线。所以这个状态代表的是节点应用层是否有通信需求,并不代表总线开启或关闭。有通讯需求的时候处于请求状态,无通讯需求的时候处于释放,但总线是否在通讯不仅仅取决于当前节点自己,而是取决于网络上的所有节点。

节点上电初始化后默认进入释放状态

2. CAN 网络节点运行模式

一个CAN网络通信节点包含以下运行模式:
在这里插入图片描述

(1)Network Mode(网络模式)

处于网络模式中的节点,网络通信是处于开启或工作模式(包含了开始工作时和结束工作时的准备阶段)。网络模式又细分为以下三个阶段:

① Repeat Message State(报文重复阶段-RMS)

当节点从其他模式进入Network Mode时,默认进入Repeat Message State,该阶段是网络正式开始工作前的准备阶段,用来等待网络中所有相关节点进行网络准备,开启通信。

② Normal Operation State(常规运行阶段-NOS)

节点由Repeat Message State进入Normal Operation State,该状态为节点通信正常工作状态。

③ Ready Sleep State(准备睡眠阶段-RSS)

节点工作完成后,由Normal Operation State状态进入Ready Sleep State,准备进入睡眠状态。该阶段用来等待网络中所有节点工作完成,之后统一进入睡眠状态。

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

节点从网络模式的准备睡眠阶段进入预睡眠模式,该模式与Ready Sleep State的作用类似,但它已经不再属于网络模式了,是正式进入睡眠阶段前更进一步的准备阶段。

(3)Bus-Sleep Mode(睡眠模式-BSM)

睡眠模式就是节点停止工作的模式,可以节省能量消耗,是整个网络管理的最终目的。网络管理工作就是管理各个节点如何有序进入睡眠模式和恢复工作状态。节点上电或复位后应默认进入睡眠模式

3. 网络管理报文的格式

在AUTOSAR中,网络管理报文以NM PDU的形式存在,典型的结构如下图所示:

在这里插入图片描述
其中有用的两个字节就是Byte0-Source Node Identifier(节点源地址)Byte1-Control Bit Vector(控制字节)。这两个字节在NM PDU中的位置是可以配置的。

(1)节点源地址 - Source Node Identifier

节点源地址是节点的标识符,网络中所有节点的源地址是唯一的,通常位于0x400-0x4FF范围内。

(2)控制位向量 - Control Bit Vector

Control Bit Vector的定义如下,在节点初始化的时候被置为0x00:
在这里插入图片描述

Bit 0: Repeat Message Request

  • 0: Repeat Message State not requested
  • 1: Repeat Message State requested
    该位置1的时候表示当前节点请求所有节点进入报文重复阶段。

Bit 3: NM Coordinator Sleep Bit

  • 0: Start of synchronized shutdown is not requested by main coordinator
  • 1: Start of synchronized shutdown is requested by main coordinator
    该位置1时表示主协调节点请求开始进入同步休眠。

Bit 4 Active Wakeup Bit

  • 0: Node has not woken up the network (passive wakeup),即当前节点收到网络管理报文,被其它节点唤醒。
  • 1: Node has woken up the network (active Wakeup),即当前节点主动唤醒网络(通过Request),亦称本地唤醒。

Bit 6 Partial Network Information Bit (PNI)

  • 0: NM PDU contains no Partial Network request information
  • 1: NM PDU contains Partial Network request information
    该位表示该条网络管理报文中是否包含部分网络激活信息。

4. 节点状态转换

我们对着标准中的这幅状态转换图,来详细说一下各个状态之间是如何转换的,以及节点处于每个状态时要做哪些工作。

在这里插入图片描述

① 初始化

节点上电或复位后,经初始化函数CanNm_Init()默认进入总线睡眠状态,在总线睡眠状态下应停发所有应用报文和网络管理报文,但要可以接收网络管理报文,以使得其它节点能够唤醒当前节点。

② 进入网络模式

当节点收到了网络管理报文时,不是直接进入网络模式,而是上报应用层,应用层判断当前状态,允许的话会调用CanNm_PassiveStartup()函数,使节点进入网络模式。当节点自身想要进行网络通讯时,调用CanNm_NetworkRequest()使节点进入网络模式。前者是被动,后者是主动。后者发送的网络管理报文中CBV的Active Wakeup Bit位为1.

节点在网络模式中要一直发送应用报文。

节点进入网络模式后,默认进入重复报文阶段,启动定时器NM-Timeout,NM-Timeout用来记录网络管理报文是否超时,其超时时间为CanNmTimeoutTime,每收到或成功发送一帧网络管理报文,都应重启NM-Timeout。节点要开始周期发送网络管理报文。常规情况下,节点要先等待一个时间偏移量(CanNmMsgCycleOffset)后再发送第一帧网络管理报文,发送周期为CanNmMsgCycleTime,发送次数为CanNmRepeatMessageTime。

网络中所有节点的报文发送周期CanNmMsgCycleTime和CanNmTimeoutTime都是相同的,且CanNmTimeoutTime必须大于CanNmMsgCycleTime;所有节点的CanNmMsgCycleOffset都是不同的,以防止网络中所有节点同时发送网络管理报文造成网络拥塞。

③ 进入常规运行阶段

当节点在重复报文阶段发送了CanNmRepeatMessageTime次网络管理报文后,需要退出重复报文阶段,退出时判断网络当前处于释放状态还是请求状态,如果处于请求状态,则进入常规运行阶段,如果处于释放状态,则进入准备睡眠阶段。

在常规运行阶段中,节点要周期发送网络管理报文,发送周期为CanNmMsgCycleTime。节点网络此时处于正常工作状态。

在常规运行阶段中,定时器NM-Timeout如果超时了要被重启。

④ 由常规运行阶段返回重复报文阶段

当节点处于常规运行阶段时,如果收到了Repeat Message Request置为1的网络管理报文,则会强制重新进入重复报文阶段。进入重复报文阶段后的逻辑同上。

⑤ 进入准备睡眠阶段

当节点不再需要进行网络通讯时,应用层会调用**CanNm_NetworkRelease()**函数,释放网络,节点进入准备睡眠阶段,停发网络管理报文,但要保持应用报文的发送

⑥ 重新返回常规运行阶段

节点处于准备睡眠阶段时,如果应用层重新需要使用网络,可以调用CanNm_NetworkRequest()函数使节点重新回到常规运行阶段。

⑦ 准备睡眠阶段返回重复报文阶段

当节点处于准备睡眠阶段时,如果收到了Repeat Message Request置为1的网络管理报文,也会强制重新进入重复报文阶段。进入重复报文阶段后的逻辑同上。

⑧ 由重复报文阶段进入准备睡眠阶段

如上文所述,当重复报文阶段退出时如果节点网络处于释放状态,则节点直接进入准备睡眠阶段。

⑨ 进入预睡眠模式

当节点在准备睡眠阶段NM-Timeout超时,即网络中所有节点都已进入准备睡眠阶段(或不处于网络模式),网络中没有网络管理报文,节点将会进入预睡眠模式,同时启动定时器Wait Bus-Sleep Timer,其超时时间为CanNmWaitBusSleepTime,所有节点的CanNmWaitBusSleepTime都应配置为相同的,以保证所有节点同时进入睡眠模式。

节点在预睡眠模式中同样不发送网络管理报文,同时还要停止应用报文的发送。

⑩⑫ 由预睡眠模式进入网络模式

步骤⑩和⑫我理解是一回事,就是当节点处于预睡眠模式的时候,应用层想要使用网络进行通讯,或收到了其他节点的网络管理报文,就会重新进入网络模式,也是默认进入重复报文阶段。

⑪ 进入睡眠模式

当节点在预睡眠模式中定时器Wait Bus-Sleep Timer超时后,就会进入睡眠模式,睡眠模式中网络管理报文和应用报文同样都不发送,节点正式进入休眠状态,应尽可能地关闭功能,降低能量消耗。

5. 附加策略

(1)网络管理报文立即发送模式

我们前文说过,当节点进入重复报文阶段时,会重复发送几次网络管理报文。常规情况下,因为网络管理报文通常周期比较长,且第一帧报文还有偏移量,所以激活网络的实时性不是很好,标准中为解决这个问题制定了一个能够立即发送网络管理报文的策略。

当CanNmImmediateNmTransmissions > 0时,要启动网络管理报文立即发送模式,此时CanNmMsgCycleOffset不再起作用,节点尽可能快地发送第一帧网络管理报文,发送周期不再为CanNmMsgCycleTime,而是用更短的CanNmImmediateNmCycleTime,共发送CanNmImmediateNmTransmissions次,然后进入常规运行阶段,之后网络管理报文的发送周期恢复CanNmMsgCycleTime。

注意:网络管理报文立即发送模式只有当节点主动唤醒网络的时候才启用,被动唤醒时不启用。是当前节点用来快速唤醒网络中其它节点的一个策略。

(2)总线负载降低策略(Bus Load Reduction Mechanism)

由上文可知,当节点处于重复报文阶段和常规运行阶段的时候,都会周期性发送网络管理报文,这对总线负载是一种消耗,且网络中节点越多,总线负载占用越大。标准中制定了一种策略来降低总线负载。

通常情况下,在常规运行阶段,所有节点都要发送网络管理报文,节点中有一个定时器CanNm Message Cycle Timer,每发送一帧网络管理报文,该定时器就重新装载CanNmMsgCycleTime的值,即网络管理报文的发送周期为CanNmMsgCycleTime。但其实只要有一个节点在发送报文,网络中所有节点就都可以保持在网络模式,多发的网络管理报文是对总线负载的浪费。

总线负载降低策略具体为:

当配置参数与CanNmBusLoadReductionEnabled为有效,且节点处于常规运行阶段时,进入总线负载降低模式,此时:

  • 节点如果接收到了一帧网络管理报文,则应将定时器CanNm Message Cycle Timer重置为CanNmMsgReducedTime,而不是CanNmMsgCycleTime,CanNmMsgReducedTime 参数是一个小于 CanNmMsgCycleTime 且大于CanNmMsgCycleTime的一半( ½ CanNmMsgCycleTime)的时间值,且每个节点的CanNmMsgReducedTime 值不同
  • 节点如果发送了一帧网络管理报文,则还是将定时器CanNm Message Cycle Timer重置为CanNmMsgCycleTime。

这种策略的结果是:网络中只有CanNmMsgReducedTime 值最小的两个节点交替发送网络管理报文

我们假设节点A的CanNmMsgReducedTime 最小,B次之,在某一时刻,网络上所有节点都进入了总线负载降低模式,此时某个节点发送了一帧网络管理报文,之后该节点因为是发送节点,所以定时器CanNm Message Cycle Timer重置为CanNmMsgCycleTime ,其余节点是接收节点,CanNm Message Cycle Timer重置为各自的CanNmMsgReducedTime,节点A的CanNmMsgReducedTime值最小,所以一段时间后率先发了一条网络管理报文,之后将CanNm Message Cycle Timer重置为CanNmMsgCycleTime,其余节点CanNm Message Cycle Timer再次重置为各自的CanNmMsgReducedTime,此时网络中节点B变成了CanNm Message Cycle Timer值最小的节点,一段时间后会发出一条网络管理报文,这又会使得节点A的CanNm Message Cycle Timer值变成最小,所以实现了网络中CanNmMsgReducedTime 值最小的两个节点交替发送网络管理报文,其余节点不发送网络管理报文。

当最小的两个节点中某个节点进入准备睡眠阶段,不再发送网络管理报文了,那么CanNmMsgReducedTime 值略大的下一个节点会开始发送网络管理报文。

当网络中只有一个节点处于常规运行阶段时,网络管理报文的周期为CanNmMsgCycleTime。

(3)远程睡眠指示

当配置参数CanNmRemoteSleepIndEnabled为有效的时候,如果节点在CanNmRemoteSleepIndTime时间后仍没有收到其他节点发送的网络管理报文,说明其它节点都已经进入休眠或准备休眠,此时应调用Nm_RemoteSleepIndication()函数通知应用层网络中所有节点都进入了休眠。如果此时节点又收到了其他节点发送的网络管理报文,应该再调用Nm_RemoteSleepCancellation()函数通知应用层取消之前的指示。该策略称为远程睡眠指示。

6. 时间参数汇总

下表展示了所有网络管理相关的时间参数,最左栏是配置参数,通常通过配置工具进行配置,中间栏是节点中网络管理程序需要用到的定时器:
在这里插入图片描述

7. 控制器状态梳理

下图为所有网络管理相关内容的一个梳理,通常情况下控制器的状态转换如下图蓝色箭头所示:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AUTOSAR —— CAN网络管理(CanNm) 的相关文章

  • javascript:数据结构——栈

    栈结构的概念 是一种 后进先出 的数据结构 栈作用 在编程语的编译器和内存中保存变量 方法调用 栈操作 栈结构操作的方法 push xff1a 进栈 pop xff1a 出栈 peek xff1a 检查栈顶元素 isEmpty xff1a
  • javascript:数据结构——队列

    什么是对列 是一种 先进先出 的数据结构 xff08 如排队候车 xff0c 肯定是先排队的人先上车 xff09 实际用处 如打印机 队列操作 使用数组实现队列结构 使用类封装队列操作 span class token keyword co
  • javascript:数据结构——链表

    什么是链表 xff1f 链表是有序的列表 xff0c 链表是以节点的方式来存储 xff0c 是链式存储 每个节点包含item域 xff0c next指针 xff08 指向下一个节点 xff09 xff0c 即就是链表中的每一个元素都带有下一
  • JavaScript中的事件循环机制

    我们知道JavaScript语言是单线程的 xff0c 至于为啥是单线程 xff1f 假设有两个线程 xff0c 一个在页面上新增一个div xff0c 另一个线程在页面上删除div xff0c 那最终听谁的 xff1f 那JavaScri
  • 彻底搞懂递归

    什么是递归 xff1f 简单的来说 xff1a 递归就是函数自己调自己 下来我们来看几个例子让你彻底搞懂递归 一 计算n的阶乘 顾名思义阶乘就是所有小于及等于该数的正整数的积 xff08 0和1的阶乘是1 xff09 下面我们先用循环的方式
  • javascript:求最大公约数的几种方式

    什么是最大公约数 xff1f 几个数所共有的约数中最大的一个 即可以整除这几个数的最大的数 叫做这几个数的最大公约数 方法一 xff1a 计算机思维 span class token keyword function span span c
  • javascript深浅拷贝的实现和区别

    什么是深拷贝和浅拷贝 所谓拷贝就是赋值 xff0c 把a的值赋值给b 区别 最明显的区别就是 xff1a 把a的值赋值给b xff0c 然后你改变b xff0c 看a会不会有变化 xff0c 如果a变了那就是浅拷贝 xff0c 如果a没有变
  • javascript判断数据类型的几种方法

    首先先回顾一下javascript的数据类型都有哪些 xff1f 基本数据类型 xff1a number xff0c undefined xff0c boolean xff0c string xff0c null 复杂数据类型 xff1a
  • O-ComTool修复中文显示问题

    O ComTool Pro我个人认为是一款很好用的串口调试软件 xff0c hex与ascii互转 xff0c 报文格式化 xff0c 打印窗口停留 xff0c 加载发送文件 xff0c 内容复制等细节体验很棒 xff0c 但是有一个问题体
  • 类的关系(泛化, 实现,关联,聚合,组合,依赖)

    类的关系 在UML类图中 xff0c 常见的有以下几种关系 泛化 xff08 Generalization xff09 实现 xff08 Realization xff09 xff0c 关联 xff08 Association xff0c
  • XMLHttpRequest获取后台response返回的数据

    XMLHttpRequest获取后台response返回的数据 开发MVC网站的过程中遇到令人头疼的bug 在js中通过XMLHttpRequest获取后台返回的数据竟然是当前页面的Html代码 xff01 xff01 xff01 后台Co
  • npm 安装 chromedriver依赖超时,导致项目打包进程失败

    npm 安装 chromedriver依赖超时 xff0c 导致项目打包进程失败 网络上大部分解决方式是npm 安装换源 xff1a npm install chromedriver chromedriver cdnurl 61 http
  • 12个Visual Studio调试效率技巧

    在这篇文章中 xff0c 我们假定读者了解VS基本的调试知识 xff0c 如 xff1a F5 开始使用调试器运行程序F9 在当前行设置断点F10 运行到下一个断点处F5 从被调试的已停止程序恢复执行F11 步进到函数内 xff08 如果当
  • 思岚RPLIDAR A2激光雷达使用及问题解决

    思岚RPLIDAR A2激光雷达使用及问题解决1 下载源码第一步 xff0c 下载雷达源代码 xff0c 第一种方法是输入下列网址 xff1a http slamtec com rplidar a2 download xff0c 界面有雷达
  • 雷达调制

    雷达通常有两种基本类型 xff1a 连续波 xff08 CW xff09 雷达和脉冲雷达 连续波雷达发射连续波 xff0c 并且发射的同时可以接收反射回来的的回波信号 xff0c 即收发可以同时进行 脉冲雷达间歇式发射脉冲周期信号 xff0
  • 各类优化算法综述

    目录 优化算法综述 数学规划法 精确算法 xff08 exact algorithm xff09 启发式 VS 元启发式 启发式算法 元启发式算法 What is the difference between heuristics and
  • Qt与halcon联合开发实现基于形状的模板匹配

    目录 前言 一 基于形状的模板匹配是什么 xff1f 二 具体实现 1 算子介绍 2 关键代码实现 总结 前言 第一次在CSDN写博客 xff0c 准备写一个简单的形状匹配算子的用法及实现的介绍 一 基于形状的模板匹配是什么 xff1f 基
  • VMware Wrokstation Ubuntu18虚拟机遇到ip能ping通,但是浏览器却无法访问情况

    VMware Wrokstation Ubuntu18虚拟机遇到ip能ping通 xff0c 但是浏览器却无法访问情况 解决方案 xff1a 安装防火墙 xff0c 先查询端口有没有权限 xff0c 没有就添加端口外部访问权限 xff0c
  • 使用码云、github时常用的git命令

    常用命令 边学习边总结的命令 xff0c 可能不全 xff0c 单纯做个笔记用 git branch 查看当前分支git checkout b branchname 创建branchname新分支并切换到新分支git push u orig
  • 常用涡识别方法的Tecplot实现(Q准则、λ2 准则、delta准则、Omega准则)

    常用涡识别方法的Tecplot实现 xff08 Q准则 2 准则 delta准则 Omega准则 xff09 0 前言0 1 欧拉法涡识别0 2 Tecplot中的涡识别 1 涡量法2 Q方法2 1 2D的Tecplot公式2 2 3D的T

随机推荐

  • FreeRTOS源码学习_01-任务调度器-2021-10-28

    FreeRTOS源码学习 01 任务调度器 一 写在前面二 源码分析1 开始任务调度 xff1a void vTaskStartScheduler 2 创建软件定时器任务 xff1a 3 检查链表队列是否有效 xff1a prvCheckF
  • ZeroMQ 学习笔记 —— PUB SUB 订阅模式

    ZeroMQ的订阅服务器 include lt zmq h gt include lt iostream gt include lt unistd h gt using namespace std int main void ctx 61
  • 将Mircrosoft Store下载的Ubuntu安装到指定位置方法,同时解决“你需要来自System的权限才能对此文件进行更改”问题

    一 概述 最近使用到WIndows的WSL功能 xff0c 需要安装ubuntu这个子系统进行仿真环境搭建 xff0c 但是又不愿意使用虚拟机 xff0c 不太方便 在安装过程中发现本身就岌岌可危的C盘经常突然爆满 xff0c 经过检查发现
  • 本地安装WSL的发行版后,导出到另一台计算机安装的办法

    一 步骤 1 首先你要在你的计算机上安装成功了WSL子系统 xff0c 然后才能导出对应版本的tar文件 xff0c 复制到另一台计算机中进行安装 2 例如我的电脑安装了Ubuntu 20 04 5这个版本 xff0c 如图 xff1a 3
  • Pixhawk基础—认识Pixhawk

    Pixhawk简介 pixhawk是由3DR联合APM小组与PX4小组于2014年推出的飞控PX4的升级版 xff0c 它同时拥有PX4和APM两套固件和相应的地面站软件 该飞控是目前全世界飞控产品中硬件规格最高的产品 Pixhawk基础
  • 关于 adb命令编辑器中无法找到设备:error: device not found 问题的解决办法

    adb命令编辑器中无法找到设备 xff1a error device not found 问题原因解决办法问题来了 解决办法 今天接手一个施乐的设备 xff0c 想要连接到电脑上进行调试 xff0c 调试程序已写好 xff0c 准备用adb
  • LinearLayout中layout_weight属性占比计算方法

    假设一个布局中有三个子布局 xff0c 三个子布局的layout weight属性占比我2 3 4 此时有两种情况 xff1a 1 wrap content比较简单 直接就按比例得了 2 fill content match content
  • 利用POI实现json数据的Excel导出

    首先需要POI jar包 xff0c 相关jar包已经分享到个人网盘 xff0c 有需要可以进行下载 链接 xff1a https pan baidu com s 1N9Cc8UgHuHIMZbWfurmm3w 提取码 xff1a cc6p
  • 基于springboot的简单restful服务demo

    这篇文章主要是本人学习springboot时一个简单的测试demo xff0c 仅供参考 springboot的介绍 xff1a 由Pivotal团队提供的全新框架 xff0c 设计的目的是简化spring新应用搭建的过程 xff0c 使用
  • leetcode刷题 Day23(LRU缓存机制)

    题目 xff1a 思路 xff1a java用LinkHashMap解决 xff0c 在LRUCache中获取缓存容量 xff0c 在put方法中 xff0c 难点在于怎么进行判断最新数据和最不常用的数据 xff0c 这里采取这种办法 xf
  • 野火&洋桃STM32开发版学习指导完整版

    该文章是我历时一个月整理总结而成 xff0c 专门针对想要通过野火 amp 洋桃STM32开发板入门stm32的读者 由于csdn编辑限制 xff0c 该学习指导只包含文字信息 如需查看含图片的完整版可进入我的博客下载页 完整版内容详实 x
  • sumo学习——sumo的路网介绍

    2 sumo路网 这里的记录的内容 xff0c 并不以如何绘制或者如何建立一个路网体系为主 xff0c 而是较为详细的介绍 xff0c 在sumo中是如何定义路网格式的 这里所有的内容都是来自于sumo的软件说明翻译 xff0c 其中部分夹
  • webpack之devtool

    关于Devtool 该选项控制是否以及如何生成源映射 官网上给出的可选值有 xff1a 其中一些值适合开发 xff0c 一些用于生产 对于开发 xff0c 您通常需要快速的Source Maps xff0c 以bundle的大小为代价 xf
  • 汽车UDS诊断详解及Vector相关工具链使用说明——总述

    1 什么是诊断 车辆在运行过程中 xff0c 不可避免地会发生一些故障 xff0c 为了确保行车安全 xff0c 我们要求车上的ECU能够实时监测部件的运行状态 xff0c 一旦发现异常情况 xff0c 能通过点亮报警灯等方式提示驾驶员 但
  • 汽车UDS诊断详解及Vector相关工具链使用说明——2.2.7 动态定义DID(0x2C)

    1 概述 动态定义DID服务允许诊断仪在ECU内部动态定义一个临时的DID 可以通过该DID读取一段内存的数据 也可以通过改DID一次性读取多个原有DID的数据 动态定义DID既可以是支持22服务的DID 也可以是支持2A服务的周期性读取
  • 关于RTOS中信号量、互斥量、邮箱、消息队列的一些理解

    1 信号量 信号量有两种 xff1a 计数性信号量和二值信号量 xff0c 计数性信号量可以被获取多次 xff0c 二值信号量只有0和1两种状态 xff0c 只能被获取一次 信号量可以用来对资源进行保护 xff0c 防止多个任务同时访问某个
  • 英飞凌 AURIX 系列单片机的HSM详解(1)——何为HSM

    本系列的其它几篇文章 xff1a 英飞凌 AURIX 系列单片机的HSM详解 xff08 2 xff09 与HSM相关的UCB和寄存器 英飞凌 AURIX 系列单片机的HSM详解 xff08 3 xff09 开发方法 英飞凌 AURIX 系
  • DoIP(一)——基础概念

    1 DoIP概述 DoIP xff08 Diagnostic communication over Internet Protocol xff09 是基于车载以太网的诊断 xff0c 在OSI 七层模型中属于传输层 xff0c 其传输的诊断
  • DoIP(二)——报文类型

    我们上一篇文章提到 xff0c DoIP报头中有两字节的数据类型 xff08 Payload Type xff09 xff0c 代表DoIP报文类型 xff0c 本文就来详细介绍一下每一种报文类型 标准中对报文类型的定义如下 xff1a 数
  • AUTOSAR —— CAN网络管理(CanNm)

    1 网络状态 AUTOSAR网络管理节点内部有两个状态 xff0c 一个是Requested 被请求状态 xff0c 另一个是Released 被释放状态 xff0c 当节点的应用层需要使用总线进行通讯的时候 xff0c 会调用接口使得节点