侃侃主动/被动唤醒源与网络主动/被动唤醒这几个名词

网络管理中,主动唤醒源/被动唤醒源与网络主动唤醒/被动唤醒的关系有时让人傻傻分不清,本文侃侃这几个名词。
提示:基于can节点讨论。
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,can bus2网段内可能节点均没有唤醒,需要有节点承担唤醒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状态,网络被动唤醒。


昇润科技蓝牙方案供应商,为你提供低功耗物联网解决方案
机器人终将走向普及时代
三星M40的GeekBench跑分曝光了,单核跑分2363分,多核6438分
OpenAI:通用人工智能的未来展望
LED视频处理器,让未来科技更具色彩!
侃侃主动/被动唤醒源与网络主动/被动唤醒这几个名词
2019年硅晶圆市场陷入供给过剩,半导体市场恐迎来暴跌
三星西安半导体工厂开启工艺升级,美计划进一步收紧对华芯片出口措施
光传感器确保农作物健康生长
RIO架构中的FPGA硬件应用与案例分析
全球应暂停所有人类生殖细胞系基因编辑的临床应用
智能手机处理器领域新进及退出厂商概述
美光5400 SATA SSD正式发布
影响功率分析仪测量精度的因素有哪些呢?
LG 2020款Gram系列笔记本电脑售价公布,1199.99美元起价
FPGA核和FPGA Fabric的区别
iPhone12屏幕发黄怎么设置?
扫码技术在农产品质量安全追溯平台的应用领域
如何借助众筹平台来一场智能硬件创业风暴
虹科多功能蓝牙便携式数据记录仪——通过实时连接实现终极数据记录体验