| 编辑推荐: |
本文主要介绍了AUTOSAR中的Partial Networking(PN)局部网络管理技术,阐述了其通过PNC分组、PN Filter过滤及Selective Wakeup硬件机制,实现按需精准唤醒相关ECU而非唤醒全车网络,希望对你的学习有帮助。
本文来自于老司机的智驾工程笔记,由火龙果软件Alice编辑,推荐。 |
|
前言
你有没有发现一个奇怪现象?
车辆锁车后:
但是:
甚至过了半小时:
还能远程解锁车辆;
还能APP查看车辆状态;
还能远程OTA升级。
这时候很多AUTOSAR新人都会产生一个疑问:
不是说整车进入Bus Sleep了吗?
为什么还有ECU在工作?
答案就是:
Partial Networking(PN)
它也是现代智能汽车网络管理最重要的技术之一。
如果没有PN:
每次OTA升级,
都需要唤醒整车。
如果没有PN:
远程控车会导致几十个ECU同时上电。
如果没有PN:
整车静态电流根本达不到OEM要求。
今天带大家彻底搞懂:
- Partial Networking是什么
- 为什么需要PN
- PNC 是什么
- PN Filter如何工作
- Selective Wakeup是什么
- TJA1043 为什么这么贵
先看传统网络管理的问题
在上一篇CanNm文章中讲过:
一个NM报文就能唤醒整个网络。
例如:
BCM发送NM
↓
所有ECU唤醒
↓
Normal Operation
|
问题来了。
如果只是:
为什么要唤醒:
根本没必要。
Partial Networking是什么?
Partial:
Networking:
组合起来:
传统模式:
PN模式:
这就是PN最大的价值。
PNC是什么?
Partial Networking Cluster。
简称:
可以理解为:
例如:
车辆有:
可以划分:
OTA PNC:
ADAS PNC:
Comfort PNC:
PNC划分
Gateway
│
┌────────┼────────┐
OTA ADAS Comfort
TCU ADAS BCM
空调
|
这样:
OTA升级时:
只唤醒OTA PNC。
其它PNC继续睡觉。
PN报文到底藏在哪里?
很多新人以为:
PN会新增一种报文。
实际上:
不会。
PN信息:
直接放在NM报文里面。
例如:
例如:
PNC1 = OTA
PNC2 = ADAS
PNC3 = Comfort
|
对应:
收到报文后:
ECU通过位图判断:
PN Filter是什么?
这是PN核心。
也叫:
每个ECU内部:
都有一张名单。
例如:
ADAS ECU
收到:
报文:
继续睡觉。
收到:
报文:
开始工作。
Selective Wakeup是什么?
这是AUTOSAR PN真正落地的关键。
很多人以为:
CPU来判断。
其实不是。
真正干活的是:
CAN Transceiver。
例如:
这些收发器内部:
带有硬件过滤器。
即使MCU已经睡眠。
它们仍然监听总线。
这也是:
为什么TJA1043价格远高于普通1042。
因为里面多了:
OTA升级为什么离不开PN?
想象一个场景。
晚上2点:
OEM推送OTA。
传统方案:
TCU唤醒
↓
全车50个ECU唤醒
↓
升级完成
↓
重新睡眠
|
功耗巨大。
PN方案:
其它:
全部继续睡觉。
这就是现代智能汽车的标准做法。
为什么有些项目PN不好用?
项目里经常遇到:
原因1:
Transceiver不支持PN。
例如:
没有Selective Wakeup。
原因2:
PN Filter配置错误。
所有PNC都匹配。
等于没过滤。原因3:
Gateway转发配置异常。
导致:
原因4:
OEM关闭PN功能。
退化成:
项目调试经验
如果发现:
优先检查:
第一步
第二步
第三步
第四步
第五步
通常都能快速定位。
面试高频题
问题:
为什么需要PN?
答案:
问题:
PNC是什么?
答案:
问题:
Selective Wakeup在哪里实现?
答案:
不是MCU。
问题:
为什么TJA1043比1042贵?
答案:
总结
Partial Networking是现代汽车实现低功耗网络管理的关键技术。
它通过:
- PNC分组
- PN Filter
- Selective Wakeup
- 特殊CAN收发器
实现:
只唤醒需要工作的ECU,而不是唤醒整个网络。
🚗 一句话总结:
CanNm解决的是“网络怎么一起醒”,而PN解决的是“谁该醒,谁继续睡”。
|