PN、VFC、PNC局部网络管理
文章目录
- 1、什么是PN?
- 2、什么是VFC?
- 3、什么是PNC?
- 4、VFC和PNC的关系
1、什么是PN?
在AUTOSAR中通过NM网络管理(Network Management)来协调网络正常通信和睡眠模式的转换以实现ECU的休眠和唤醒,能够节约电能、提高续航。PN(Partial Networking)局部网络管理,是通过保留需要工作的ECU、关闭不需要工作的ECU,分组控制来实现更为精细化的网络管理
。传统的网络管理如下图,对于CAN1网段来说,当发送NM报文进行唤醒时,整个网段上的全部节点ECU A、B、C、D、E接收到NM报文后均被唤醒。
PN网络管理如下图,对于CAN1网段来说,当发送PN网络管理报文进行唤醒时,网段上的具有相关功能关联的节点才被唤醒,因此ECU A、D、E被唤醒,而ECU B、C仍然处于休眠状态。这就是PN局部网络管理带来的优势。
2、什么是VFC?
PN网络管理通过分组控制来实现局部网络管理,上面提到的分组也就是VFC(Virtual Function Cluster)虚拟整车功能组,属于AUTOSAR APP层,可理解为从应用层功能层面出发对ECU进行分组管理。以下图为例,CAN1、CAN2、CAN3三个网段下各自有一些节点,通过功能划分,ECU B、ECU 2和ECUb组成座椅通风加热VFC;ECU D和ECU d组成充电VFC。可以看出,处于同一个VFC组下的各节点可以属于不同的网段。一个整车功能的开启就需要不同网段间的ECU进行协同。
3、什么是PNC?
理解了VFC虚拟整车功能组之后,我们就在思考从总线信号的角度是如何实现PN局部网络管理,实现不同网段间功能关联的多节点的网络管理呢?这就是PNC的作用。PNC(Partial Network Cluster)局部网络信号簇,属于AUTOSAR COM层,它就是从总线信号层面来执行PN网络管理的任务。在网络管理基础的文章里提到过NM报文的格式如下图,PNC信号定义在User data中。当PNC的某个Bit位置为1后,ECU发出与之对应的报文。
CANoe Trace窗口NM报文信息,也可以看到基于PN网络管理的报文信号流。
如下图,从NM报文Byte2开始,PNC位从PNC16至PNC23,依次到Byte7的PNC56至PNC63。当某个PNC置为1时,PNC生效;PNC置为0时,PNC失效。但是这里需要注意一个前提:NM报文Byte1 CBV控制位向量中的Bit6:Partial Network Information Bit (PNI) 局部网络信息位,它是判断PNC生效与否的前提,为0:不使用PN网络管理;为1:使用PN网络管理。就像一个总开关,打开(置1)的情况下才能使用PNC进行局部网络管理,此时PNC位置为1置为0才有真实功能性;关闭(置0)的情况下不使用PNC。
4、VFC和PNC的关系
多个VFC可以对应同一个PNC,但是不允许多个PNC对应同一个VFC。还是以下图为例来理解,可以用同一个PNC来管理座椅通风 加热VFC和充电VFC,比如PNC16=1时,这两个VFC都可以被唤醒工作;但是不能使用PNC16和PNC17两个PNC来管理充电VFC,此时若PNC16=1&PNC17=0或者PNC16=0&PNC17=1,充电VFC到底是唤醒还是休眠呢,就会有这种问题。