【CAN总线测试】——CAN交互层测试

news2024/11/14 1:21:59

 
 


从0开始学习CANoe使用 
从0开始学习车载测试
相信时间的力量 
星光不负赶路者,时光不负有心人。


目录

1.应用报文发送检查

2.周期型报文测试

3.信号使用位与未使用位默认值检查

4.突增负载测试

5.CheckSum测试

6.RollongCounter测试


1.应用报文发送检查

用例编号

TG3_TC1

测试目的

验证DUT上电唤醒后自动发送所有的周期型报文或者周期型应用报文

测试工具

1.稳压电源

2.CANoe

3.计算机

测试步骤 

编号

测试步骤

期待结果

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

检查DUT上电后自动发送的所有周期型或者事件周期型应用报文

DUT上电后自动发送所有的周期型或事件周期型应用报文

2.周期型报文测试

用例编号

TG3_TC2

测试目的

检查DUT外发报文周期是否与定义一致

测试工具

1.稳压电源

2.CANoe

3.计算机

测试步骤 

编号

测试步骤

期待结果

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

使用CANoe记录DUT外发报文,观察超出1min以上;

/

3

观察报文的实时周期是否与CAN通信矩阵定义一致

(根据矩阵定义来指定预期结果值)

3.信号使用位与未使用位默认值检查

用例编号

TG3_TC3

测试目的

检查DUT外发报文使用位与未使用位默认值是否符合定义

测试工具

1.稳压电源

2.CANoe

3.计算机

测试步骤 

编号

测试步骤

期待结果

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

使用CANoe记录DUT外发报文,观察超出1min以上;

/

3

观察DUT外发报文的使用位与通讯矩阵默认值定义是否一致

与通讯矩阵定义一致

观察DUT外发报文的未使用位与通讯矩阵默认值定义是否一致

与通讯矩阵定义一致

4.突增负载测试

用例编号

TG3_TC4

测试目的

检查DUT在低优先级和高优先级报文干扰总线时,DUT的通信状态

测试工具

1.稳压电源

2.CANoe

3.计算机

测试步骤 

编号

测试步骤

期待结果

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

使用CANoe仿真并密集发送低优先级报文,使总线负载达到50%、60% 、70%、80%、90%、100%,每种状态持续1min、监控并记录DUT通信状态。

DUT外发报文正常,周期正常

3

关闭掉低优先级仿真报文,CANoe仿真并密集发送高优先级报文使总线负载达到50%、60% 、70%、80%、90%、100%,每种状态持续1min、监控并记录DUT通信状态。

DUT外发报文正常,周期正常

5.CheckSum测试

用例编号

TG3_TC5

测试目的

检查DUT外发报文的CheckSum算法是否符合规范要求

测试工具

1.稳压电源

2.CANoe

3.计算机

测试步骤 

编号

测试步骤

期待结果

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

检查DUT外发报文根据算法计算Checksum

/

3

将计算的CheckSum和报文中的CheckSum信号对比

两者一致

6.RollongCounter测试

用例编号

TG3_TC6

测试目的

检查DUT外发报文的RollongCounter算法是否符合规范要求

测试工具

1.稳压电源

2.CANoe

3.计算机

测试步骤 

编号

测试步骤

期待结果

SUB CASE1:

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

检查并记录DUT外发的RollongCounter,观察其计数规则是否符合通信要求

符合通信要求

SUB CASE 2:

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

使用 CANstress 干扰 DUT,使之进入 busoff;

进入bussoff

3

检测 DUT 报文中 Counter 的在 busoff 前后的计数规则是否符合通信规范要求; (比如有些需求要求busoff恢复后,从0开始重新计数,有些需求要求busoff恢复后,接着之前的计数继续进行)

符合通信要求

SUB CASE 3:

1

设置DUT供电电压Vbat设置为Vnomal,唤醒DUT,等待DUT稳定通信;

DUT上电正常,DUT上电正常

2

检测 DUT 发送的报文并记录 RollingCounter;

规则是否符合通信规范要求

/

3

DUT 掉电,等待 5s 后重新上电;

/

4

检验报文中 Counter 的在上下电前后的计数

符合通信要求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四种常见的云攻击及其应对措施

随着云应用的快速发展,也吸引了众多潜在恶意人士的觊觎。企业用户往往习惯于使用联盟或VPN进行直接连接或通过合作伙伴进行连接。 现在,另一个能够攻击者提供访问级别的攻击媒介竟然是云服务供应商(CSP),这在以往是前所未有的。违规CSP有可能…

秒懂C++之set、map的封装

目录 红黑树的泛型编程 改变比较方式:仿函数 迭代器模拟实现 运算符重载 begin/end !/运算符重载 测试 const Find [ ] 运算符重载 全部代码 RBTree.h Mymap.h Myset.h test.cpp 红黑树的泛型编程 既然我们要实现set,map的封装那肯定要用到我们前面所学…

LLaMa系列模型详解(原理介绍、代码解读):LLaMa_llama模型

LLaMA详解 LLaMA(Large Language Model Meta AI)是由Meta(前身为Facebook)开发的一种大规模语言模型,旨在提高自然语言处理(NLP)任务的性能。LLaMA基于变换器(Transformer&#xff…

只需5分钟!手把手教你安装StableDiffusion,开启AI图像生成新纪元

在这个数字化时代,人工智能(AI)技术已经深入到我们生活的每一个角落。 特别是在图像生成领域,AI技术的应用不仅极大地提高了创作效率,更开启了艺术创作的新纪元。 今天,我们将聚焦于StableDiffusion这一先…

【数据结构】关于二叉搜索树,你知道如何实现增删模拟吗???(超详解)

前言: 🌟🌟Hello家人们,这期讲解二叉搜索树内部实现基础功能模拟,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/rfYFW 🌈感兴趣的小伙伴看一看小编主页&#xff1a…

从需求到交付:动态敏捷如何确保每一行代码都物超所值

动态敏捷方法论在软件开发中的应用 在当今快速变化的商业环境中,软件开发团队面临着不断变化的需求和市场挑战。传统的瀑布式开发模型已无法满足现代软件开发的灵活性和响应速度需求。动态敏捷(Dynamic Agility)作为一种新兴的开发方法论&…

introsort的快排跑排序OJ代码

introsort的快排跑排序OJ代码 introsort是introspective sort采⽤了缩写,他的名字其实表达了他的实现思路,他的思路就是进⾏⾃ 我侦测和反省,快排递归深度太深(sgi stl中使⽤的是深度为2倍排序元素数量的对数值)那就说…

《黑神话:悟空》在未来市场的应用与代码案例分析

作者主页: 知孤云出岫 目录 作者主页:**《黑神话:悟空》在未来市场的应用与代码案例分析****一、引言****二、市场应用场景分析****1. 数据驱动的市场决策****2. 游戏内经济系统的智能优化****3. 个性化推荐系统与用户体验提升** **三、市场推广与用户扩展策略***…

十一:C语言-操作符详解

1.了解二进制 其实二进制;八进制;十进制和十六进制都是数值的不同表示形式而已 二进制:基数为2,由0和1两个数字组成,逢2进1。八进制:基数为8,由0~7八个数字组成,逢8进1。十进制&am…

猫头虎 分享:Python库 SymPy 的简介、安装、用法详解入门教程 ‍

猫头虎 分享:Python库 SymPy 的简介、安装、用法详解入门教程 🐱‍👤 今天猫头虎带您 深入了解 Python库 SymPy,这是一个强大且广泛应用于符号数学计算的库。最近有粉丝问猫哥:如何利用 SymPy 进行数学公式的符号化处…

【Maps JavaScript API】基础地图的创建与实现详解

文章目录 一、概述1. Google Maps JavaScript API 简介2. Simple Map 示例概述 二、创建一个基础地图1. 引入 Google Maps JavaScript API2. 初始化地图(1) 定义地图的 HTML 容器(2) 编写 JavaScript 代码初始化地图 3. 将地图集成到网页中 三、代码分析与关键点1. 地图中心点的…

32 增加系统调用(1)

系统调用在 数据手册中的描述 这是在 GDT 中的描述符 这个系统调用 segment selector 指向的时 内核的代码段。因为系统调用需要的权限比较高。 offset 指的时 在内核代码中的具体的函数的地址。

SQL Server 查询语句中,对索引列做CONVERT的影响

通常,在做SQL Server查询语句优化的时候,如果发现语句对索引列做了函数计算,都会建议改写,将计算的逻辑转移到筛选条件列上。但这种对索引列的计算,有时却会带来一些额外的好处。请看以下的例子: --测试数…

【Linux开发板pip安装库时报错解决】Error 28:No space left on device报错需要更换库的安装路径

之前在Linux开发板上尝试运行pytorch框架,但是需要安装torch和torchvision的库,很奇怪的是我按照之前pip3 install torch -i http://pypi.douban.com/simple --trusted-host pypi.douban.com的安装方式却出现了以下的报错: 系统报错提示说No …

R 语言学习教程,从入门到精通,R 绘图饼图(23)

1、R 绘图 条形图 条形图,也称为柱状图条形图,是一种以长方形的长度为变量的统计图表。 条形图可以是水平或垂直的,每个长方形可以有不同的颜色。 R 语言使用 barplot() 函数来创建条形图,格式如下: barplot(H,xlab,…

FastAPI+React18开发通用后台管理系统用户功能实战

最近开发了一个React18的后台管理系统,登录界面如下: 如果登录成功了则提示并跳转到首页: 点击注销按钮则提示退出系统成功: 没有登录就访问首页则提示请先登录。 这些功能是怎么实现的呢? 先看看登录功能使用…

JNA实践之Java模拟C结构体、结构体指针、结构体数组

目录 1 JNA模拟C结构体1.1 结构体本身作参数1.2 结构体指针作参数1.3 结构体内部嵌套结构体(结构体本身作参数)1.4 结构体指针作参数 2 结构体中嵌套结构体数组2.1 用作输入2.2 用作输出 3 结构体数组作参数典型错误1--内存不连续典型错误2--误用ByValue 4 Java映射C中char[]类…

scrapy--json结构数据-存储

免责声明:本文仅做演示与分享... 目录 基于命令存储的解析方法: settings.py blibli.py 基于管道存储的解析方法: 1-在爬虫文件中进行数据解析 2-在items.py定义相关属性 3-在 爬虫文件中 把 解析的数据存储封装到item类型对象中 4-把item类型对象提交给管道 5-在管道文件中…

软件设计之MySQL(6)

软件设计之MySQL(6) 此篇应在JavaSE之后进行学习: 路线图推荐: 【Java学习路线-极速版】【Java架构师技术图谱】 Navicat可以在软件管家下载 使用navicat连接mysql数据库创建数据库、表、转储sql文件,导入sql数据 MySQL数据库入门到大牛,my…

【吊打面试官系列-Memcached面试题】memcached 能接受的 key 的最大长度是多少?

大家好,我是锋哥。今天分享关于 【memcached 能接受的 key 的最大长度是多少?】面试题,希望对大家有帮助; memcached 能接受的 key 的最大长度是多少? key 的最大长度是 250 个字符。需要注意的是,250 是 m…