背景介绍

提起“匮电”二字,做测试的老司机定会虎躯一震,而根据过往经验,“网络管理”常是引起匮电的“钉子户”,所以针对网络管理的验证是测试的重中之重。

国内网络管理应用已从早期OSEK NM过渡到AUTOSAR NM,部分OEM使用了AUTOSAR NM的PN特性,本文从NM概念用途、PN的实现方式、CANoe下实现PN网络管理测试思路几个方面展开介绍。

什么是网络管理

汽车上的ECU在工作的时候需要通过网络来与其它ECU进行数据交换,而在不工作的时候需要进入低功耗状态来尽可能减少电量消耗。比如:

· 当拉动门把手准备使用车辆时,需某ECU接收到这个信息后在短时间能够从低功耗状态进入工作状态,并且快速地唤醒其它ECU,然后经过诸如用户认证等功能来使车辆能够被正常使用

· 当锁车离开后,相关ECU也需要判断这个信息,然后决定车辆需要进入非工作状态,网络通信需要被关闭且ECU需要进入低功耗状态

上述的工作循环可以概括为:

图1 工作循环示例

而这样的网络行为正是通过网络管理来实现的。

什么是PN网络管理

PN (Partial Network)即“局部网络”,通过一些规则(通常按照功能类)将车辆网络进一步划分为不同的“局域网”(类同于GM Global A架构中Virtual Network),通过PN网络管理处理其各种状态。

为什么需要PN

传统网络管理采用的是简单明了的“同醒同睡”的方式,但在一些场景中,我们只需要网段中有限的ECU参与工作,而不是全部的ECU,这造成了多余的电量消耗。

在ECU数量较少时还可以接受,但随着ECU的数量的增加,这个“浪费”问题就显得更为突出(当然,也可以通过设计不同的电源回路/模式控制ECU的供电等方案,但难以达到理想状态且会增加其它问题)。

PN正是通过对于网络的再次细分,在不同的场景下使不同的ECU处于工作状态,而无关的ECU仍处于低功耗状态,以达到进一步减少电量消耗的目的。

图2 PN网络示例

NM PDU

ECU请求网络以及接收到其它ECU的网络请求是通过NM PDU (Network Management Protocol Data Unit)来实现的。

以CAN网络为例,简单来说,当ECU需要请求网络时需要发送NM PDU;不需要请求网络时停止发送NM PDU。其它ECU在接收到NM PDU时,认为网络被请求。PN信息的接收发送也是类似,只是它是通过信号的形式在NM PDU中更新。

在AUTOSAR中,通常使用8个字节的数据分配给NM PDU,包含Source Node ID,CBV (Control Bit Vector)和User Data,其中User Data为用户自定义的内容,使用PN的情况下将全部或者部分User Data用于定义一组PN。

图3 NM PDU格式

CBV包含了NM模块的一些控制信息,使用PN时需要使用Partial Network Information Bit。

图4 CBV内容

除了上述的用于CAN/CAN FD的NM PDU外,PN网络管理还可以支持FlexRay。在FlexRay的NM PDU中,需要分为NM-Vote PDU和NM-Data PDU。CAN和FlexRay来说NM PDU有一些差异,但是其对于PN信息的处理是一样的。

状态机

ECU通过接收和发送NM PDU来传递网络管理的信息,而这些信息也决定ECU所处的状态。

以CAN通信为例,NM模块包含NM的状态机,针对ECU的通信端口,表示端口所处的网络管理状态,简单来说为网络的请求和释放。

图5 NM状态机

而对于PN网络来说,还包含PN的状态机,针对ECU所关联的PN,表示PN的状态,简单来说为PN的请求和释放。

图6 PNC状态机

而上述两者需要反馈到通信的状态上,因此还存在通信的状态机,针对ECU的通信端口,表示通信的状态,简单来说为通信的开启和关闭。

图7 ComM channel状态机

这些状态机需要共同作用,使ECU能正常的休眠和唤醒。当然,这个过程还关联有其它的状态机,在此就不赘述,有兴趣的可以参考AUTOSAR的规范。

PN网络管理测试方案

通过上述的内容,可以看到,其实PN网络管理只是在传统网络管理的基础上将PN信息添加在NM PDU中供ECU识别(当然这个说法忽略了大量细节,但就测试方案来说还可以接受)。如果被测ECU只包含1个通信端口(如1个CAN端口),我们采用的测试思路可以是:

图8 测试方案1

然而,当ECU的复杂性增加时,这种判断的方法就变得比较困难。比如某个ECU包含2个通信端口,触发某个事件后,其网络行为可能为:

图9 网络行为示例

这个情况在使用PN时更加常见,尤其是当这个ECU作为中央网关或将来的域控制器,需要将PN从一个网段路由到另一个网段。当然,对于单个部件的环境来说,这种行为还处于可控、有序的状态,如果放在系统级、实车环境中,先前的测试思路就会变得“一团乱麻”。

图10 网络行为示例2

因此必须要有新的思路和方法,北汇在长期工程实践中积累了特有的方案,借助于Vector公司的CANoe所提供灵活而强大的函数库,实现了对上述问题的“解耦”,从而解决这个“老大难”。如下为使用新方法,在CANoe环境下开发测试工程并自动生成的针对部件和系统级的测试报告。

图11 CANoe自动生成节点级PN测试报告示例

图12 CANoe自动化生成PN系统级测试报告示例

总结

网络管理是车载网络中非常重要也是比较复杂的内容,一方面它与功能有强相关性,不同的功能需求就可以有不同的网络行为,从而影响网络管理的状态;另一方面,网络管理本身强调逻辑,需提供足够的信息,实现与硬件接口间的交互;更困难的点在于网络管理涉及时序的控制,这就不可避免地与ECU的各种中断程序、各种随机事件耦合,会出现很多疑难杂症。

尤其是在系统层面,常会出现类似:A影响B,B影响C,C影响A,小问题累积成大问题,产生各种异常行为的情况。这也对测试规范的开发提出了更高的要求,即要验证逻辑又要覆盖场景。

随着以太网将成为主干网,随之SoA及网络动态配置应用,网络管理也将会迎来新的变化和调整。

仅以此篇文章投石问路,共同面对新的挑战。做好当下,即(不)是(畏)未来!

注:文中部分图片来源于AUTOSAR

参考文献

[1] AUTOSAR_SWS_CANNetworkManagement

[2] AUTOSAR_SWS_FlexRayNetworkManagement

[3] AUTOSAR_SWS_COMManager

作者:北汇信息-蒋露

----------------------------------------------------------------------------------------------------------------------


喜欢此篇文章的话欢迎一键三联支持小编吧~!

更多相关资讯及业务介绍,欢迎访问上海北汇信息官方网站:上海北汇信息科技有限公司
北汇官方知乎账号:北汇信息-知乎
更多技术干货,行业前沿动态,请关注上海北汇信息官方公众号:

联系方式:

电话:021-34716271
邮箱:info@polelink.com

北汇信息成立于2010年,是一家技术驱动的创新型服务企业。北汇信息始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。从测试工具、专用测试设备、完整测试方案到实车测试服务,我们与我们的客户一起努力,让中国的汽车变得越来越安全、越来越舒适、越来越智能。

AUTOSAR PN网络管理测试开发实践相关推荐

  1. “汽车人”眼中的网络安全---关于AUTOSAR E2E及测试开发实践

    1.前言 上篇文章"聊聊网络安全的5W1H"对网络安全知识体系和技术脉络做了深入浅出的介绍,提到AUTOSAR所定义的网络和通信安全相关的技术,本期我们将介绍其中的E2E策略(严格 ...

  2. 大数据上传-GB/T 32960测试开发实践

    文章目录 前言 GB/T 32960介绍 GB/T 32960测试开发 总结 参考文献 前言 数据时代,数据为王.车辆网联化为汽车数据时代提供技术支撑,更多的数据可被收集,但是哪些数据需要被收集,又如 ...

  3. 测试开发实践系列:为满足OTA及”大数据”更新的并行刷写和队列刷写分析

    随着车载以太网总线技术在车内广泛地应用,车辆网络架构也在逐渐发生变化,传统的分布式架构正在逐渐被域/区域控制器架构所取代.主干网通信带宽的大幅度提升,为新的软件更新方式提供了基础条件.车辆智能化.个性 ...

  4. 测试开发实践:网关路由功能及测试

    1.前言 当前,车内通信技术越来越负责,协议类型更加多样,不同总线及协议间的转换和路由等也更为复杂,网关作为通信枢纽的载体,其测试的复杂程度和重要性也越来越高.本文将分享网关路由测试开发过程中的经验和 ...

  5. FlexRay测试开发实践之诊断刷写

    前言 FlexRay总线目前主要应用在高端品牌车型(如宝马.奔驰.奥迪.沃尔沃.捷豹路虎.凯迪拉克等),在以太网技术没有成熟之前,也有部分OEM将其作为主干网应用. 相对于传统的CAN测试,FlexR ...

  6. DDS协议解读及测试开发实践

    DDS概述 DDS是OMG在2004年发布的中间件协议和应用程序接口(API)标准,它为分布式系统提供了低延迟.高可靠性.可扩展的通信架构标准.DDS目前在工业.医疗.交通.能源.国防领域都有广泛的应 ...

  7. 分享实录 | 单人开发场景下的测试环境实践

    在软件研发过程中,"测试环境"是部署最频繁.也是开发者使用最频繁的一种运行环境,稳定而易用的测试环境能够极大提高开发者的工作效率和幸福感.为更好的将阿里巴巴在测试环境管理方面的实践 ...

  8. 单人开发场景下的测试环境实践

    在软件研发过程中,"测试环境"是部署最频繁.也是开发者使用最频繁的一种运行环境,稳定而易用的测试环境能够极大提高开发者的工作效率和幸福感.为更好的将阿里巴巴在测试环境管理方面的实践 ...

  9. 【入门AUTOSAR网络管理测试】RMS-NOS状态转换

    系列文章目录 AUTOSAR网络管理测试系列文章目录汇总 文章目录 系列文章目录 前言 一.环境搭建 二.主动唤醒 1.测试方法 2.报文分析 前言 随着智能电动汽车行业的快速发展,目前AUTOSAR ...

最新文章

  1. 第一篇读书笔记,关于UML和模式应用(1)--书籍简介
  2. Google JAVA编程风格
  3. spring事务传播属性与隔离级别
  4. 编写一个可在android手机上运行的jar包
  5. VTK:Picking之HighlightPickedAct
  6. ios常用数据库、完美无缺
  7. android以view建坐标系,android自定义View——坐标系
  8. VS2015 scanf 函数报错 error C4996: 'scanf'
  9. Word文档输入网址自动换行的解决办法
  10. echarts使用复选框样式legend控制显隐
  11. html img 能显示psd吗_psd变成html
  12. Linux中断原理、上半部和下半部、硬中断和软中断
  13. 通过HbuilderX启动 微信开发者工具
  14. 网页回拨-Web CallBack
  15. win10激活出现错误0xc004C003
  16. iOS 应用内购买基础教程 swift篇
  17. 【个人整理】一文看尽目标检测算法SSD的核心架构与设计思想
  18. TCP/IP协议族之运输层协议 ( UDP, TCP)
  19. python 仪表盘监控_Python 全栈开发 -- 监控篇
  20. kali系统与xshell远程连接

热门文章

  1. 【论文阅读|深读】Role2Vec:Role-Based Graph Embeddings
  2. java ffmpeg添加视频水印
  3. linux制作windows光盘,Windows光盘制作U盘安装系统的方法
  4. 两道动态规划买股票的题
  5. linux 精简桌面,ubuntu 安装精简桌面
  6. 三四线城市如何把年轻人逼回北上广?
  7. Java将图片压缩质量后返回一个byte数组
  8. google地图比例尺和分辨率对照表
  9. 人大金仓KingbaseES V008R006产品手册【全】
  10. 印象笔记mac版 同步问题_想要多设备同步笔记?这6款云笔记软件了解一下