Autosar 网络管理 NM

2024-02-04 00:52
文章标签 网络管理 autosar nm

本文主要是介绍Autosar 网络管理 NM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为什么要网络管理

Autosar网络管理之所以重要,可以用比较通俗的话来解释:

想象一下汽车是一个庞大的交流团队,每个成员都是一部分的电子控制单元(ECU)。这些成员之间需要不断地交换信息,就像团队成员需要沟通一样。而Autosar网络管理就好比是团队的领导,负责协调和管理成员间的交流,确保信息传递顺畅,工作高效。

为什么需要这个领导呢?因为随着汽车电子系统的发展,团队成员(ECU)越来越多,信息交流变得更加复杂。如果没有好的领导(Autosar网络管理),可能会发生混乱、信息丢失或者冲突。这个领导的存在,就是为了保持整个团队的协作,让汽车系统在各种工况下都能保持稳定、高效地运行。

Autosar网络管理就像是一位智能的交流协调员,确保每个成员都知道何时发言、何时倾听,避免交流时的混乱和错误。这样,整车系统就能更可靠、更安全地运行,为驾驶员提供更好的驾驶体验。更重要一点是节约能源,汽车上 ECU 节点千千万万,不可能 ignition On 时所有 ECU 都正常工作,而是当用户需要请求相关功能时,参与该功能的相关 ECU 节点才需要启动起来,否则带来的只是过多对电池的无用消耗。

车辆上的总线包含上千条message,message可以理解为报文,获取报文链路有lin,CAN,Ethernet和flexray等,这个不重要,总线上传输数据统称报文,报文分有网络管理报文和应用报文,怎么区分网络管理报文和应用报文呢?这个要根据客户需求来制定,会规定一定范围的id是网络管理报文。报文内携带signal 信号,比如有车速,胎压,轮速,灯状态等。

CanNM状态

Autosar的CanNM(Controller Area Network Network Management)定义了一些网络管理状态,这些状态反映了CAN总线上网络节点的运行情况。以下是一些典型的CanNM网络管理状态:

CAN_NM_BUS_SLEEP: 表示CAN总线处于休眠状态。在这个状态下,节点之间的通信被暂停,以节省能量。当系统需要唤醒时,会从休眠状态切换到活动状态。不能发送NM Msg,可以接收NM Msg,App Msg既不能发送,也不能接收。App Msg包括:诊断报文、标定报文、应用报文、测试报文等。

CAN_NM_BUS_OFF: 表示CAN总线已经被关闭。这可能是由于错误发生次数过多,导致总线进入错误恢复状态。在这种状态下,节点无法进行正常的通信,需要进行总线的重新初始化。

CAN_NM_PREPARE_BUS_SLEEP: 表示节点正在准备进入休眠状态。在进入休眠状态之前,节点可能需要进行一些准备工作,以确保数据的完整性和正确性。

CAN_NM_READY_SLEEP: 表示节点已经准备好进入休眠状态。这个状态表明节点已经完成了休眠前的准备工作,可以安全地进入休眠状态。NM Msg可以接收,不能发送,App Msg即可以收,也可以发送。

CAN_NM_REPEAT_MESSAGE: 表示节点在发送重复消息。这可能是为了确保其他节点能够正确接收到消息,尤其是在网络恢复或重新配置时。

这些状态反映了CAN总线上节点的不同运行状态,CanNM通过管理这些状态,确保CAN网络在各种情况下能够稳定、可靠地运行。这对于整车电子系统的性能和可维护性都至关重要。请注意,具体的状态可能会根据Autosar版本和实现而有所不同,可以参考Autosar标准文档或相关的实现手册获取更详细和准确的信息。

ECU唤醒

在车辆上,电子控制单元(ECU)的唤醒方式是多样化的,具体的方式取决于车辆的架构、应用需求以及系统设计。以下是一些常见的车辆上的 ECU 唤醒方式:
定时唤醒: ECU 可以通过内部定时器设定唤醒时间,周期性地唤醒以执行某些任务。这对于需要定期执行任务的 ECU 是有效的。
电源线唤醒: KL15硬线触发,监测电源线上的电压变化,当检测到电压上升时,ECU 可以被唤醒。这是一种常见的低功耗模式下的唤醒方式。
网络管理唤醒: 发送网络管理报文,Autosar 标准中定义了网络管理模块,通过网络管理机制,ECU 可以在特定条件下被唤醒。

这篇关于Autosar 网络管理 NM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/675936

相关文章

LeetCode:64. 最大正方形 动态规划 时间复杂度O(nm)

64. 最大正方形 题目链接 题目描述 给定一个由 0 和 1 组成的二维矩阵,找出只包含 1 的最大正方形,并返回其面积。 示例1: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 示例2: 输入: 0 1 1 0 01 1 1 1 11 1 1 1 11 1 1 1 1输出: 9 解题思路 这道题的思路是使用动态规划

MFC 控件重绘(2) NM_CUSTOMDRAW, WM_DRAWITEM, 虚函数DrawItem

控件重绘有三种方法: 1 设定界面属性 2 利用Windows的消息机制,通过Windows消息映射(Message Mapping)和反映射(Message Reflecting),在合适的时机修改控件的状态和行为。此方式涉及NM_CUSTOMDRAW和WM_DRAWITEM 3 利用虚函数机制,重载虚函数。即DrawItem虚函数。 对于NM_CUSTOMDRAW,某些支持此消息的控件

基于Hypervisor智能驾舱的AUTOSAR解决方案

MENTOR嵌入式管理程序 目前,通常使用两种类型的管理程序(图6): Type 1本机管理程序:一种在硬件上本机运行的管理程序,因为它充当核心中的操作系统。Type 2托管虚拟机监控程序:此类型的虚拟机监控程序必须由另一个操作系统托管,并且仅负责使用主机操作系统可用的资源来虚拟化客户操作系统。 图6:虚拟机管理程序 虚拟化的工作原理是从硬件上运行的应用程序中抽象出物理硬件和设备。虚拟化流程管理

Autosar(Davinci) --- 创建一个S/R类型的port(下)

前言:         前面章节我们讲解了S/R类型的Port如何创建,这一章节,我们着重讲一下生成的代码,以及我们如何添加代码让这些门与灯之间的关系产生连接。 一、CtSaDoor.c 在【Rte.c】的【IO_TASK】中我们可以看到,反复的判断Rte_Ev_Cyclic_IO_Task_0_200ms这个条件是否成立,当200ms到达时,调用RCtSaDoorReadDoor函数,去读

NM_LISTVIEW结构

NM_LISTVIEW结构.该结构用于存储列表视图的通知消息的有关信息,大部分列表视图的通知消息都会附带指向该结构的指针.NM_LISTVIEW的定义为  typedef   struct   tagNM_LISTVIEW   {    NMHDR   hdr;   //标准的NMHDR结构  int   iItem;   //表项的索引,若为-1则无效

AUTOSAR Adaptive与智能汽车E/E架构发展趋势

AUTOSAR Adaptive是一个面向现代汽车应用需求的标准,特别适用于那些需要高计算能力和灵活性的应用。以下是AUTOSAR Adaptive的典型特性: 高计算能力:AUTOSAR Adaptive支持使用MPU(微处理器),这些处理器的性能与PC或智能手机中的处理器相当。这样的高计算能力是实现半自动驾驶和其他复杂功能所必需的。动态更新和管理:AUTOSAR Adaptive的架构允

LIN协议栈 AUTOSAR架构下 状态管理

一、LIN State Manager 概述 功能 :负责控制 LIN 总线的通信状态,包括切换调度表(仅 LIN 主节点)、处理睡眠和唤醒操作、通知上层新状态等。约束 :每个 ECU 中最多有一个实例;所有关于调度表的操作仅适用于 LIN 主节点;适用于所有使用 LIN 的汽车领域。依赖关系 :依赖于 Communication Manager(ComM)和 LIN Interface(Lin

Autosar OS基础知识导图

Autosar OS基础 概述 Autosar简介 定义 Autosar(汽车开放系统架构)是由汽车制造商,软件供应商及其他相关厂商专为汽车软件合作指定的规范、标准、架构。 目标 建立一个独立于硬件的分层软件架构‌:‌实现高内聚、‌低耦合,‌提高软件的可重用性、‌可扩展性和互操作性。为应用实施提供一套方法论‌:‌包括制定无缝的软件架构堆叠流程,‌并将应用软件无缝整合至ECU中。制定统一的车

AUTOSAR开源OS——Trampoline的编译与使用(一)

环境准备 本人环境 CentOS7 代码下载 GitHub上去clone对应的代码到本地 git clone https://github.com/TrampolineRTOS/trampoline.git 编译goil 进入到如下目录/trampoline/goil/makefile-unix cd /trampoline/goil/makefile-unix 使用如下命令

AUTOSAR_EXP_ARAComAPI的5章笔记(1)

5.1 High Level API Structure ara::com提供了一个支持AUTOSAR服务模型的API。服务有Method、Event、Filed和Trigger。 Method:在服务应用程序中执行一个可以返回值的函数(如校准方法)。 Event:当特定条件发生时(例如制动事件),服务应用程序发送一个事件(也可能包括一个值)。客户端应用程序可以订阅事件。 Filed:在