0

0

AUTOSAR PNC数据流分析

蓮花仙者

蓮花仙者

发布时间:2025-07-19 09:36:27

|

760人浏览过

|

来源于php中文网

原创

从pn到pnc

PN通常指的是Partial Networking,中文名是部分网络或局部网络。

根据AUTOSAR_EXP_Layered Software Architecture这篇PPT的说法,PN的初衷是在AUTOSAR中,实施高效的能源管理,其目标是提供一种节能机制,尤其是在总线通信处于激活状态时(例如充电或KL15处于激活状态时)。

Partial Networking允许在不需要那么多ECU工作的时候,关闭一批ECU的网络通信。其他ECU可以继续在同一总线通道(比如动力CAN)上通信。对于从节点来说,就是需要你的时候,你必须在;不需要你的时候,你必须闭嘴。通常CAN和FlexRay是支持Partial Networking的。

Partial Networking的兄弟被称为Pretended Networking,可以翻译为伪装网络。这种方式允许在总线通信时关闭现有网络中的ECU,节点可以自行决定是否切换到休眠模式。比如一个从节点,把KL15拔了,ECU就不工作了,发什么CAN报文唤醒都不起作用。

AUTOSAR PNC数据流分析AUTOSAR_EXP_LayeredSoftwareArchitecture(V4.2.2)p155

如上图所示,黑线是真实的CAN总线,ECU A、B、C、D都被真实的双绞线连在了一起。但是!从功能上来讲,ECU A和B可以划分为一组,ECU B、C、D可以划分为一组。这样我们就把真实的物理CAN总线,圈成了两个相对独立的网络小组,组1和组2。我们管这样的小组叫做Partial Network Cluster,中文名是部分网络集群,可以理解为虚拟CAN小组。这些小组成员的特点是,要醒一起醒,要睡一起睡。

PNC通常指的是Partial Network Cluster,是一组用于支持车辆功能的系统信号,这些功能分布在车辆网络中的多个ECU上。

PNC在发展之前是VFC。VFC指的是Virtual Function Cluster,是初期设计阶段的一种通信概念,用于实现一个或多个车辆功能所需的软件组件之间的端口级通信。这里要解释下AUTOSAR的开发思想,为了实现功能我们需要若干个SWC(Software Component-软件组件)。这些SWC根据功能组成了若干个CSWC(Composition SWC),把CSWC之间的端口(Port)连在一起,就组成了VFC网络。

AUTOSAR PNC数据流分析AUTOSAR_EXP_LayeredSoftwareArchitecture(V4.2.2)p158

后来,图纸变成了现实,VFC变成了PNC(基于CAN的)和ECU内部的Interface,CSWC则变成了真实的ECU。

AUTOSAR PNC数据流分析AUTOSAR_EXP_LayeredSoftwareArchitecture(V4.2.2)p158

总结:PNC是住在CAN Bus上的小团体,既求同年同月同日醒,又求同年同月同日睡。

Symanto Text Insights
Symanto Text Insights

基于心理语言学分析的数据分析和用户洞察

下载

从PNC醒和睡的暗号是什么CAN上的网络管理帧有8个字节,通常我们会占用Byte2(含Byte2)之后的字节,作为PNC的区域。举个例子,Byte2里头有效的PNC位就是PNC16-PNC23,Byte7里头有效的PNC位就是PNC56-PNC63。以PNC16举例,如果这个位的值是1,就是PNC生效,反之为0则PNC失效。

AUTOSAR PNC数据流分析AUTOSAR_SWS_CANNetworkManagement(V4.2.2)p32

AUTOSAR PNC数据流分析AUTOSAR_SWS_CANNetworkManagement(V4.2.2)p33

这里也要注意,对于一帧含有PNC信息的网络管理报文来说,位于Byte1(CBV,控制位向量)的PNI Bit是需要置起的,这是后续判断PNC生效与否的先决条件。即PNI Bit若为1,则需要继续检查PNC各个位是否置起;PNI Bit若为0,PNC信息整体丢失,注意不是失效,是上层收不到PNC信息。

总结:PNC有效与失效的信息藏在网络管理报文的User data中,以位为最小单位,1有效,0无效。但PNI是前提条件,PNI为1,PNC信息才能向上层传递;PNI为0,算作没收到PNC信息。

从站获取PNC信息的数据流AUTOSAR PNC数据流分析AUTOSAR_EXP_LayeredSoftwareArchitecture(V4.2.2)p159

AUTOSAR PNC数据流分析我们看下数据流的流向。为了获取到EIRA(External Internal Request Array)这个信息,我们在Ecu Config中设置了三个Global PDU,即PDU_CanIf_CanNm(8bytes),PDU_EIRA_CanNm_PduR(6bytes),PDU_EIRA_PduR_Com(6bytes)。

首先是CanIf,我们在这里可以先对网络管理报文根据CAN ID进行滤波,之后将数据放到PDU_CanIf_CanNm里面。

再向上是CanNm,8个字节去掉了Node ID和CBV,变成了6个字节。检查CBV中PNI bit的值,若为1则向上层传递User Data。PNI如果为0的话,就算没收到任何PNC,一定时间后会报超时。

到了PduR,我们配置了一条Path,把PDU送往Com(注意这里是Trigger发送),ComSignal我们假定主机厂要求只取前3个字节,后面3个字节被舍弃。这样我们只剩下了原来网络管理帧的Byte2-Byte4。

最后ComSignal传给了ComM,我们会进一步通过Pnc Id去找到Pnc的位置,并检查它的值是到底1还是0。

相关专题

更多
go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

76

2025.09.10

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

475

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

163

2023.10.07

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

18

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

34

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS3 教程
CSS3 教程

共18课时 | 4.5万人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号