主动/被动唤醒源与网络主动/被动唤醒

article/2025/9/22 19:34:08

1主动唤醒源/被动唤醒源

主动唤醒源:承担着主动唤醒网络责任的唤醒源,称为主动唤醒源。比如:KL15硬线,User请求,ERA信号等。

KL15硬线:通过KL15硬线方式唤醒网络,说明当前网络没有节点参与通信,为了快速将网络唤醒,建立通信功能,被KL15硬线唤醒的节点,需要主动地去唤醒网络,进而将网络上其他节点唤醒。所以,可以将KL15硬线看作主动唤醒源。同理,类似于KL15硬线唤醒网络的其他硬线唤醒方式,也可以看作​主动唤醒源;

User请求:User请求,是指通过ComM_RequestComMode()接口请求通信的方式,发起点为SWC,由于功能需要,节点需要在某些工况下主动拉起其他节点通信;

ERA信号:ERA信号怎么看作是主动唤醒源呢?首先,ERA信号的使用,说明当前节点有多个物理Channel(ComM的Channel与之一一对应),PNC信息需要在不同的Channel之间路由,以实现不同网络唤醒的目的。

比如:CAN 1在CAN BUS 1上收到一帧网络管理报文,包含PNC #n = 1,且PNC #n与CAN1和CAN2均关联,PNC #n需要由CAN1路由到CAN2,CANBUS2网段内可能节点均没有唤醒,需要有节点承担唤醒CAN BUS2 网络的责任,即:主动唤醒CAN BUS2网段内的节点。此时,路由到CAN 2节点的ERA信号就可以充当主动唤醒CAN BUS2上节点的责任,所以ERA信号可以看作主动唤醒源。

除了上述的的主动唤醒源,还有一些定时器传感器也可以作为主动唤醒源。传感器一般与硬线连接,类似于KL15硬线。定时器的使用场景不清楚大家有没有遇到,这里给一个场景:智能补电。如果车辆长时间处于休眠状态,蓄电池可能亏电,亏电会导致车辆无法正常使用。为了防止蓄电池亏电,有些车上会配置智能补电功能,通过定时器设置定时时间,如果此时间内车辆未有启动,则定时器主动触发对应节点的唤醒,对蓄电池进行补电。

被动唤醒源:不需要承担唤醒网络责任的唤醒源,称为被动唤醒源。比如:收到NM Msg。对于收到NM Msg需要分情况讨论:

网络管理没有PN功能:节点收到的网络管理报文没有PNC信息,此时网络管理报文看作被动唤醒源。

网络管理具有PN功能:如果对应的ECU充当Gateway角色,且有多个物理Channel,PNC #n关联多个Channel,网络管理报文可​看作主动唤醒源(前面提到的ERA信号);如果PNC #n仅关联本Channel,不需要路由,网络管理报文看作被动唤醒源。

2网络主动唤醒/被动唤醒

网络主动唤醒:由主动唤醒源触发,调用CanNm_NetworkRequest()接口唤醒网络的方式称为网络主动唤醒。

网络被动唤醒:由被动唤醒源触发,调用CanNm_PassiveStartUp()接口唤醒网络的方式称为网络被动唤醒。

问题拓展思考

对于PNC模式的切换,群内小伙伴提出了这样一个问题:"ERA = 1时,PNC由PNC_NO_COMMUNICATION切换到PNC_REQUESTED。而EIRA = 1时,PNC由PNC_NO_COMMUNICATION切换到PNC_READY_SLEEP",两者为什么不同呢?

关于ERA、EIRA前文已经聊过,可以参考Autosar网络管理:Partial Network基础 之 ERA/EIRA、PNC Gateway和Autosar网络管理:CanNmPnResetTime对关联Tx PDU的发送影响。这里说一下个人理解:ERA的使用需要配合Gateway的使能,当某个PNC = 1时,说明有节点(假设节点A)需要通信,假设节点A需要和不同网段的其他节点(假设节点C)通信,需要经过节点B、节点D的路由,如下所示:

如果想唤醒Can2 Bus的节点C网络,需要节点D(与节点C同一个网段)发送网络管理报文唤醒节点C。主动发起通信的节点A在Can1 Bus,需要和Can2 Bus上的节点C通信,需要外部信号(PNC #n = 1)发送给节点B,由节点B路由给节点D,将PNC信息发送给节点C。

ERA = 1,与此PNC相关的节点(B、D)进入PNC_REQUESTED状态,节点B、D的Channel请求进入COMM_FULL_COMMUNICATION 状态,调用Nm_NetworkRequest()接口将Can 2 Bus上的节点唤醒;如果进入的是PNC_READY_SLEEP模式,ComM将会释放COMM_FULL_COMMUNICATION状态,且PNC信息不能路由,Can 2 Bus上的节点无法唤醒,节点A、C无法通信。

EIRA = 1,只是想把通信留在本网段,当前节点参与通信即可,不需要和外部网段通信,因此进入PNC_READY_SLEEP状态,网络被动唤醒。


http://chatgpt.dhexx.cn/article/2B2ZYaCa.shtml

相关文章

【车载】【汽车电源】简述汽车电源系统

一、汽车电源 一般来讲,传统能源汽车的电源主要来源于电池和发电机,电池为汽车启动提供能量来源,当汽车启动完成之后,汽车的发电机又会为电池充电。由于发电机和发动机是靠皮带连接的,所以广义上也称发动机发电。而发电…

AUTOSAR EcuM学习(一)

简介 ECU Manager(EcuM)的主要任务包括: 初始化(initializes)/反初始化(de-initializes)OS、SchM及BSW模块;执行ECU的关闭(SHUTDOWN)和睡眠(SLEEP)动作;处理唤醒(wakeup)事件并对唤醒源进行校验(wakeup validation)。 最初ECU的整个状态管理…

AUTOSAR EcuM学习(二)

前言 本文以一个简化的示例看下ECU唤醒休眠的执行流程,通常不同项目因需求不同流程处理都会有所不同,本示例只是其中一种,并不是标准普适的流程。假设ECU休眠采用的是MCU掉电方式,且只有两个唤醒源:CAN和KL15&#xf…

KL15含义-- 汽车钥匙孔挡位

KL含义 KL是德文connector含义,芯片引脚的含义。 KL30 ,通常表示电瓶的正极。positive KL31,通常表示电瓶的负极。negative KL15, 通常汽车处于RUN模式 KL50,通常汽车处于crank模式 KLR,通常汽车处于的ACC模式 汽车钥…

浅谈汽车应用中的KL15与KL30

浅谈汽车应用中的KL15与KL30 身处汽车行业或者经常看汽车应用的原理图,就经常能看到KL30和KL15等网络标号,这是什么意思,来简单聊下。 KL15指点火信号 KL30指蓄电池供电电压 为啥叫KL呢 其实他是德语Klemme的缩写,指的是ECU的管…

KL15和汽车各个档位

KL是德语Klemme的缩写,意思是ECU的管脚、接线柱,和Pin意思相同,后面的数字代表不同的电源模式。 KL15表示发动机的点火信号和启动车辆的信号,驾驶循环以此为准 KL15R,其中R表示Radio,用于启动车辆的仪表盘…

为什么点火信号叫KL15,蓄电池电压叫KL30?

在刚进入汽车行业时,听到前辈讨论问题时偶尔蹦出来的KL15、KL30,那会内心一脸懵逼,这啥意思呢? 当时也没好意思打断大家的讨论,直接询问。 等他们讨论完后悄咪咪的问了一下坐我对面的同事。 才知道KL15是指点火信号…

在微信开发者工具导入整个weui的实例,查看weui的用法

方法 下载weui的源代码,https://github.com/Tencent/weui-wxss/ , clone or download > Download ZIP解压,找到dist文件夹,在./weui-wxss-master/dist/打开“微信开发者工具”,选择“小程序” > “导入项目” &…

WeUI实例(官方)

博主最近想用小程序画几个页面,于是想试试WeUI的样式。但是没找到WeUI的文档,只找到了在线的实例演示。还有的例子是在div上显示的,当时比较疑惑。后来发现,可能是公众号的页面。 实例演示的链接:传送门 其实这些实例…

WeUI—微信官方UI库

WeUI 为微信 Web 服务量身设计 概述 WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress, toast、article、icon等各式元素。 使用 方法一&a…

HTML5 weui笔记

按钮 <a href"javascript:;" class"weui_btn weui_btn_primary">按钮-确定-可用</a> <a href"javascript:;" class"weui_btn weui_btn_disabled weui_btn_primary">按钮-确定-不可用</a> <a href"jav…

微信小程序引入原生组件——WeUI组件库,详细步骤

第一步&#xff1a;查看是否可使用npm命令&#xff0c;没有则安装&#xff1a; 我这里已经安装了&#xff0c;如果没有则安装node.js node官网下载地址&#xff1a;https://nodejs.org/en/ 注意这个windows 64位的&#xff1a; 其他系统看这里&#xff1a;点击dowloads 先点击L…

微信小程序UI框架之【weui】怎样使用

介绍 官网&#xff1a; https://weui.io/ 这是一套基于样式库weui-wxss开发的小程序扩展组件库&#xff0c;同微信原生视觉体验一致的UI组件库&#xff0c;由微信官方设计团队和小程序团队为微信小程序量身设计&#xff0c;令用户的使用感知更加统一。 官方文档&#xff1a;…

第一次使用weui

今天在做微信公众号开发时&#xff0c;用了一下weui&#xff0c;发现很好用。 1、怎么下载weui.css 例如&#xff0c;进入了该链接页面&#xff1a;https://weui.io/#input&#xff0c;然后右键查看源码&#xff0c;在源码中有这样一行&#xff1a; <link rel"style…

微信小程序引入weui

一、执行步骤 1.根目录下执行 npm init -y npm install --save weui-miniprogram --production npm install express 2.文件配置 project.config.json 找到 packNpmManually 和 packNpmRelationList 修改成如下内容&#xff1a; "packNpmManually": true, &quo…

WeUI for 小程序--使用教程

WeUI for 小程序–使用教程 weUI 是一套同微信原生视觉体验一致的基础样式库&#xff0c;由微信官方设计团队为微信 Web 开发量身设计&#xff0c;可以令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、icon等各式元素。 预览 …

WeUI基础样式库

WeUI包含button、cell、dialog、toast、article、icon等各式元素。 按钮&#xff08;Button&#xff09; 按钮可以使用a或者button标签。wap上要触发按钮的active态&#xff0c;必须触发ontouchstart事件&#xff0c;可以在body上加上ontouchstart""全局触发。 按…

WeUI - 微信官方推出的免费开源 UI 组件库,上手简单,风格简约,在微信生态开发轻量项目的绝佳选择

微信早年发布的 UI 框架&#xff0c;对想要创建让微信用户感到熟悉的应用来说&#xff0c;是一个好选择。 关于 WeUI WeUI 一款由腾讯微信团队开发的 UI 组件库&#xff0c;是一套同微信原生视觉体验一致的基础样式库&#xff0c;由微信官方设计团队为微信 Web 开发量身设计&…

weui学习总结——1、weui表单常用标签

前言&#xff1a;weui是一个专门用于开发手机移动web或微信的样式库。但是官方只提供了demo没有提供相关文档&#xff0c;所以这篇博客就当是方便以后开发而使用吧。 weui资源下载&#xff08;也可以从官网下载&#xff09;&#xff1a; http://download.csdn.net/download/z…

微信小程序-weUI组件库

微信小程序的开发过程中&#xff0c;常常会出现很多重复性的功能翻来覆去地使用&#xff0c;那么直接用一套封装好的组件库&#xff0c;就能大大提升开发速度。 微信小程序的UI组件库有很多&#xff0c;可以参考下面这个内容&#xff1a; 微信小程序UI组件库合集 | 微信开放社…