当前位置: 首页 > news >正文

AutoSAR PNC和ComM

文章目录

  • PNC和ComM
  • PNC管理
    • NM PDU结构及PNC信息位置
    • 如何理解节点关联PNC
    • PNC状态管理
  • ComM 通道状态管理

PNC和ComM

PNC 和 ComM层的Channel不是一个概念,ComM的Channel对应具体的物理总线数。

在ComM模块中,一个Channel可以对应一个PNC,也可以对应多个PNC。

PNC管理

PNC(Partial Network Cluster) 即“局部网络集群”, 通过一些规则(通常按照功能类) 将车辆网络进一步划分为不同的“局域网”, 通过 PNC 管理其各种状态。

如下图:OBC和BMS组成一个PNC1,而MCU和BMS又组成了一个PNC2。
在这里插入图片描述

NM PDU结构及PNC信息位置

PNC,是一种将网络通信进行分组和控制的方法,属于AUTOSAR COM层,是从Autosar 4.0.3开始增加的,主要目的是为了省电;PNC是PDU中的一部分;
在这里插入图片描述
NID:Source Node Identifier,即对应节点CAN报文的CanID,比如节点 NM Msg CanID 为 0x509,则 NID = 0X09(配置工具配置),5表示网络管理报文类型。

CBV:Control Bit Vector,控制位向量。

User Data:使能PN功能时,存储PNC信息。假设某网段内有48个PNC,User Data中的每一个Bit代表一个PNC,可以用PNC 0 ~ PNC 47标识这48个PNC。注意:节点具体需要处理多少个PNC,根据需求配置。
在这里插入图片描述

如何理解节点关联PNC

一个网段内有多个节点,多个节点之间可以形成多个PNC,也就意味着:具体到某个节点,并不是所有的PNC 都对该节点有效。
比如:ECU1有两个节点Node1和Node2,Node1收到的网络管理报文中,只关注PNC20、PNC22、PNC30是否置位( = 1),因为Node1只参与PNC 20、PNC22、PNC30三个网络簇,并不关心PNC16或者其他的PNC #n状态,如下所示:
在这里插入图片描述

PNC状态管理

PNC有两种模式,其中COMM_PNC_FULL_COMMUNICATION包含三种子状态:

  • COMM_PNC_FULL_COMMUNICATION
    • COMM_PNC_REQUESTED
    • COMM_PNC_READY_SLEEP
    • COMM_PNC_PREPARE_SLEEP
  • COMM_PNC_NO_COMMUNICATION
    在这里插入图片描述

系统上电后整个PNC的状态在COMM_PNC_NO_COMMUNICATION。在PNC状态切换过程中如果是主动唤醒节点直接请求FULL通信,或者是网关节点控制的节点在收到网关下的ERA(External Request Array,表示的是外部的唤醒状态设置相关的数组)数组的相关状态位,直接从COMM_PNC_NO_COMMUNICATION进入到COMM_PNC_REQUESTED阶段。

如果是被动唤醒的节点,则根据接收到唤醒报文中的PNC位状态切换到COMM_PNC_READY_SLEEP或者COMM_PNC_PREPARE_SLEEP其中PNC位设置一般在NM的报文中体现,而开发者只需根据相应的NM报文的UserData中对应的PNC位操作即可。

COMM_PNC_FULL_COMMUNICATION内部的三个子状态的切换也是根据该节点的是否能被动唤醒功能进行内部的状态切换,主要体现是主动唤醒下需要Request Full相关的操作以及NM报文中对应的UserData中相关的PNC位进行转换的。

ComM 通道状态管理

ComM 通道有三种模式,其中除 COMM_SILENT_COMMUNICATION 之外每种模式有两种子状态:

  • COMM_NO_COMMUNICATION(无通信模式,不接收也不发送。)
    • COMM_NO_COM_NO_PENDING_REQUEST(无网络请求状态。)
    • COMM_NO_COM_REQUEST_PENDING(有通信请求 ,但未使允许通信 标志ComMAllowed。)
  • COMM_FULL_COMMUNICATION(全通信模式, 既可接收也可发送。)
    • COMM_FULL_COM_NETWORK_REQUESTED(网络请求状态。)
    • COMM_FULL_COM_READY_SLEEP(准备睡眠状态。)
  • COMM_SILENT_COMMUNICATION(静默模式, 接收但不发送。)

在这里插入图片描述

http://www.lryc.cn/news/67815.html

相关文章:

  • Android studio Camera2实现的详细流程
  • 阿里云数据库ClickHouse产品和技术解读
  • 分子动力学基础知识
  • USB转UART转串口芯片 GP232RNL国产低成本替代FT232RL/FT232RNL
  • 第03讲:SpringCloudStream实现分布式事务
  • 【从零开始学Skynet】高级篇(一):Protobuf数据传输
  • 快速入门Lombok
  • Linux 常见命令与常见问题解决思路
  • 用GPT-4 写2022年天津高考作文能得多少分?
  • Django如何把SQLite数据库转换为Mysql数据库
  • 使用apisix代理静态文件
  • [元带你学NVMe协议] NVMe1.4 多路径(Multipathing)
  • Elasticsearch:如何使用自定义的证书安装 Elastic Stack 8.x
  • HADOOP--yarn ,, git
  • IOS开发指南之UITableView控件使用
  • C语言中的数据类型
  • 什么是微服务中的熔断器设计模式?
  • Ubuntu查看系统日志的几种方法
  • 【ubuntu】安装ZIP
  • DiffDock源码解析
  • 1099 Build A Binary Search Tree(超详细注解+38行代码)
  • [刷题]贪心入门
  • 项目集战略一致性
  • Linux学习 Day3
  • 前端开发推荐vscode安装什么插件?
  • 如何打造完整的客户服务体系?
  • 裸奔时代,隐私何处寻?
  • 从期望最大化(EM)到变分自编码器(VAE)
  • 【数学杂记】表达式中的 s.t. 是什么意思
  • flink watermark介绍及watermark的窗口触发机制