背景介绍“钉钉”这个词,做测试的老司机一定会吓虎一跳,但根据过去的经验,“网络管理”往往是引起钉钉的“钉钉”,所以对网络管理的验证是测试
国内的网管APP应用已经从早期的OSEK NM迁移到AUTOSAR NM,一些OEM使用了AUTOSAR NM的PN特性。 本文从纳米的概念用途、PN的实现方式、CANoe下实现PN网络管理测试思路几个方面进行介绍。
网络管理汽车的ECU是什么? 工作中需要通过网络与其他ECU进行数据交换,但不工作时需要处于低功耗状态,以将功耗降至最低。 例如:
拉动门把手准备使用车辆时,需要一个ECU在收到该信息后短时间内从低功耗状态转移到工作状态,迅速启动其他ECU,然后经过用户认证等功能使车辆正常使用
锁车离开后,相关ECU也需要判断该信息,决定车辆需要进入非工作状态,网络通信中断,ECU需要进入低功耗状态
上述工作周期可概括如下。
在图1网络周期的示例中,这种网络操作是通过网络管理来实现的。
PN网络管理PN(partialnetwork )即“本地网络”是什么? 将车辆网络分为若干规则(通常按功能划分,还分为不同的“局域网”) (与GM Global A体系结构中的Virtual Network相同),通过pn网络管理将其分为各种状态
为什么需要PN传统的网络管理采用了简单易懂的“醒来一起睡”方式,但在一些情况下,只有网段中有限的ECU参与工作,需要参与工作,而不是所有的ECU,需要额外的功耗
虽然ECU数量较少还可以接受,但随着ECU数量的增加,这个“浪费”问题变得更加突出。 (当然,也有通过设计不同的电源电路/模式来控制对ECU的供电等方案,但很难达到理想状态,也会增加其他问题。
PN旨在通过重新细分网络,在不同的场景中使不同的ECU处于工作状态,使无关的ECU处于低功耗状态,从而进一步降低功耗。
图2 PN网络示例NM PDU ECU请求网络以及接收到其他ECU的网络请求由网络管理协议数据单元(NMP du )实现。
以CAN网络为例,简单地说,如果ECU需要请求网络,则需要发送NM PDU; 如果不需要请求网络,请停止发送NM PDU。 其他ECU在接收到NM PDU时,认为要求了网络。 PN信息的发送接收也类似,但以信号的形式用NM PDU更新。
在AUTOSAR中,通常将8字节的数据分配给NM PDU,并包含源节点id、控制器和用户数据(cbv )。 其中User Data是用户自定义的内容,如果使用PN,则使用全部或部分User Data定义一组PN。
图3 NM PDU格式的CBV包含NM模块的一些控制信息,如果使用PN,则必须使用Partial Network Information Bit。
图4 CBV的内容除了上述用于CAN/CAN FD的NM PDU外,还支持FlexRay的PN网络管理。 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只有一个通信端口,例如只有一个CAN端口,则测试思路如下。
图8测试方案1但是,如果ECU的复杂性增加,这样的判断方法变得困难。 例如,一个ECU有两个通信端口,并且在一个事件发生之后,其网络操作可能如下。
图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年,是一家技术驱动的创新型服务企业。北汇信息始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案。从测试工具、专用测试设备、完整测试方案到实车测试服务,我们与我们的客户一起努力,让中国的汽车变得越来越安全、越来越舒适、越来越智能。