基于Vector VT系统的车身域测试方案介绍

news2024/11/16 8:51:01

车身域控制器作为车身主要部件的控制大脑,需要经过严苛的测试,常见的测试方式是通过搭建硬件在环测试系统实现的,测试原理是通过仿真控制器外围的传感器和执行器,实现车身域控制器的闭环仿真和测试。小怿基于国际一流的测试设备提供商Vector展开介绍一种基于Vector VT系统的桌面式测试方案,具体依照以下章节展开:

目录

1.车身域功能介绍

2.IO板卡分配讲解

3.测试解决方案

4.vTESTstudio脚本开发示例

5.小结


01 车身域功能介绍

车身域控制器是车身电气系统中的重要部分,它的主要功能包括以下几个部分:

· 灯光功能:转向灯,远光灯,近光灯,位置灯,氛围灯等

· IO类型常见有:HSD/LSD输出,模拟输出,开关输入,模拟输入

· 雨刮功能:前雨刮,后雨刮,前后洗涤

· IO类型常见有:模拟输出,模拟输入

· 门窗控制:门开关控制,尾门控制,车窗控制

· IO类型常见有:开关输入,模拟输出,数字PWM输入

· 后视镜控制:后视镜折叠/展开,后视镜位置调节,后视镜加热

· IO类型常见有:模拟输出,HSD输出

· 座椅控制:座椅位置调节,座椅加热与通风,座椅按摩

· IO类型常见有:模拟输出,HSD输出

· PEPS:无钥匙进入,无钥匙启动,迎宾功能,整车电源管理

· IO类型常见有:HSD/LSD输出,模拟输出,开关输入

· 空调功能:制冷制热,压缩机开启关闭,除雾,内外循环等

· IO类型常见有:模拟输入,模拟输出,PWM输出

02 IO板卡分配讲解

ECU是如何通过VT板卡接入我们的测试系统的呢?下面具体看一下。

——VT板卡分配——

由第一部分我们可以知道控制器IO的常见类型分为输出输入两种,分别是:开关量输出,模拟量输出,输出H桥控制电机驱动,输出PWM,输出HSD/LSD;PWM输入,开关电阻输入,HSD/LSD输入。

通过板卡可以实现输入仿真和输出测量,实现ECU IO通道的闭环,Vector提供了丰富的VT板卡,匹配车身域需求的各种IO通道,例如:当我们ECU输出端连接的是电机负载,输出模拟电压控制,测试时可以选择VT1004A,将VT1004A的输入端接入ECU的输出端可以电机负载模拟,同时VT1004A 提供的真实接线端可以接入原始电机负载,便于在测试过程中实现真实负载和模拟负载的自动切换。

IO通道与VT板卡的对应关系如下:

——VT板卡连接——

下图所示为转向灯输入信号电路。

由电路原理图可知,当不同的开关闭合后,ECU 信号输入端接入不同阻值的电阻, VT2004A仿真模块可以提供1 Ω … 250 kΩ 的电阻输出,因此选用此板卡。

ECU控制电路图:

下面介绍真实负载和模拟负载同时接入电路的连接方式,如下图:

○ 使用仿真负载

○ 使用真实负载时,断开仿真负载,将原始负载通道开关闭合

03 测试解决方案

基于Vector VT系统的测试解决方案主要包括:Vector VT系统,台架集成,脚本开发。接下来我们详细介绍每个部分。

——VECTOR VT系统——

针对车身域控制器的这些主要功能测试,我们可以用下面简单的逻辑框图,理解一下基于Vector VT系统的组成与搭建。

下面我们详细的描述下各个部分的组成:

PC:首先电脑需要安装CANoe相关软件,测试时在TestModule下添加测试执行文件,可实现自动化测试,执行结束后自动生成报告。和被测件通信时,通过Trace窗口可以清楚的看到接收和发送的报文,通过VT系统可以观察到IO的电平变化,当然也可以模拟实车的动画,例如雨刮动作,按键/转向灯灯亮灯灭等等。

VT System

· VT系统是一个模块化硬件系统,用于连接ECU的I/O线路以进行测试。

· VT系统记录ECU输出线的电压,并可以将其用于CANoe中的测试用例中。传感器和执行器在VT模块上可以进行电子模拟,例如电子负载或十进制电阻器。原始传感器和执行器也可以通过VT模块接入测试电路。继电器模块可用于产生各种线路故障和短路。

——车身域测试台架——

为了实现自动化测试,需要将被测单元与测试系统集成,请看如下渲染图;

将车身域控制器固定在桌面台架,通过BOB可控板卡与VTsystem连接。

右侧机柜集成VT System,RT rack,电源,VN通讯设备。

通过线束将机柜内设备与左侧桌面DUT接插件连接,车身域台架测试环境搭建完成。

——vTESTstudio——

vTESTstudio是测试用例编辑管理工具,具有不同的用例编辑方式供选择。将编译好的脚本添加到CANoe中,即可执行自动化测试。下一章会介绍下vTESTstudio的使用。

04 vTESTstudio脚本开发示例

——脚本开发——

以转向灯控制电路为例:

首先选择test table测试单元,如下图蓝色选中部分所示,在函数定义选项内新建一个函数,模拟手动操作左转/右转,使用函数的形式方便我们调用/修改。

具体函数内容如下:

  Void Set_Left_Light_ON()

  {

sysvar::VTS::M5_Ch1_1.SetStimulationMode(eVTSStimulationModeResistanceGreater);

sysvar::VTS::M5_Ch1_1.SetCurveType(eVTSCurveTypeConstant);

@sysvar::VTS::M5_Ch1_1::Resistor = 1500;//此处仿真输出一个1500欧的电阻

sysvar::VTS::M5_Ch1_1.StartStimulation();

  }

——在test tree新建测试用例——

首先设置好ECU工作的准备条件,例如电源ON,其他ECU发来特定的信号值,这里我们不一一列举,由各主机厂定义。

调用左转向灯函数Set_Left_Light_ON()

检查左转向灯是否开启

关闭左转向灯

检查左转向灯是否关闭

——脚本调试——

测试中有很多问题,而问题最多的时刻往往是调试阶段,这时候我们可以发现脚本或集成问题,同时也可以发现ECU样件问题。

以4.1脚本为例,当我们执行时,如果发现左转向灯没有工作该怎么办呢?

1. 保险起见,首先验证接线是否正确,使用万用表测试一下通断。有人会说接线这么简单怎么会错,毕竟测试系统中存在上千上万根线,部分接错也是在所难免。

2. 当排除接线问题后,需要确认脚本是否执行正确,脚本执行时,确认是否正确的给到ECU输入端。

3. 如果以上两个问题都不存在,检查是否满足样件工作条件。

4. 当以上所有输入满足,也可以看到左转向灯顺利开启,第一条自动化测试顺利执行完毕!

5. 执行结束后CANoe可自动生成报告供查看。

05 总结

说了这么多!总结下实现车身域高效测试的必要条件:

理解车身域控制器各个部件的功能需求

○ 熟悉各个部件的功能需求,确认所需测试台架方案,板卡功能数量,测试机柜硬件方案。

○ 根据功能需求开发测试用例,尽可能多的覆盖各种工作条件。

分配板卡

○ 根据DUT各个IO电路原理图合理分配板卡,确认真实负载和模拟负载的连接对应关系。

硬件环境集成无错误连接

○ 根据板卡分配的对应关系,正确的将ECU,外围负载,板卡正确的连接。

Vteststudio脚本开发

○ 根据已经开发好的测试用例,在vTESTstudio上开发对应的脚本,以满足自动化测试。

CANoe测试执行

○ 测试模块加载测试可执行文件,选择要执行的测试用例,测试完毕后,根据CANoe自动生成的报告,可查看详细的信息。如有软件问题,可通过相关测试数据和报告将问题反馈给相关人员。


喜欢此篇文章欢迎评论、收藏、分享支持小编~

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

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

相关文章

Day15 C++STL入门基础知识九——list容器 基本概念-构造函数-赋值变换-大小操作-插入删除-数据存取-反转排序 【全面深度剖析+例题代码展示】

文章目录1. 基本概念1.1 功能1.2 概念1.3 组成和存储方式1.4 优缺点1.4 图解2. 构造函数2.1 函数原型2.2 代码展示2.3 测试结果3. 赋值交换3.1 函数原型3.2 代码展示3.3 测试结果4. 大小操作1.3 代码展示1.4 测试结果6. 插入删除6.1 函数原型6.2 代码展示6.3 测试结果7. 数据存…

React报错#310复盘小结

React报错#310复盘小结问题背景解决方案原理&学习引发错误情况1. 不要在循环,条件或嵌套函数中调用 Hook2. 把所有的钩子移到组件的顶层,在任何可能返回值的条件之上。总结问题背景 apm报错:Minified React error #310 https://reactjs.…

浅谈Graph Embedding(一)

Graph Embedding算法背景引入先回顾下图的概念:图(graph)由节点(vertex)和点之间连线(edge)所组成;其中,点通常被成为“顶点(vertex)”,而点与点之间的连线则被成为“边”(edge)。通常记为,G(V,E)。常见分为无向图和有向图。示例如下&#xf…

MySQL数据类型约束

文章目录数据类型MySQL中的数据类型整数类型类型介绍可选属性MUNSIGNEDZEROFILL适用场景如何选择?浮点类型类型介绍数据精度说明精度误差说明定点数类型类型介绍开发中经验位类型:BIT6. 日期与时间类型YEAR类型DATE类型TIME类型DATETIME类型TIMESTAMP类型…

小白入门pwn笔记 CPU与进程的执行

1.回顾存储在磁盘中的叫节,映射到内存的时候叫段。内存中的节根据读写执行的权限不同在内存中映像为不同的段。段视图用于进程的内存区域的rwx权限划分。节视图用于ELF文件编译链接时与在磁盘上储存时的文件结构的组织。2.代码在内存重的映射关系不可写的数据一般会…

Qt OpenGL(三十六)——Qt OpenGL 核心模式-绘制雷达坐标系

提示:本系列文章的索引目录在下面文章的链接里(点击下面可以跳转查看): Qt OpenGL 核心模式版本文章目录 Qt OpenGL(三十六)——Qt OpenGL 核心模式-绘制雷达坐标系 一、场景 在日常的项目中,我们很多时候会遇到,绘制雷达扫描图的情况,比如,你的项目是给下面的雷达…

unidbg-boot-server使用并打包jar调用

其实线上使用可以多种方式,比如pom引入spring boot自己去写一个接口实现; 但如果并发不是很高,可以使用synchronized关键字进行,若对并发有要求,建议直接使用 unidbg-boot-server开源项目; 从github下拉,https://github.com/anjia0532/unidbg-boot-server 常见问题:…

Neo-reGeorg测试

1、前言 趁着春节刚开工不太忙,把以前的坑填一下。 主要是针对反向代理、隧道工具进行学习和测试。 之前测试过FRP,HTTPTunnel,NPS,都比较简单,而且上面工具也可以用在普通需求下使用。 reGeorg和Neo-reGeorg非常适合…

常用RTOS详细说明

鸿蒙OS HarmonyOS是一款面向全场景的开源分布式操作系统,是华为自主研发的操作系统。 鸿蒙OS实现模块化耦合,可应用在不同的设备上。 鸿蒙OS架构分为三层: 第一层是内核第二层是基础服务第三层是程序框架 。 鸿蒙OS底层三部分组成&#x…

《U型理论》速读

文章目录书籍信息概览踏上发现的旅程大火带来的启示踏上 U 型之旅学习和变革的4个层次组织的盲点社会的盲点科学的哲学基础关于界点下载观察感知自然流现结晶塑造原型运行社会场域理论的 21 个命题个人行动谈话行动自然流现的原则和实践:引领深刻的创新和变革视觉记…

Windows Server 2016搭建DNS服务

1:搭建DNS服务的目的是为了解析vCenter,当初安装时候没有用DNS解析,主机名是localhost无法安装vTPM虚拟Windows 11。 2:准备一台Windows Server 2016的主机,设置好固定IP地址,DNS就是本机的IP地址。 3:在服务器管理中…

Maven知识点-关于dependencyManagement和pluginManagement

前言 dependencyManagement和pluginManagement如何使用以及什么意思?我想懂点Maven的应该都明白,无非是依赖和插件的管理(版本),一般多用于Maven项目的继承和聚合模式中。 这里不是讲解dependencyManagement和plugin…

PCB丝印的字符有哪些作用?

PCB字符也就是行业内常说的“丝印”PCB丝印在一般的PCB板子都可以看到,那么PCB丝印有那些作用呢。 1、大家都知道各种各样的电子元器件数不胜数,那么如何区分PCB这个焊盘是贴什么电子元器件的呢?实际上就是通过PCB板子上的丝印字符去判断每一…

package.json配置详解

npm 介绍 npm 是随同 Node.js 一起安装的包管理工具,能解决 Node.js 代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用;许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用;允许用户将自己编写的包或命令行…

【云原生 | Docker 高级篇】11、Docker 私有镜像仓库 Harbor 安装及使用教程

目录 一、Harbor 介绍 二、Harbor 的优势 三、Harbor 部署安装 3.1 部署环境 3.2 为 Harbor 自签发证书 3.3 安装 Harbor 3.4 设置开机自启 四、Harbor 图像化界面使用说明 4.1 修改本地 hosts 文件 4.2 访问 harbor 4.3 创建项目 五、测试使用 harbor 私有镜像仓库…

form 表单只有一个input 时,回车自动提交表单造成页面刷新效果

现象&#xff1a;el-form 中仅有一个input&#xff0c;input上设置了回车响应事件&#xff0c;首次按回车键后&#xff0c;页面刷新&#xff0c;再次按回车才执行了响应事件 <el-form ref"form" submit.native.prevent><el-form-item><el-input keyu…

C#学习记录——【实例】C#实现OPC Client

最近学习测试用C#开发OPC客户端连接OPC服务器&#xff0c;防止遗忘&#xff0c;记录学习测试结果。 1、OPC基础知识 1.1、OPC概述 OPC是Object Linking and Embedding&#xff08;OLE&#xff09;for Process Control 的缩写&#xff0c;它是微软公司的对象链接和嵌入技术在…

【JavaEE】认识HTTP协议

✨哈喽&#xff0c;进来的小伙伴们&#xff0c;你们好耶&#xff01;✨ &#x1f6f0;️&#x1f6f0;️系列专栏:【JavaEE】 ✈️✈️本篇内容:认识HTTP协议、请求。 &#x1f680;&#x1f680;代码存放仓库github&#xff1a;JavaEE仓库&#xff01; ⛵⛵作者简介&#xff1…

Golang 提取视频中音频,存为MP3格式 | Golang工具

目录 前言 环境依赖 代码 总结 前言 本文提供将视频中音频提取出来存为mp3格式&#xff0c;一如既往的实用主义。 主要也是学习一下golang使用ffmpeg工具的方式。 环境依赖 ffmpeg环境安装&#xff0c;可以参考我的另一篇文章&#xff1a;windows ffmpeg安装部署_阿良的博…

Delphi复制HID、ID门禁卡源码

T5557卡是美国Atmel公司生产的多功能非接触式射频芯片卡&#xff0c;属于125KHz的低频卡&#xff0c;在国内有广大的应用市场&#xff0c;如很多酒店的门禁卡都是使用T5557卡。该芯片共有330bit(比特)的EPROM(分布为10个区块, 每个区块33bit)。0页的块0是被保留用于设置T5557操…