汽车HiL测试:利用TS-GNSS模拟器掌握硬件性能的仿真艺术

一、汽车HiL测试的概念

硬件在环(Hardware-in-the-Loop,简称HiL)仿真测试,是模型基于设计(Model-Based Design,简称MBD)验证流程中的一个关键环节。该步骤至关重要,因为它整合了实际操作中将使用的全部硬件与软件资源。HiL测试通常位于现场试验之前,是模型在环(Model-in-the-Loop,简称MiL)、软件在环(Software-in-the-Loop,简称SiL)或处理器在环(Processor-in-the-Loop,简称PiL)测试之后的最终阶段。HiL仿真不仅能够针对单个被测设备(Device Under Test,简称DUT)进行精确测试,而且还能对由多个被测设备构成的复杂系统进行全面的测试与验证。

在整个测试流程中:

  • MiL(Model-in-the-Loop)模型在环:在PC上基于模型的测试,它的输出是经过验证的控制算法模型,其作用是验证控制算法模型是否准确地实现了功能需求。
  • SiL(Software-in-the-Loop)软件在环:将模型生成代码或者手工编写代码,编译成PC程序,在PC上的测试。它的输出是经过验证的嵌入式代码,其作用是在PC上验证代码实现的功能是否与模型一致。
  • PiL(Processor-in-the-Loop)处理器在环:将代码编译成目标系统程序,然后在PC上虚拟目标硬件环境,并进行测试。它的输出是经过验证的目标程序,其作用是在目标处理器上验证代码实现的功能是否与模型一致 。

HiL(Hardware-in-the-Loop)硬件在环仿真测试系统是采用实时处理器运行仿真模型来模拟受控对象(比如:汽车、飞机等设备)的运行状态,以此判断电控模块的性能。虽然这一系列的测试都有在环(in the loop)的意思,但是却不是全部的被测模块都带有闭环的。比如接收到某信号要用于车辆的车灯控制,这种情况下我们就不需要闭环,但是如果在自动驾驶的HiL测试中,想使用GNSS模拟器测试汽车运行是否正常,就需要把自动驾驶仪的信息返回到GNSS模拟器中形成闭环,再进行下一个轨迹的模拟。

在HiL测试中,一般根据它在环的深度分为几个层级:

  • ECU级:也可以称之为信号级,仅仅ECU软硬件采用实物,闭环回路的其他组成部分均采用虚拟仿真系统;
  • EPP级:也可以称之为驱动级,EPP是Electrical Power Package的缩写, ECU及执行机构采用实物,闭环回路的其他组成部分采用虚拟仿真系统;
  • System级:也可以称之为机械级,系统组件采用实物,闭环回路其他组成部分采用虚拟仿真系统;

总的来说,HiL测试系统主要由三个基本部分组成,分别是实时处理器、I/O接口和可视化的操作界面,其中实时处理器是整个HiL测试系统的核心部分。实时处理器运行场景,发送信号,被测电控模块收到后对受控对象做出相应的控制,以此判断电控模块的性能。通过I/O接口与被测的设备/模块连接,对被测系统进行全方面的、系统的测试,如下图:

二、HiL测试的意义

HiL仿真测试可以使得工程师了解硬件在现实世界中的性能,而无需将其带到户外测试:

  • 提高测试效率:用更短的时间内完成现实中可能需要驾驶数万公里才能完成的测试内容
  • 提供丰富的测试功能并实现测试平台的复用性,实现可复制可复用的测试流程
  • 规避车辆上路测试的法律法规与申请流程
  • 测试天气、环境等不同需求下的边缘与极端情况
  • 极大的节省了时间和经济成本
  • 仿真场景下安全性较高

三、GNSS仿真在HiL测试中的作用

在闭环体系结构中,仿真系统的延迟是一个关键参数。理想情况下,任何轨迹修改都应立即反映在GNSS接收器的RF输入上。

GNSS是汽车HiL测试的重要组成部分,为了准确安全地实现车辆定位与导航,现在的车辆都会使用多个传感器以及复合定位导航技术,因此需要进行传感器融合测试确保结果安全可靠。

GNSS 系统在传感器融合中发挥着至关重要的作用,GNSS 是一辆车上唯一可以提供绝对位置与绝对时间的传感器,且不受光照、地理位置、天气状况的影响。

GNSS接收机不是作为一个独立的设备进行测试,而是与其他模拟器、设备和传感器集成,存在两种类型的HiL架构。

  • 开环结构:在这种结构中,GNSS接收器(和一般的传感器)的输出不用于控制车辆的轨迹。因此,它是由用户强加的,不一定是确定性的,因为它可以实时更新。这可能是飞行模拟器的情况,其中轨迹是由用户现场驾驶并发送给GNSS模拟器的。
  • 闭环结构:在这种结构中,GNSS接收器(和一般的传感器)的输出被用于导航算法,该算法更新控制车辆的执行器。执行器的输出被用来更新发送到GNSS模拟器的车辆位置。在这种情况下,GNSS接收器计算出的位置对模拟轨迹有直接影响,因此对广播给GNSS接收器的射频信号也有影响。

在闭环体系结构中,仿真系统的延迟是一个关键参数。理想情况下,任何轨迹修改都应立即反映在GNSS接收器的RF输入上。


 

四、软件定义的GNSS模拟器

高性能GNSS模拟器具有灵活的软件定义平台和API,且支持所有的GNSS星座与波形,具有超高的精度,分辨率,以及动态性能,模拟迭代率可达1000 Hz,强大的软件定义实现通道数无限制。广泛应用于汽车HIL测试,导航芯片、消费电子、终端测试,航空航天模拟,以及干扰抵抗测试等领域。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue——响应式数据,v-on,v-bind,v-if,v-for(内含项目实战)

目录 响应式数据 ref reactive 事件绑定指令 v-on v-on 鼠标监听事件 v-on 键盘监听事件 v-on 简写形式 属性动态化指令 v-bind iuput标签动态属性绑定 img标签动态属性绑定 b标签动态属性绑定 v-bind 简写形式 条件渲染指令 v-if 遍历指令 v-for 遍历对象的值 遍历…

Redis 常用数据类型插入性能对比:循环插入 vs. 批量插入

Redis 是一款高性能的键值数据库,其支持多种数据类型(String、Hash、List、Set、ZSet、Geo)。在开发中,经常会遇到需要插入大量数据的场景。如果逐条插入,性能会显得较低,而采用 Pipeline 批量插入 能大幅提…

开源动态表单form-create-designer 扩展个性化配置的最佳实践教程

在开源低代码表单设计器 form-create-designer 的右侧配置面板里,field 映射规则为开发者提供了强大的工具去自定义和增强组件及表单配置的显示方式。通过这些规则,你可以简单而高效地调整配置项的展示,提升用户体验。 源码地址: Github | G…

Java语言编程,通过阿里云mongo数据库监控实现数据库的连接池优化

一、背景 线上程序连接mongos超时,mongo监控显示连接数已使用100%。 java程序报错信息: org.mongodb.driver.connection: Closed connection [connectionId{localValue:1480}] to 192.168.10.16:3717 because there was a socket exception raised by…

深入浅出分布式缓存:原理与应用

文章目录 概述缓存分片算法1. Hash算法2. 一致性Hash算法3. 应用场景Redis集群方案1. Redis 集群方案原理2. Redis 集群方案的优势3. Java 代码示例:Redis 集群数据定位Redis 集群中的节点通信机制:Gossip 协议Redis 集群的节点通信:Gossip 协议Redis 集群的节点通信流程Red…

Loom篇之java虚拟线程那些事儿

我们在之前的文章中提到了java推出纤程的背景和原因。在近三十年来,Java 开发人员一直依赖线程作为并发服务器应用程序的构建块。每个方法中的每个语句都在线程内执行,并且由于 Java 是多线程的,因此多个执行线程会同时发生。线程是 Java 的并…

自然语言处理: RAG优化之Embedding模型选型重要依据:mteb/leaderboard榜

本人项目地址大全:Victor94-king/NLP__ManVictor: CSDN of ManVictor git地址:https://github.com/opendatalab/MinerU 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路…

如何选择服务器

如何选择服务器 选择服务器时应考虑以下几个关键因素: 性能需求。根据网站的预期流量和负载情况,选择合适的处理器、内存和存储容量。考虑网站是否需要处理大量动态内容或高分辨率媒体文件。 可扩展性。选择一个可以轻松扩展的服务器架构,以便…

Spring 框架七大模块(Java EE 学习笔记03)

​ ​核心容器模块(Core Container) 核心容器模块在Spring的功能体系中起着支撑性作用,是其他模块的基石。核心容器层主要由Beans模块、Core模块、Contex模块和SpEL模块组成。 (1)Beans模块。它提供了BeanFactory类&…

2025-2026财年美国CISA国际战略规划(下)

文章目录 前言四、加强综合网络防御(一)与合作伙伴共同实施网络防御,降低集体风险推动措施有效性衡量 (二)大规模推动标准和安全,以提高网络安全推动措施有效性衡量 (三)提高主要合作…

【大数据技术与开发实训】携程景点在线评论分析

景点在线评论分析 题目要求实验目标技术实现数据采集获取所有相关景点页面的 URL获取所有相关景点对应的 poiId 及其他有用信息通过 poiId 获取所有景点的全部评论数据采集结果 数据预处理景点信息的数据预处理查看数据基本信息缺失值处理 用户评论的数据处理缺失值处理分词、去…

《第十部分》1.STM32之通信接口《精讲》之IIC通信---介绍

经过近一周的USART学习,我深刻体会到通信对单片机的重要性。它就像人类的手脚和大脑,只有掌握了通信技术,单片机才能与外界交互,展现出丰富多彩的功能,变得更加强大和实用。 单片机最基础的“语言”是二进制。可惜&am…

ES 基本使用与二次封装

概述 基本了解 Elasticsearch 是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建。它提供了对海量数据的快速全文搜索、结构化搜索和分析功能,是目前流行的大数据处理工具之一。主要特点即高效搜索、分布式存储、拓展性强 核心功能 全文搜索:…

单片机_简单AI模型训练与部署__从0到0.9

IDE: CLion MCU: STM32F407VET6 一、导向 以求知为导向,从问题到寻求问题解决的方法,以兴趣驱动学习。 虽从0,但不到1,剩下的那一小步将由你迈出。本篇主要目的是体验完整的一次简单AI模型部署流程&#x…

Python3 爬虫 Scrapy的安装

Scrapy是基于Python的分布式爬虫框架。使用它可以非常方便地实现分布式爬虫。Scrapy高度灵活,能够实现功能的自由拓展,让爬虫可以应对各种网站情况。同时,Scrapy封装了爬虫的很多实现细节,所以可以让开发者把更多的精力放在数据的…

golang实现TCP服务器与客户端的断线自动重连功能

1.服务端 2.客户端 生成服务端口程序: 生成客户端程序: 测试断线重连: 初始连接成功

【Spring Boot】# 使用@Scheduled注解无法执行定时任务

1. 前言 在 Spring Boot中,使用Scheduled注解来定义定时任务时,定时任务不执行;或未在规定时间执行。 import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;Component public c…

java 老矣,尚能饭否?

随笔 从千万粉丝“何同学”抄袭开源项目说起,为何纯技术死路一条? 数据源的统一与拆分 监控报警系统的指标、规则与执行闭环 java 老矣,尚能饭否? 一骑红尘妃子笑,无人知是荔枝来! java 老吗? 去年看…

[译]Elasticsearch Sequence ID实现思路及用途

原文地址:https://www.elastic.co/blog/elasticsearch-sequence-ids-6-0 如果 几年前,在Elastic,我们问自己一个"如果"问题,我们知道这将带来有趣的见解: "如果我们在Elasticsearch中对索引操作进行全面排序会怎样…

解锁PPTist的全新体验:Windows系统环境下本地部署与远程访问

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 在Windows系统环境中,如何本地部署开源在线演示文稿应用PPTist,并实现远程访问?本文将为您提供详细的部署和配置指南。 P…