CAPL硬件控制课程,物理故障注入自动化以及程控电源

news2024/11/27 6:37:35

📙 CAN/LIN总线物理故障注入,自动化解决方案

  • 车载网络通讯的健壮性和故障恢复能力至关重要,所以我们需要对控制器进行各种物理容错测试,常规情况下我们需要注入如下8种物理故障注入:CANH断路,CANL断路,CANH-CANL短路,CANH和KL30短路,CANH和GND短路,KL30断路,GND断路,KL15断路。业内多采用Vector的集成解决方案,如VH1160等,但是成本需要2万块,成本太高,这里我选了一款低成本的8通道的程控继电器,通过合理的连接线,配合CAPL脚本,可以实现故障的自动化注入。

  • 下图是解决方案部分原理图,通过合理的连线,实现对CAN、LIN总线实现多达8种不同的硬件故障注入

  • 选型的继电器是程控的,这样我们就能实现自动化的故障注入
    在这里插入图片描述

  • 这里我写个一个Demo工程,下图是CAPLpannel设计,可以通过Panel手动故障注入,通道1-8在这里插入代码片分别对应不同的功能,具体的含义在CAPL脚本有定义。

在这里插入图片描述

  • 而且我已经封装好了接口函数,在测试节点中,只需要调用接口函数就可实现不同的故障注入
  • 下面代码是部分 CAPL脚本代码
 //智能控制板的通道定义
  enum ControlType 
  {   
        CH1_CANH_Break      = 1,           //CANH 断路
        CH2_CANL_Break      = 2,           //CANL断路
        CH3_CANH_CANL_Short = 3,           //CANH-CANL短路
        CH4_CANH_KL30_Short = 4,           //CANH-KL30短路
        CH5_KL30_Break      = 5,           //KL30断路
        CH6_GND_Break       = 6,           //GND断路
        CH7_KL15_Break      = 7,            //KL15断路
        CH8_CANH_GND_Short  = 8            //CANH-GND短路
  };

  
  //智能控制板的LIN总线通道定义
  enum ControlType_LIN 
  {   
        CH1_LIN_Break         = 1,           //LIN 断路
        CH2_GND_Break         = 2,           //GND 断路
        CH3_LIN_GND_Short     = 3,           //LIN-GND短路
        CH4_LIN_KL30_Short    = 4,           //LIN-KL30短路
        CH5_KL30_Break_LIN    = 5,           //KL30断路
        CH6_GND_Break_LIN     = 6,           //GND断路
        CH7_KL15_Break_LIN    = 7,           //KL15断路
        CH8_LIN_GND_Short     = 8            //LIN-GND短路
  };
  • 最重要的是,这套解决方案,硬件成本只需要 <50 ¥,真正的低成本解决大问题

📙 低成本,且高可用的程控电源解决方案

  • 车载测试中自动化测试,必不可少的需要程控电源,贵的成千上万,出于成本控制,这里我选型了一款低成本的程控电源,网上价格不到300 ¥,我写好了一套程控脚本,可以直接移植性到你的项目中

  • 下图是CAPLpannel设计,可以通过Panel手动读取设置电压电流等参数

  • 当然,自动话测试,我肯定已经封装好了接口函数,在测试节点中,只需要调用相关接口函数即可实现读取设置电压电流

在这里插入图片描述

在这里插入图片描述

📙 总结

  • 这两套方案都是网络测试中,必不可少的,行业内的朋友都明白,这两套解决方案,商业采购的话软硬件成本少的几千块,贵的几万块
  • 如果你现在有这方面的需求,想以低成本的快速搭建测试环境,请联系我,程控继电器:299¥/人 ;程控电源:299¥/人();打包订购499¥/人;(硬件都需自己购买,我会指导购买网址)
  • 购买本课程的同学,博主将会集中授课2小时,帮助你理解代码并调试通过,可用。上课时间为每周末 9:30 - 11:30

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

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

相关文章

Redux的基础操作和思想

什么是Redux? Redux是JavaScript应用的状态容器&#xff0c;提供可预测的状态管理! Redux除了和React一起用外&#xff0c;还支持其它框架;它体小精悍(只有2kB&#xff0c; 包括依赖)&#xff0c;却有很强大的插件扩展生态! Redux提供的模式和工具使您更容易理解应用程序中的…

管理类联考——英语——趣味篇——完型填空

完型填空解题秘籍 一、答案分配规律 历年完型答案统计 A B C D 2010 DCBAA/BDCBA/CDDAC/BDCAB 5 5 5 5 2011 ACBDD/BACCB/DBACA/ADACD 6 4 5 5 2012 BBAAC/DAACB/DBCDD/ACCBD 5 5 5 5 2013 ADBDC/BBDBA/ADCCC/CABAD 5 5 5 5 2014 BACAD/ACCDB/ABCDB/DADCB 5 5 5 5 2015 CDC…

leetcode199. 二叉树的右视图(java)

二叉树的右视图 leetcode199. 二叉树的右视图题目描述 广度优先遍历二叉树专题 leetcode199. 二叉树的右视图 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/binary-tree-right-side-view 题目描述 给定一个二叉树的 根…

Python之del析构方法_、call__方法、方法没有重载

一、__del__方法(析构函数)和垃圾回收机制 __del__()称为“析构方法”&#xff0c;用于实现对象被销毁时所需的操作。比如&#xff1a;释放对象占用的资源&#xff0c;例如&#xff1a;打开的文件资源、网络连接等。 Python实现自动的垃圾回收&#xff0c;当对象没有被引用时&…

【AUTOSAR】UDS协议的代码分析与解读(四)----UDS 否定应答服务

6 全局信号需求 一些用于诊断功能的全局信号&#xff0c;应通过整车网络广播至所有的电控单元。信号应包含但不限于如下 所有列&#xff1a; 1) 日期和时间&#xff1b; 2) 蓄电池电压&#xff1b; 3) 点火开关信号&#xff0c; 包括OFF、ACC、ON、START&#xff1b; 4) …

【从删库到跑路】MySQL系列——详细讲解SQL的DDL,DML,DQL,DCL语句

&#x1f38a;专栏【MySQL】 &#x1f354;喜欢的诗句&#xff1a;更喜岷山千里雪 三军过后尽开颜。 &#x1f386;音乐分享【如愿】 大一同学小吉&#xff0c;欢迎并且感谢大家指出我的问题&#x1f970; 文章目录 &#x1f354;关系型数据库⭐概念⭐特点 &#x1f354;MySQL数…

今天面了个支付宝拿35K出来的测试,真是砂纸擦屁股,给我露了一手啊

今年的春招已经开始了&#xff0c;很多小伙伴收获不错&#xff0c;有的已经拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文&#xff0c;为此咱这里也统一做一次大整理和大归类&#xff0c;这也算是划重点了。 俗话说得好&#xff0…

算法之迷宫解法

系列文章目录 文章目录 系列文章目录前言一、迷宫是什么&#xff1f;二、迷宫的生成迷宫的数据结构二维数组图 Prim算法生成地图什么是Prim算法&#xff1f;使用Prim对迷宫生成的实现 三、迷宫的解法深度优先遍历&#xff08;DFS&#xff09; 前言 前几天刷抖音刷到一个迷宫解…

鲸落送书第一期清华出版社系列丛书

1.《Rust项目开发实战》 《Rust项目开发实战》详细阐述了与Rust语言开发相关的基本解决方案&#xff0c;主要包括Rust语言简介、存储和检索数据、创建REST Web服务、创建完整的服务器端Web应用程序、利用Yew创建客户端WebAssembly应用程序、利用quicksilver创建WebAssembly游戏…

【Logback技术专题】「入门到精通系列教程」深入探索Logback日志框架的原理分析和开发实战技术指南(上篇)

深入探索Logback日志框架的原理分析和开发实战指南系列 Logback日志框架Logback基本模块logback-corelogback-classiclogback-accessLogback的核心类LoggerAppenderLayoutLayout和Appender filterlogback模块和核心所属关系 Logbackj日志级别日志输出级别日志级别介绍 Logback的…

MM32F3273G8P火龙果开发板MindSDK开发教程19 - littlefs文件系统的移植

MM32F3273G8P火龙果开发板MindSDK开发教程19 - littlefs文件系统的移植 1、littlefs简介 LittleFS 由ARM官方发布&#xff0c;ARM mbedOS的官方推荐文件系统&#xff0c;具有轻量级&#xff0c;掉电安全的特性。主要用在微控制器和flash上&#xff0c;特点如下&#xff1a; 掉…

java中的多线程、同步代码块、同步方法、锁

一、java中实现多线程的三种方式 &#xff08;1&#xff09;继承Thread类的方式进行实现&#xff1b; &#xff08;2&#xff09;实现Runnable接口的方式进行实现&#xff1b; &#xff08;3&#xff09;利用Callable接口和Future接口方式实现。 1.继承Thread类的方式进行实现 …

【性能优化】性能优化

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 性能优化运行效率![在这里插入图片描述](https://img-blog.csdnimg.cn/557680b0ca51484c9c2c6c2…

金升阳|三极管的开关速度如何提高?

​三极管是一种常见的电子器件&#xff0c;广泛应用于电路中。它的开关速度是指从关断到导通或从导通到关断的转换速度。提高三极管的开关速度可以提高电路的响应速度&#xff0c;从而提高系统的性能。本文将介绍一些常见的方法来提高三极管的开关速度。 一、选择合适的三极管 …

华为组播实验pim-dm

组播源配置&#xff1a; R1: [r1]dis current-configuration [V200R003C00] sysname r1 snmp-agent local-engineid 800007DB03000000000000 snmp-agent clock timezone China-Standard-Time minus 08:00:00 portal local-server load flash:/portalpage.zip drop illegal-mac…

2023年软件测试有前途吗?技术变革,测试人的进阶发展路线...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 软件测试行业是否…

瑞吉项目优化

Redis缓存菜品 动态构造key。客户端传来的分类id作为key。从redis中获取缓存的数据。根据分类Id&#xff0c;使用redisTemplate.opsForValue().get 方法获取缓存的数据。如果缓存数据存在&#xff0c;直接返回&#xff0c;无需访问数据库。如果不存在&#xff0c;需要查询数据…

Redis从入门到精通【高阶篇】之底层数据结构整数集(IntSet)详解

文章目录 0.前言1.IntSet基本详解1.1 整数集的压缩算法原理1.2 整数集编码方式选择原理1.2.1 判断逻辑1.2.2 举例说明 2. 源码解析2.1. intsetNew2.2. intsetAdd2.3. intsetRemove2.4. intsetFind2.5. intsetUpgradeAndAdd2.6 收获 3.总结4.思考题5. Redis从入门到精通系列文章…

【MySQL 数据库的命令操作】

目录 一、数据库的基本概念二、数据库的发展三、主流的数据库介绍五、关系数据库1、数据库的解释2、数据库的管理3、常用的数据类型4、常见的数据库结构5、SQL语句 四、MySQL 安装方法1、安装Mysql环境依赖包2、创建运行用户3、编译安装4.创建mysql用户5.修改mysql 配置文件6、…

手动将第三方资源加IOC容器中

说明&#xff1a;在SpringBoot中&#xff0c;我们可以通过在各层类上加注解&#xff08;Mapper、Service等&#xff09;声明Bean对象&#xff0c;在需要使用时&#xff0c;可直接使用AutoWirted注解自动装配。但如果是使用第三方依赖中的对象&#xff0c;因为源码不能修改&…