• UDPNM测试技术分享


    汽车上的ECU节点千千万万,不可能点火时都开始工作,为了更好利用整车能源,NM网络管理应运而生。

    NM(Network Management)网络管理

    主要用于当车辆处于电源模式OFF时,让网络中的ECU(Electrical Control Unit)节点进行有序的睡眠与唤醒,尽可能的避免出现由于ECU长时间耗电,导致蓄电池电量不足,车辆无法正常启动的情况。

    汽车上的NM方式主要有两种:OSEK NM与AUTOSAR NM。而AUTOSAR NM包含CANNM(CAN的网络管理)、UDPNM(Ethernet的网络管理)等等。今天小怿与大家一起聊聊UDPNM的测试方案。

    UDPNM目前主要测试内容:网络管理报文数据格式测试、状态机跳转测试、时间参数测试,因此我们主要针对这几块内容进行阐述。

    UDPNM网络管理报文数据格式

    UDPNM报文数据及格式内容定义如下所示:

    图 1 NM报文PDU数据场格式

    其中针对CBV(Control Bit Vector)的bit定义如下:

    图 2 CBV的bit字节信息

    PNI:0表示NM PDU不包含PN请求信息,1表示NM PDU包含PN请求信息;

    AWB:0表示节点未唤醒网络,1表示节点唤醒网络;

    CSR:0表示主协调者未请求同步关闭网络,1表示主协调者请求同步关闭网络;

    RMR:0表示未请求RMS的状态,1表示请求RMS的状态。

    UDPNM的状态机跳转机制

    UDPNM主要有三个模式:Network Mode(正常工作模式)、Prepare Bus-Sleep Mode(准备睡眠模式)与Bus-Sleep Mode(睡眠模式)。其中Network Mode中又包含Repeat Message State(重发报文状态)、Normal Operation State(正常运行模式)与Ready Sleep State(预睡眠模式)。具体的状态机的跳转如下图所示,ECU通过自身状态与总线上信息获取从而进行网络状态切换:

    图 3 UDP NM状态机跳转图

    UDPNM时间参数

    时间参数在状态机切换时具有约束的作用,如要求ECU内部状态从Sleep Mode切换到Network Node的时间必须在多久时间内完成等等。针对UDPNM中重要时间参数整理如下:

    表1 时间参数列表

    参数

    作用

    T_REPEAT_MESSAGE  

    节点在重复报文状态(Repeat Message State)中持续的时间。

    T_NM_TIMEOUT

    节点进入网络模式(Network Mode)后,即开启该定时器。在准备睡眠状态 (Ready Sleep State)中, 该定时器溢出后,节点进入准备总线睡眠模式(Prepare Bus Sleep Mode)。

    T_WAIT_BUS_SLEEP

    该定时器的作用是确保所有的节点都有时间停止其网络活动。

    T_START_NM_TX

    该参数定义了节点从准备总线睡眠模式 (Prepare Bus Sleep Mode)、 常规运行状态 (Normal Operation State)或准备睡眠状态(Ready Sleep State)进入重复报文状态(Repeat Message State), 到发出第一帧网络管理报文的最大允许时间间隔。

    T_START_App_TX

    在成功发送出第一帧网络管理报文后, 节点应发送出应用报文的最大时间间隔。

    T_NM_ImmediateCycleTime

    节点启动快速发送机制时, 需以此参数作为网络管理报文的发送周期。

    T_NM_MessageCycleTime

    在网络模式(Network Mode)( 除去准备睡眠状态) 中, 节点应以此参数作为网络管理报文的发送周期。

    T_WakeUp

    节点从总线睡眠模式(Bus Sleep Mode)转换至重复报文状态(Repeat Message State)并发送第一帧网络管理报文的时间间隔。

    N_ImmediateNM_TIMES

    当节点处于重复报文状态并启用快速发送机制时, 节点使用T_NM_ImmediateCycleTime 为周期发送网络管理报文的数量。

    PNC(Partial Network Cluster)应用

    PN(Partial Network)即“局部网络”,一般OEM依据自身功能类型将车载网络进一步划分为不同的“局域网”(类似于VLAN的技术),从而实现各种状态的控制。它通过CBV上的PNI位从而控制ECU整体的PNC的状态,当PNI位置1时,PNC位的置位信息才有效,反之则无效。

    一般OEM会将NM PDUpayload中byte 2~byte n进行PNC状态的设置,一个PNC状态占一个bit。当PNI位置1时,通过设置NM PDU上其余的byte中的PNC位状态从而实现ECU不同功能模块对应报文发送的控制。

    以上是针对UDPNM的测试内容的介绍,下面详细聊聊UDPNM的测试方案。

    UDPNM测试方案

    目前怿星科技采用怿星自研便携式测试机柜进行环境搭建,该测试机柜包含4路100BASE-T1/1000BASE-T1、2路10/100/1000BASE-T(X)和1路CAN(FD)通道,通过USB或以太网(RJ45)连接,从而实现对以太网通信报文的分析、仿真、测试、验证的功能。软件则是CANoe pro(带option Ethernet)。

    目前测试环境如下图所示:

    图 4 UDPNM测试环境

    测试内容依据前文阐述信息可分为NM报文格式、网络管理状态机测试、UDPNM时间参数测试三个部分。

    其中NM报文格式的测试主要是依据UDPNM报文中PDU数据内容以及CBV的格式测试。例如源地址信息、未使用字节、PNI位等等相关信息的测试。

    而网络管理状态机测试主要是依据ECU在RMS、NOS、RSS、PBSM、BSM这五种状态下的报文内容以及对应表现状态下的测试。例如:

    1) 验证ECU模式切换时的时间是否符合要求如:从BSM到RMS状态下的时间测试等等;

    2) 验证ECU在BSM模式等状态下运行的状态是否符合要求;

    3) 验证ECU模式切换时的UDPNM数据内容是否符合要求等等。

    最后,针对时间参数的测试主要是测试UDPNM状态的维持时间、超时时间与切换时间等等。

    针对上述测试要求出简要的测试用例如下表所示:

    表2 UDPNM测试用例简要信息

    测试组

    测试用例

    NM报文格式测试 

    [TG1_TC1]源标识测试

    [TG1_TC2]未使用的用户字节数测试

    ......

    ......

    网络管理状态机测试

    [TG2_TC1]BSM状态机测试

    [TG2_TC2]BSM状态到RMS状态

    ......

    ......

    时间参数测试

    [TG3_TC1]UDPNM NM timeout时间测试

    [TG3_TC2]UDPNM Repeat Message时间测试

    ......

    ......

    以上就是今天给大家分享的全部内容了,相信随着汽车电子技术的不断迭代,UDPNM在汽车电子架构中会越来越普及,PNC技术也会在UDPNM中得到更多的运用。关于此块的内容,如果你还有任何疑问,欢迎随时联系我们!

  • 相关阅读:
    前端图片转成base64
    ISO16000-9建筑产品和家具中挥发性有机物的测试
    Vue 计算属性
    CISSP学习笔记:灾难恢复计划
    区分stable diffusion中的通道数与张量维度
    xml的介绍、xml的示例文件、xml语法介绍
    nginx限流 漏桶与令牌桶
    Spring framework Day21:Spring AOP 注解结合配置类示例
    使用chat-GPT接口提取合同中关键信息
    内网隧道代理技术(二十三)之 DNS隧道反弹Shell
  • 原文地址:https://blog.csdn.net/m0_47334080/article/details/126060727