科普篇--- 什么是硬件在环测试?

news2024/10/6 20:53:34

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到深秋。马上到了中秋和国庆的假期,成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

在这里插入图片描述

一、背景信息

在汽车行业中,硬件在环(HIL)是指在专门配备的测试台上测试和验证复杂软件系统的一种方法,这些测试台从雷达和摄像头等物理设备接收数据输入。

在这里插入图片描述

硬件在环测试是一种方法,通过模拟或仿真实际硬件环境,将软件系统与真实或虚拟的硬件平台相结合,进行全面的功能验证和性能评估。在汽车行业中,硬件在环是指在专门配备的测试台上测试和验证复杂软件系统,这些测试台从雷达和摄像头等物理设备接收数据输入。

通过HIL测试,机器或系统的物理部分被仿真器所代替,并被广泛运用于汽车控制器开发过程中。在ECU开发过程中,系统软件和机械硬件结构通常是并行设计的。只有在集成后才能开展测试工作。如果在集成后发现了一些严重风险的安全Bug,就有可能造成人身伤害、损坏设备和项目延误。为了减少这些bug的发生,HIL测试得到了广泛的关注。

HIL测试在汽车行业特别是ECU(电子控制单元)开发中的几个优势:

-> 风险降低:正如您提到的,ECU开发中软件和硬件通常是并行设计的,这意味着在集成阶段可能会遇到各种兼容性和性能问题。HIL测试允许在集成之前发现并修复潜在的问题,从而显著降低因软件缺陷导致的安全风险、设备损坏和项目延误的风险。

在这里插入图片描述

-> 早期验证:通过HIL测试,工程师可以在开发周期的早期阶段就验证控制算法和系统的功能。这有助于加速开发过程,因为问题可以在更易于管理的阶段被发现和解决。

-> 复杂场景模拟:HIL测试能够模拟各种极端和复杂的运行条件,这些条件在实车测试中可能难以复现或过于危险。例如,可以模拟高速碰撞、极端天气条件或复杂的交通状况,以评估ECU的响应和性能。

-> 成本效益:虽然HIL测试系统的初始投资可能较高,但它能够显著减少因重复实车测试、修复和重新测试而产生的成本。此外,通过减少因设计缺陷导致的召回和维修费用,长期来看HIL测试能够带来显著的经济效益。

-> 符合法规和标准:汽车行业受到严格的法规和标准约束,要求ECU和控制系统在各种条件下都能正常工作。HIL测试可以帮助确保系统符合这些要求,提高产品的合规性。

-> 促进技术创新:随着自动驾驶和车联网技术的快速发展,对ECU和控制系统的要求越来越高。HIL测试为这些新技术的验证和测试提供了强有力的支持,促进了技术创新的快速推进。

二、HIL 工作原理

HIL 测试需要模拟被测电子控制单元(ECU)的车辆和环境输入,使其相信它正在对开阔道路上的真实驾驶条件做出反应。HIL测试台包含所有相关的车辆组件。模拟器向真实的摄像头和雷达系统提供输入,这些系统再向在测系统发送信号,看看它是否对输入作出正确响应。

HIL测试台的关键组件包括:

1、真实或虚拟的车辆组件:测试台可能包含实际的摄像头、雷达、传感器等,这些设备用于模拟车辆行驶时接收到的外部信号。这些设备通常连接到高保真度的仿真器,以确保信号的准确性和真实性。

2、仿真器:仿真器是HIL测试台的核心,它负责模拟车辆和环境的各种参数,如道路条件、交通状况、天气变化等。仿真器还向真实的摄像头和雷达系统提供输入信号,以模拟车辆在真实道路上行驶时可能遇到的各种情况。

3、被测ECU:这是HIL测试的主要对象。被测ECU被安装在测试台上,并通过适当的接口与仿真器和车辆组件相连。在测试过程中,被测ECU会接收到来自仿真器和真实传感器的信号,并根据其内部的控制算法进行处理和响应。

4、数据采集和分析系统:HIL测试台还配备了数据采集和分析系统,用于记录被测ECU的响应数据,并与预期结果进行比较。这有助于工程师评估ECU的性能和可靠性,并发现潜在的问题。

在这里插入图片描述

HIL测试的过程通常包括以下几个步骤:

-> 准备阶段:设置测试台,连接所有必要的设备和传感器,配置仿真器以模拟特定的测试场景。

-> 输入信号模拟:仿真器向真实的摄像头和雷达系统提供输入信号,模拟车辆在真实道路上行驶时可能遇到的各种情况。

-> 被测ECU响应:被测ECU接收到输入信号后,根据其内部的控制算法进行处理,并产生相应的输出信号。

-> 数据采集和分析:数据采集系统记录被测ECU的响应数据,并将其与预期结果进行比较。工程师分析这些数据,以评估ECU的性能和可靠性。

-> 问题诊断和修复:如果发现ECU存在性能问题或不符合预期,工程师将进行进一步的诊断,并采取相应的修复措施。

-> 重复测试:在修复问题后,工程师将重复进行测试,以确保ECU的性能和可靠性符合要求。

例如,测试脚本可以创建一种场景,其中一辆车在雨中以 60 mph 的速度绕着弯道行驶,它在道路中遇到一个未知物体,或者一辆迎面而来的汽车突然越过中心线。连接到HIL测试台的摄像头和雷达向ECU发送图像,在测系统必须实时处理这些数据,并决定要采取的行动步骤。

HIL的优势

HIL测试是现代汽车软件开发过程中不可或缺的一部分,原因有很多:

HIL测试可运行数百或数千个场景,而不用付出实际道路测试所需的时间和成本。

HIL测试可承受在道路上测试时过于危险或不现实的场景。

HIL测试是可重复的。

HIL测试过程是高度自动化的,可以支持多线程,因此多个测试可以同时进行,从而加快开发过程。

HIL支持具有已知系统行为性能的频繁软件发布过程。

在开发过程中,HIL测试位于SIL测试之后,但仍然在CI/CD/CT过程的参数范围内,让开发人员能够在产品发给OEM之前发现潜在缺陷。

HIL测试结果可分享给OEM和第三方的开发团队,这也会加快开发速度并提高质量、可靠性和安全性。

由于HIL测试台是绑定到特定位置的物理设备,所以软件开发历来是碎片化的。

三、总结

HIL(Hardware-in-the-Loop,硬件在环)测试是一种先进的测试方法,主要用于在产品开发阶段验证控制算法和嵌入式软件的性能和可靠性,特别是在涉及复杂控制系统(如汽车、航空、工业自动化等领域)时。HIL测试通过模拟实际或预期的运行环境,将真实的ECU(电子控制单元)或系统控制器连接到模拟的传感器和执行器上,从而在不依赖实际物理硬件的条件下进行测试。

HIL测试作为一种高效的测试手段,在控制系统和嵌入式软件的开发过程中发挥着重要作用。它不仅提高了测试效率和准确性,还降低了测试成本和安全风险。随着技术的不断发展,HIL测试将在更多领域得到应用,并不断完善和优化。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

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

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

相关文章

线程安全的单例模式 | 可重入 | 线程安全 |死锁(理论)

🌈个人主页: 南桥几晴秋 🌈C专栏: 南桥谈C 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据…

业务封装与映射 -- OTUk/ODUk/OPUk比特速率和容量

介绍OTUk,ODUk,OPUk,OTUCn,ODUCn,OPUCn的比特速率和容量。 OTN支持超100 Gbit/s,100 Gbit/s,40 Gbit/s,10 Gbit/s,2.5 Gbit/s,1.25 Gbit/s等多种线路速率。 …

SAP MM学习笔记 - 豆知识10 - OMSY 初期化会计期间,ABAP调用MMPV/MMRV来批量更新会计期间(TODO)

之前用MMRV,MMPV来一次一个月来修改会计期间。 如果是老的测试机,可能是10几年前的,一次1个月,更新到当前期间,搞个100多次,手都抖。 SAP MM学习笔记 - 错误 M7053 - Posting only possible in periods 2…

Python水循环标准化对比算法实现

🎯要点 算法区分不同水循环数据类型:地下水、河水、降水、气温和其他,并使用相应标准化降水指数、标准化地下水指数、标准化河流水位指数和标准化降水蒸散指数。绘制和计算特定的时间序列比较统计学相关性。使用相关矩阵可视化集水区和显示空…

每日OJ题_牛客_最长无重复子数组_滑动窗口_C++_Java

目录 牛客_最长无重复子数组_滑动窗口 题目解析 C代码1暴力 C代码2滑动窗口 Java代码滑动窗口 牛客_最长无重复子数组_滑动窗口 最长无重复子数组_牛客题霸_牛客网 (nowcoder.com) 描述: 给定一个长度为n的数组arr,返回arr的最长无重复元素子数组…

【Linux】Ubuntu20.04上使用RabbitVCS的图形化SVN

文章目录 1、RabbitVCS1.1、RabbitVCS 介绍1.2、RabbitVCS 主要功能1.3、Ubuntu下 TortoiseSVN 替代者 2、安装2.1、命令安装2.2、安装使用2.3、使用权限 3、解决SVN无法保存密码问题3.1、问题描述3.2、解决方法 1、RabbitVCS 1.1、RabbitVCS 介绍 它是一款Linux系统下的图形…

jsencrypt实现js加密的另外一种方式(使用node-jsencrypt库)

在上一篇文章中,实现了使用jsencrypt模块RSA加密实现。 参考链接:记录使用crypto-js、jsencrypt实现js加密的方法-CSDN博客 在实现的过程中,会提示出错:ReferenceError: window is not defined ,而且需要修改jsencry…

网站建设开发方法

在这个充满激烈竞争的网络世界,如何通过网站建设开发,打造一个引人注目、功能强大的在线空间,成为了许多人关注的焦点。 1. 初衷与定位: 在进行网站建设开发之前,首先需要明确网站的初衷和定位。是作为企业的官方展示…

AcWing 662:点的坐标 ← 结构体 or 三目运算符

【题目来源】https://www.acwing.com/problem/content/664/【题目描述】 给定两个保留一位小数的浮点数 X,Y,用来表示一个点的横纵坐标。 请你判断该点在坐标系中的位置。 【输入格式】 共一行,包含两个浮点数 X,Y,表示点的横纵坐标。【输出格…

ElasticSearch备考 -- Async search

一、题目 通过异步方式查询earthquakes索引下Magnitude大于5的数据 二、思考 正常的查询大家可能会用的多一点,这种异步查询为数据量比较大的查询在后台执行,不用同步等待结果,待执行完成在获取结果。 三、解题 Step 1、准备基础数据 # D…

【CV】带你跑通过线检测项目unbox_yolov5_deepsort_counting

文章目录 🌕运行结果🌕我的配置🌕下载项目🌕安装依赖🌙创建激活虚拟环境🌙pip install -r requirements.txt 🌕确保有参数ckpt.t7和测试数据集test.mp4🌕运行🌙出现报错T…

Leecode热题100-560.和为k的子数组

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1], k 2 输出:2示例 2: 输入:nums [1,2,3], k…

k8s实战-1

k8s实战-1 一、资源创建方式1.命令行2.yaml 二、命名空间三、Pod总结 一、资源创建方式 1.命令行 就是直接通过命令的方式创建,比如我要创建namespace, kubectl create namespace hello删除: kubectl delete -f hello2.yaml 简单来说&am…

PCL 1.8.1 + VTK 1.8.0 + QT5.14.2+ VS2017 环境搭建

先看看效果: PCL 1.8.1下载安装: Tags PointCloudLibrary/pcl GitHub 安装完成后: 如果VTK想重新编译的,可以看我的这篇博客:

AI 智能名片商城小程序源码:构建 F2B2b2C 用户触达新生态

一、引言 1.1 研究背景 在当今数字化时代,企业对于用户的触达变得愈发关键。F2B2b2C 模式作为一种新兴的商业模式,旨在通过整合厂商(F)、批发商(B)、零售商(b)和消费者&#xff08…

南昌网站建设让你的企业网站更具竞争力

南昌网站建设让你的企业网站更具竞争力 在当今竞争激烈的市场环境中,一个高质量的网站不仅是企业形象的展示平台,更是吸引客户、提升业绩的重要工具。南昌作为江西的省会城市,互联网产业的蓬勃发展为企业网站建设提供了良好的机遇。 首先&am…

车载电子电气架构--- 车载诊断DTC全覆盖分类

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

如何使用ssm实现基于Java的校园二手物品交易平台的设计与实现+vue

TOC ssm789基于Java的校园二手物品交易平台的设计与实现vue 绪论 1.1 研究背景 在这个推荐个性化的时代,采用新技术开发一个校园二手物品交易平台来分享和展示内容是一个永恒不变的需求。本次设计的校园二手物品交易平台有管理员,商家,用…