1.背景知识

最近入职某公司后,公司需要开发OSEK NM,由于没有购买成熟的商业软件,需要自己开发,我通过网路找到某开源代码进行移植实现后,对功能测试case进行记录。

需要相关咨询的,可以联系我。E-mail:gsh1992@qq.com

某项目网络管理报文CAN ID 0x500~0x57F

CAN ID

CAN Data

0x05

SA

DA

CF

Data

Data

Data

Data

Data

Data

表1. 网络管理报文帧格式

2.测试结构

Note:

  1. ECU1,ECU3是仿真节点,ECU2是真实节点。

  2. 上位机模拟2个ECU(ECU1,ECU3)和真实ECU(ECU2)进行通信交互,实现测试方案所需流程。

2.1 相关网络参数

CAN波特率:500kbps

ECU Num

CAN ID (offset+SA)

ECU1

0x541

ECU2

0x54C

ECU3

0x54F

表2 ECU CAN ID

2.2 报文类型

Alive报文

541    41 01 00 00 00 00 00 00

54C    4c 01 00 00 00 00 00 00

54F    4F 01 00 00 00 00 00 00

Ring SI=0

541    4c 02 00 00 00 00 00 00

54C    4f 02 00 00 00 00 00 00

54F    41 02 00 00 00 00 00 00

Goto sleep  ring SI=1

541    4c 12 00 00 00 00 00 00

54C    4f 12 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

Ring SI=1 SA=1

541    4c 32 00 00 00 00 00 00

3.测试方案

3.1.ECU上电建立Ring

step0:每个ECU自动发出Alive上线报文,SA=DA=Self

541    41 01 00 00 00 00 00 00

54C    4c 01 00 00 00 00 00 00

54F    4F 01 00 00 00 00 00 00

Delay Ttyp(100ms)

step1:ECU根据Alive报文,正确发出Ring报文。

541    4c 02 00 00 00 00 00 00

54C    4f 02 00 00 00 00 00 00

54F    41 02 00 00 00 00 00 00

step2:ECU1 发出应用报文

3.2 网络关闭

step0:发出KL15关闭。Ring报文建立。Delay(1.2*tSleepRequestMin_N).

step1:ECU0不满足睡眠条件,ECU1,ECU2满足睡眠条件。网管报文持续发出。

541    4c 02 00 00 00 00 00 00

54C    4f 12 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

step2:ECU0,ECU1,ECU2满足睡眠条件。

541    4c 12 00 00 00 00 00 00

54C    4f 12 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

step3:ECU0确认睡眠条件

541    4c 32 00 00 00 00 00 00

step4:所有报文停止发送,ECU进入休眠状态。

3.3 单节点上电进入LimpHome模式

详细参见海马 网络管理设计规范 图7。

3.4 时间参数测试

3.4.1 ECU上电时间参数

  • 上电200ms内发出alive报文

    • 实测值:500ms

  • 后续80毫秒内发出应用报文

    • 实测值:20ms

3.4.2 Ttyp

  • 2个Ring报文之间的时间间隔

  • 典型值-100ms

    • Min-70ms

    • Max-110ms

  • 测试步骤

    • step0: 建立Ring报文

541    41 01 00 00 00 00 00 00

54C    4c 01 00 00 00 00 00 00   该报文和上一个报文的间隔时间 T1

54F    4F 01 00 00 00 00 00 00

  • step 1 循环100次Ring报文,测试T1是否在范围内。

3.4.3 Tmax

  • 2个Ring报文之间的最大时间间隔。

  • 典型值 260ms

    • 最小值 220ms

    • 最大值 284ms

  • 测试步骤

    • step0:建立Ring报文

541    41 01 00 00 00 00 00 00

54C    4c 01 00 00 00 00 00 00

54F    4F 01 00 00 00 00 00 00

  • step1: Delay 1.2*Tmax

  • step2: expected: ECU2 into NmReset and re-send alive message.

3.4.4 Terror

  • 2个LimpHome报文之间的最大时间间隔。

  • 典型值 1000ms

    • 最小值 950ms

    • 最大值 1050ms

  • 测试步骤

    • step0:单节点上电进入LimpHome模式

    • step1: 查看LimpHome报文发送间隔时间。

3.4.5 Twbs

  • 从睡眠请求接收到进入睡眠模式的时间。

  • 典型值 1500ms

  • 测试步骤

  • step0:Ring报文建立。发出KL15关闭。

  • step1:ECU1,ECU3根据时间响应SI = 1;

  • step2: SA=1发出,计算从SA=1,到最后一个应用报文终止的时间。

3.4.6 tSleepRequestMin_N

  • 进入Normal状态后请求睡眠的最短时间。

    • 典型值 5000ms

    • 最小值 4000ms

    • 最大值 6000ms

  • 测试步骤

    • step0:Ring报文建立。发出KL15关闭。

      • step1:立刻触发SI=0网管报文持续发出。

541    4c 12 00 00 00 00 00 00

54C    4f 02 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

  • step2:ECU0,ECU1,ECU2满足睡眠条件。

541    4c 12 00 00 00 00 00 00

54C    4f 12 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

  • step3:ECU0确认睡眠条件

541    4c 32 00 00 00 00 00 00

  • step4:所有报文停止发送,ECU进入休眠状态。计算从KL5发出到SA=1的时间。

3.4.7 tsleepRequestMin_L

  • 进入LimpHome状态后请求睡眠的最短时间。

    • 典型值 5000ms

    • 最小值 4000ms

    • 最大值 6000ms

  • 测试步骤

    • step0:单节点上电,进入LimpHome模式。发出KL15关闭报文。

      • step1:立刻触发SI=0网管报文持续发出。

541    4c 12 00 00 00 00 00 00

54C    4f 02 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

  • step2:ECU0,ECU1,ECU2满足睡眠条件。

541    4c 12 00 00 00 00 00 00

54C    4f 12 00 00 00 00 00 00

54F    41 12 00 00 00 00 00 00

  • step3:ECU0确认睡眠条件

541    4c 32 00 00 00 00 00 00

  • step4:所有报文停止发送,ECU进入休眠状态。计算从KL5发出到SA=1的时间。

3.5 异常Ring报文干扰

  • 测试目的

测试DUT连续接收到Ring报文后(指向自身地址或非自身地址)的行为是否满足NM标准的要求。

  • 评价标准

DUT未发送指向后继节点的Ring报文前又接收到一帧Ring报文(指向自身地址),DUT将以第二帧Ring报文为准,TTyp时间后发送指向后继节点的Ring报文。

  • 测试步骤

    • step0 : 发送alive报文

    • step1 :ECU1发出Ring报文

    • step2:间隔0.5*Ttyp时间,ECU1重新发送Ring报文。

    • step3:

      • ecpecte:ECU2可以再TTyp时间后发出Ring报文。

3.6 节点Skip功能测试

根据OsekVDX NM 2.5.2规范,节点需要具有监测自身是否被跳过的能力,如果检测到被跳过,则重新发送alive报文,申请加入。过程如下图:

  • 测试步骤:

    • step0: 建立Ring环。

    • step1:ECU1发送异常Ring报文,目的地址指向ECU3,ECU2被跳过。

    • step2:等待ECU2重新发出Alive报文。

4.测试结果

ID

Test Case

Test Result

Note

3.1

ECU上电建立Ring

Test Pssed

3.2

网络关闭

Test Pssed

3.3

单节点上电进入LimpHome

Test Pssed

3.4.1

ECU上电时间参数

Failed

3.4.2

Ttyp时间参数

Test Pssed

3.4.3

Tmax时间参数

Test Pssed

3.4.4

Terror时间参数

Test Pssed

3.4.5

Twbs时间参数

Test Pssed

3.4.6

tSleepRequestMin_N时间参数

Test Pssed

3.4.7

tSleepRequestMin_L时间参数

Test Pssed

3.5

异常Ring报文干扰

Test Pssed

3.6

节点Skip功能测试

Test Pssed

Note:

1.测试结果:Test Pssed  Not Test   Failed

OSEK NM 功能测试相关推荐

  1. Canoe-OSEK网络管理自动化测试脚本CAPL 这适用于主流osek nm的测试用例

    Canoe-OSEK网络管理自动化测试脚本CAPL 这适用于主流osek nm的测试用例 1.启动程序 2.加载配置文件 3.选择帧类型(标准帧或扩展帧) 4.修改配置文件,自动弹出配置文件窗口 5. ...

  2. 汽车零部件开发工具巨头V公司全套OSEK NM协议栈源代码及配置功能,完成集成即可使用,代码稳定高效,大厂出品有量产保证

    汽车零部件开发工具巨头V公司全套OSEK NM协议栈源代码及配置功能,完成集成即可使用,代码稳定高效,大厂出品有量产保证. :5418000617636805182darcy169

  3. CANalyzer及CANOE使用四:调用DLL实现UDS_TP/NM(OSEK/Autosar)或安全算法解锁功能

    前言 一.封装dll,调用dll解锁 二.capl写解锁函数 三.CDD加载dll解锁 四.调用DLL实现UDS_TP/NM功能 五.总结 ---------------- 前言 请输入公众号:总线网 ...

  4. 汽车行业中的AUTOSAR与OSEK到底是什么,有什么区别

    最近开始接触汽车电子及汽车行业,对其中两个概念有点混淆,特此拿来对比一下. 一.AUTOSAR 现在的汽车正向着更高的安全性.经济环保性.舒适性.便捷性发展,从而为汽车电子系统带来了前所未有的复杂性, ...

  5. AUTOSAR-RS-BSWAndRTEFeatures(中文版)

    文件标题 BSW结构和RTE的特征规范 文件拥有者 AUTOSAR 文件责任 AUTOSAR 文件识别码 294 文件类别 附属的 文件版本 1.1.0 文件状态 最终版本 发布的部分 4.0 修订版 ...

  6. ComM(通信管理)和CanNm(network)

    1      网络管理组成部分 网络管理部分由通信管理器(简称ComM),通用网络管理器接口(简称NmIf),总线相关的网络管理器(简称NM,包括CanNM,LinNM,FrNM),总线相关的状态管理 ...

  7. 诊断(UDS)协议栈设计-总体架构设计

    1 概述 车辆总线协议(VBP)组件是指符合ISO14229-1.ISO15765-3.ISO15765-2等一系列汽车标准协议的集合,并支持OSEK NM.AUTOSAR NM等网络管理协议. 诊断 ...

  8. 搞一下新架构下的软件技术 | 12 汽车电子软件的过去与未来

    前言 搞一下新架构下的软件技术系列会从高层软件架构出发,从宏观的软件技术运用开始,逐步展开每个方面的软件技术细节,为读者朋友们提供学习软件相关技术的平台.全系将涵盖软件架构设计,服务应用设计,中间件技 ...

  9. matlab里的xcp报文,xcp协议报文解析

    AAddddiittiioonnaall ssooffttwwaarree XCP ((sseerrvviicceess)) ttoo bbee iinntteeggrraatteedd iinn t ...

  10. 【AUTOSAR】01-汽车电子控制系统介绍

    [AUTOSAR]01-汽车电子控制系统介绍 1 电子技术在汽车上的应用 1.1 动力传动总成电子系统 1.1.1 传统汽车 1.1.2 新能源汽车 1.2 底盘电子系统 1.3 车身电子系统 1.4 ...

最新文章

  1. 2013年阿里巴巴暑期实习招聘笔试题目(转)
  2. [Spring 深度解析]第1章 Java基础
  3. Leetcode 905. 按奇偶排序数组
  4. The Security Learning
  5. 英语作业介绍一项发明计算机,介绍电脑的发明的英语作文
  6. Android特效 五种Toast具体解释
  7. CygWin遇到WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法
  8. python实现前向匹配中查找最大长度的最高重复模式的子字符串
  9. 统一软件开发过程(RUP)的概念和方法
  10. 精品软件 推荐 Bootice(引导扇区维护工具)
  11. 小王子星球调色Web版 - the little prince
  12. 一个野生程序员的真实自述:我是如何从数学专业学渣入坑程序员的
  13. linux vi编译显示行号,Linux系统vi或者vim编辑器中如何显示行号
  14. 云开发平台开源应用中心一次体验
  15. python识别中文验证码_Python实现验证码识别
  16. 校园招聘可以报考哪些岗位?
  17. 【直播预告】流行度偏差如何利用?探索解耦域适应无偏召回模型
  18. 兔云资讯_游戏研发工程师面试更新_20200801
  19. Generating Event Causality Hypotheses through Semantic Relation
  20. 什么平台制作表单工具效率高?

热门文章

  1. JAVA控制stl文件导出图片_stl2png: 将PRO/E等3D建模工具生成的STL格式的模型文件生成缩略图的工具。特别适合体积较大的STL文件。...
  2. 几何实体图形保存成stl格式的ascII和二进制文。用Vc++语言读入文件,给三角网格坐标值乘以2,并保存到另一stl文件。输出完成工作所用的执行时间
  3. Postman下载与安装操作步骤(只有两步骤下载)
  4. 动态交叉表(永洪bi)
  5. Java定时任务调度框架
  6. 使用 MQL5 绘制阻力和支撑级别
  7. mega linux教程,MegaRAID工具使用详解
  8. 实现微信聊天机器人-初级篇
  9. 基于.Net C# 通信开发-网络调试助手
  10. jQuery treeTable