0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在循环(HITL)场景中哪些硬件适合您?

模拟对话 2018-03-14 17:01 次阅读

现在的系统已经变得相当复杂,以至于在很多情况下验证硬件、软件功能以及正确性的唯一方法是在循环(HITL,或者有时候也说成HIL)中使用硬件。那么HITL是什么?答案很简单:视情况而定。大部分讨论都把HITL描述为一个由软件驱动的系统,这个系统具有模拟和数字I/O口,跨越基本开关闭合包到RF,试图复制你的设计必须工作的系统。

有关HITL使用的最常见的例子是汽车,这很有意义,因为每个人都知道汽车是什么,了解其各个子系统的复杂性和多样性,并且对测试汽车电子产品的挑战性至少有个基本的认识。在一个常见的与汽车相关的HITL场景中,设计者必须评估引擎控制单元(ECU)的硬件和软件性能--这种情况似乎需要将其连接到一个真正的引擎上。

软件建模方法

但是将ECU和真正的引擎连接起来并不是必须的。通过使用HITL方法,ECU在评估中被连接到一个包含相关引擎连接器电子机架上,所以这个引擎本身就可以由机架上的软件表示,也就是说这个软件模拟了一个真实的引擎,如图1所示。显然,在变化、测试场景、噪声、诱导传感器接口、引擎的弯头结构以及故障等方面,使用HITL方法要比使用真正的引擎更简单。HITL也很适合测试电机的控制器以及任何与机械性能电子控制相关的东西。

图1:在经典的HITL设置中,通过利用真实的I/O口,使得待管理的系统被硬件和软件取代,这些I/O可以模拟和仿真实际的系统,比如一辆汽车(显示)、火箭、马达或其他复杂的产品。(来源:国家仪器)

但是,HITL的节奏并不是很快或者很容易。主要项目是开发电子机架和取代真正引擎的软件。通过方程和功能块,它必须能够如实地模拟真实引擎的性能以及细微差别,从基本功能开始,然后添加关键层,子层,以及子层的子层。实际上一个模型开发团队可能比产品开发团队更大。

还有一个测试问题:如何验证一个模型? 在实际引擎的HITL模型中,任何简化、忽略、错误假设等因素都意味着ECU的测试不会像使用真正的引擎时那样有效,当然,这只是一个简单的观点。(这里可以用一句著名的短语--“垃圾进来,垃圾出去”来类比我所表达的意思。) 然而,实际情况是,任何一个真正的引擎都不能代表所有的引擎,所以即使使用了真正的引擎,测试也只对特定的引擎类型有效。HITL的方法更好,因为它更容易修改以模拟不同的引擎。

比例模型方法

针对HITL还有另一种非常不同的方法,这种方法涉及到真正的硬件,而不仅仅是基于软件的表示。然而,这种方法使用的不是全尺寸硬件,而是一个缩小版,其较大的对象和系统也被更小的对象和系统所取代。经典的风洞模型是这种方法最著名的例子,但它也被用于诸如汽车以及他们的发动机等功能;Keysight技术的应用注释5991–2873EN是第二种方法的一个很好的例子。

这种方法的优点是,您不必创建一个真实详细的引擎或者飞机模型。但它也引发了一些难题: 如何缩小发动机、引擎或飞机的控制分析,以匹配物理小模型的特征? 毕竟,很多事情都是不同的:时间常数,热性能,动量,惯性,瞬态响应…(这是一个很长的列表) 这种方法增加的挑战是,有些因素是线性的,有些是指数级的,有些是不连续性的,而有些关系很复杂。

选择一个HITL的方法

哪个HITL的场景更有用?同样,这取决于特定应用,有效时间,成本以及对系统本身的理解程度。我所知道的,除了一些较为简单、定义良好并严格约束的系统外,借助于详细的、基于软件的模型,使用HITL来模拟实际系统似乎是首选的方法。

原因有很多:这种方法能够表示相似硬件不同变体的灵活性,例如引擎;结果的可信度更高;操作的成本更低和并且更方便(与使用真实的马达、汽车发动机、火箭以及电子设备相比较);建立模拟故障场景的更简单;并且可以轻松地设置多个系统,这样就可以并行地进行测试,从而节省了时间,团队之间也可以相互学习。

不管你采用哪种方式,不仅仅是汽车和火箭设计需要HITL,与运动或者动力相关的设计都需要HITL。如果你正在测试一种光电、风能或电池控制器,使用HITL方法要比利用实际的太阳能电池板、风力涡轮机或电池堆更容易。更好的是,对于这种类型的产品,您可以从各种T&M系统供应商那里购买现成的、完全可编程仿真器,例如Keysight技术,从而将一个大问题转化为一个小的问题(图2)。这就是产品开发工程师们喜欢听到的!

图2:标准的测试和评估产品适用于许多通用的应用程序,例如千瓦/水池 单元。它可以被用来测试可充电电池、超级电容器、电动发电机、双向dc/dc转换器电池管理系统、再生制动系统和光伏阵列等系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RF
    RF
    +关注

    关注

    65

    文章

    3042

    浏览量

    166806
  • 验证
    +关注

    关注

    0

    文章

    59

    浏览量

    15167
收藏 人收藏

    评论

    相关推荐

    如何选择适合的PCIe显卡

    如何选择适合的PCIe显卡 显卡(Graphics Card)是电脑中负责处理图像和视频输出的重要硬件组件。随着技术的发展,PCIe(Peripheral Component
    的头像 发表于 11-06 09:20 275次阅读

    康谋分享 | 基于场景的AD/ADAS验证过程,识别挑战性场景

    基于场景的验证是AD/ADAS系统开发过程的重要步骤,然而面对海量驾驶记录数据时,如何实现自动且高效地识别、分类和提取驾驶记录的挑战性场景?本文康谋为
    的头像 发表于 08-28 10:16 1024次阅读
    康谋分享 | <b class='flag-5'>在</b>基于<b class='flag-5'>场景</b>的AD/ADAS验证过程<b class='flag-5'>中</b>,识别挑战性<b class='flag-5'>场景</b>!

    RISC-V适合什么样的应用场景

    RISC-V作为一种开源的指令集架构(ISA),其设计哲学秉承简单、模块化和可扩展性,这使得它适用于多种应用场景。以下是RISC-V适合的一些主要应用场景: 1. 物联网(IoT) 低功耗设备
    发表于 07-29 17:16

    FPGA与MCU的应用场景

    FPGA的应用场景有这些: 快速原型设计 FPGA可以快速配置成多种定制数字电路,允许不需要昂贵且耗时的制造过程的情况下进行快速部署和修改。 硬件加速 需要高性能和低延迟的应用
    发表于 07-29 15:45

    循环神经网络的应用场景有哪些

    自然语言处理(Natural Language Processing,简称NLP)是计算机科学和人工智能领域的一个重要分支,旨在使计算机能够理解、生成和处理人类语言。循环神经网络自然语言处理领域有着广泛的应用。 1.1 语言模型 语言模型是自然语言处理的基础,用于评估
    的头像 发表于 07-04 14:39 1078次阅读

    STM32待机模式适合用于那些应用场景

    对于查看STM32低功耗模式,共有三种,其中最省电的为待机模式,但是待机模式唤醒后相当于软件复位了,ram及寄存器的值都复位了,仅仅是备份域的寄存器除外,因此有个疑问,待机模式适合用于那些应用场景
    发表于 05-07 07:46

    NanoEdge AI的技术原理、应用场景及优势

    硬件设计则是为了确保设备执行这些任务时能够保持低能耗,从而提高其续航能力。 2、应用场景 NanoEdge AI 可以广泛应用于各种物联网设备和传感器,如智能家居、工业自动化、智能交通、医疗健康
    发表于 03-12 08:09

    洛杉矶云服务器适合哪些应用场景?

     洛杉矶云服务器怎么样 ?适合哪些应用场景,RAKsmart小编为整理发布洛杉矶云服务器适合哪些应用场景
    的头像 发表于 03-08 09:51 272次阅读

    什么是PLC循环移位指令 PLC循环移位的特点

    PLC循环移位指令包括循环左移指令和循环右移指令。循环移位过程,移出的位并不会丢失,而是会放
    的头像 发表于 03-07 16:57 1949次阅读
    什么是PLC<b class='flag-5'>循环</b>移位指令 PLC<b class='flag-5'>循环</b>移位的特点

    verilogfor循环是串行执行还是并行执行

    Verilog,for循环是并行执行的。Verilog是一种硬件描述语言,用于描述和设计数字电路和系统。
    的头像 发表于 02-22 16:06 2708次阅读

    arduino如何停止loop循环

    Arduino的loop循环是其主要的程序执行部分,该循环将在Arduino开发板上持续运行,并且只有程序被重新上传或开发板断电重启时才会停止。然而,某些情况下,你可能需要在程序执
    的头像 发表于 02-14 16:24 4197次阅读

    arduinowhile循环怎么跳出

    Arduino 是一款开源的硬件平台,广泛应用于各种物联网和嵌入式系统项目。 Arduino 上编写代码时,循环结构起到了至关重要的作用。而其中的 while 循环更是常用于需要根据
    的头像 发表于 02-14 16:22 2385次阅读

    循环指令loop规定循环次数

    循环指令是计算机编程中非常重要的概念,它允许程序重复执行一段代码块,使得程序可以更有效地处理大量数据和重复性任务。本文中,我们将详尽、详实、细致地介绍循环指令的相关概念、语法和应用场景
    的头像 发表于 02-14 16:10 1466次阅读

    labview精确控制循环时间

    实用的技巧和建议。 LabVIEW,控制循环的时间主要由以下几个因素决定: 硬件延迟:硬件的响应速度和延迟会对控制
    的头像 发表于 01-04 16:34 2714次阅读

    SLC VS. MLCC,哪种电容器更适合的应用?

    SLC VS. MLCC,哪种电容器更适合的应用?
    的头像 发表于 12-04 15:41 817次阅读
    SLC VS. MLCC,哪种电容器更<b class='flag-5'>适合</b><b class='flag-5'>您</b>的应用?