虚拟+现实:半实物仿真测试和全数字仿真测试有效保证嵌入式系统的健壮与可靠

2023-05-16

已剪辑自: http://www.kiyun.com/Show/news/cid/11/id/273.html

随着现代信息技术与软硬件技术的快速发展,嵌入式系统的功能日益强大,嵌入式设备和软件应用领域越来越宽泛。近年来,嵌入式软件代码量呈爆炸式增长,对测试的要求越来越高,尤其是涉及防务、航空、汽车等安全关键领域。

更加全面、系统的测试方法是必不可少的。更好的测试方法可以:

  • 检验嵌入式软件是否满足需求;
  • 检验预期结果与实际结果之间的差别;
  • 保障装备质量。

img▲图1:近20年车辆代码增幅

01 测试环境

嵌入式软件通常需要在特定的仿真测试环境中进行测试。仿真测试环境主要分为全实物仿真(目标机仿真)环境、半实物仿真(硬件在环仿真)环境、全数字仿真环境。

● 全实物仿真环境:建立真实的嵌入式环境并与外围物理设备相连接,形成闭环测试。该环境下测试所得结果的真实性最强,但是构造和使用的成本最为昂贵,可控行也比较差,难以进行数据收集和故障重现。一旦出现故障,很有可能会损害外部设备甚至整个物理环境,造成巨大的财产、人员损失。

● 半实物仿真环境:在目标机上测试软件,用仿真器模拟外部环境,以提供激励信息和接收反馈信息。该环境下测试接近实装测试,可靠性强。具有较好地收集数据、更容易地进行故障重现、可控性强且能实现自动化测试,风险小,收益大。

● 全数字仿真环境:用软件来仿真嵌入式环境和外围物理设备,也称为虚拟仿真,使用的都是虚拟的东西,例如:虚拟的控制器和虚拟的被测对象。这种仿真测试的可信度主要取决于模型的准确度,总体来说可信度低,应用场景少,与实际装备运行区别大。

对比三种测试环境,可以看出半实物仿真同其它类型的仿真方法相比具有经济地实现更高真实度的可能性。从系统的观点来看,半实物仿真允许在系统中接入部分实物,意味着可以把部分实物放在系统中进行考察,从而使部件能在满足系统整体性能指标的环境中得到检验,因此半实物仿真是提高系统设计的可靠性和研制质量的必要手段。

02 半实物仿真测试的先进性和特点

半实物仿真,又称为硬件在回路中的仿真(Hardware in the Loop Simulation),是指在仿真实验系统的仿真回路中接入部分实物的实时仿真。

半实物仿真技术自20世纪60年代问世直到目前美国研制航天飞机,始终盛行不衰。美国大多数国防项目承包商都有一个或多个半实物仿真实验室,这些实验室代表了当前世界先进水平。

其先进性体现在:

(1) 有高速高精度的仿真机;

(2) 有先进完备的环境模拟设备。国内半实物仿真技术在导弹制导、火箭控制、卫星姿态控制等应用研究方面也达到了较高水平。

半实物仿真的特点是:

(1) 在回路中接入实物,必须实时运行,即仿真模型的时间标尺和自然时间标尺相同。

(2) 需要解决控制器与仿真计算机之间的接口问题。

(3) 半实物仿真的实验结果比数字仿真更接近实际。

03 半实物仿真系统的基本组成和原理

半实物仿真系统是一种硬件在环实时技术,把实物利用计算机接口嵌入到软件环境中去,并要求系统的软件和硬件都要实时运行,从而模拟整个系统的运行状态。

● 仿真计算机:仿真计算机是实时仿真系统的核心部分,它运行实体对象和仿真环境的数学模型和程序。一般来说,采用层次化、模块化的建模法,将模块化程序划分为不同的速率块,在仿真计算机中按速率块实时调度运行。对于复杂的大型仿真系统,可用多台计算机联网实时运行。

● 物理效应设备:物理效应设备的作用是模拟复现真实世界的物理环境,形成仿真环境或称为虚拟环境。物理效应设备实现的技术途径多种多样,方案之一是采用伺服控制回路,通过伺服控制回路控制形成相应的物理量,方案之二是在已储存好的数据库中搜索相应的数据,转化为相应的物理量。

● 接口设备:仿真计算机输出的驱动信号经接口变换后驱动相应的物理效应设备。接口设备同时将操作人员或实物系统的控制输入信号馈入仿真计算机。

04 半实物仿真开发环境ETest

img

ETest半实物仿真测试开发环境,提供图形化的测试用例开发环境,自动生成测试脚本;测试结果数据可以在线监控,同时生成测试结果信息,并自动生成符合要求的测试报告;ETest为开放性平台,提供C/C++, Python, Lua, Java等API,图形化监控软件界面可以根据用户需求定制。

ETest已经在航空、航天、兵器、船舶等多个军工领域科研单位数以百计的项目中中得到过广泛使用和验证,性能稳定可靠。

ETest 通用性强,针对不同的被测对象,无需从零开发测试工具,可以利用ETest快速搭建各类专业化仿真测试工装。与传统模式开发对比,在时间、人力等成本上降低80%以上,扩展灵活,覆盖充分。

ETest支持的操作系统除了中标麒麟、银河麒麟、统信软件外,还支持windows linux Mac以及实时的RT linux等。

更多ETest相关内容,欢迎点击查看详情或访问//www.kiyun.com/进行了解!

参考文献:《半实物仿真技术发展综述》


装备软件全数字仿真测试平台(简称:DSTP)

已剪辑自: http://www.kiyun.com/Show/fangzhen/cid/57/id/163.html

1、产品简介

装备软件全数字仿真测试平台(简称:DSTP)是一个高性能、高扩展性的系统级虚拟仿真平台,基于该平台可以快速建立嵌入式软件的虚拟运行环境,可作为嵌入式软件开发、调试及测试工具。

2、产品功能

1).调试功能

A.暂停、单步、继续执行功能

B.断点管理功能

C.全局、局部变量,数组、结构体,内存和寄存器的查看、更改功能

D.堆栈动态使用情况的追踪与分析

E.源码、目标码和汇编码混编显示,精确查看被测件每一条代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-axREVOKl-1664783316522)(http://www.esitest.cn/Data/editor/ueditor/themes/default/images/spacer.gif)]1.jpg

2).测试脚本功能

A.提供常用的读变量值、置变量值、载入内存数据流等19种测试用例描述命令行脚本命令

B.提供多条脚本命令组合及并发执行功能,支持复杂的逻辑组合用例

C.根据时间、执行点和内存操作触发周期(或非周期)的数据注入和读取

D.预置正弦波、余弦波、三角波、阶跃信号等多种故障数据模型

E.提供执行点监控,内存导入导出等测试用例执行过程分析功能

F.提供周期性监控、即时监控、数据变化监控三种数据采集模式,从多维度分析测试执行结果

G.支持1553B、串口等虚拟外设的周期和非周期激励置入和数据采集

3).覆盖率分析功能

A.支持ELF、COFF、OMF目标码格式

B.目标码、源代码语句覆盖、分支覆盖分析

C.目标码与源代码关联分析

D.多次测试结果叠加分析

E.提供Word和HTML两种覆盖率报告输出方式

3.jpg

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mFG4j4m7-1664783316523)(http://www.esitest.cn/Data/editor/ueditor/themes/default/images/spacer.gif)]

3-1.jpg

3、产品特点

A.集成化管理——集成项目管理、工程配置、测试设计、执行、结果分析等在一个平台中,支持软件测 试工程化管理

B.支持快速搭建虚拟运行环境——提供了大量的模型库,包括CPU模拟器库、虚拟总线库、对象仿真模型 库和其它仿真模型库,通过将模型库中的对象按照目标系统进行配置,可以快速构建虚拟运行环境用于 开发、调试及测试

C.高效率仿真——最高可达100MIPS

D.多样化覆盖率分析——支持源码、多种格式的目标码的语句、分支覆盖率结果的统计分析

E.深度资源控制——对于软件运行现场的全方位监控,支持多种故障形式

F.多层次重用——环境架构、测试脚本均可重用

G.可扩展性——提供了扩展编程接口,用户可以自己开发各种所需的仿真模型库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

虚拟+现实:半实物仿真测试和全数字仿真测试有效保证嵌入式系统的健壮与可靠 的相关文章

  • 基于模型设计和机载软件

    采用基于模型设计应对机载软件设计中的挑战 已剪辑自 https www jianshu com p a8fb02ce366d 采用基于模型设计应对机载软件设计中的挑战 Model Based Design for Airborne Soft
  • MBSE与MBD的融合

    已剪辑自 https www jianshu com p 9efae90ca0f7 基于模型的设计 xff0c 是美国迈斯沃克公司 xff08 MathWorks xff0c MATLAB软件的开发商 xff09 提出并推广的复杂系统设计方
  • 基于模型的系统工程(MBSE)与设计(MBD)的关系思考

    已剪辑自 http www clii com cn lhrh hyxx 201905 t20190522 3934609 html 导读 xff1a 如何将关于功能知识表达的建议与任何系统工程建模语言的任何部分结合起来 xff0c 确定地
  • 从MBD到MBE的战略转型路径

    已剪辑自 https zhuanlan zhihu com p 58927567 导读 xff1a 企业的不断成功 xff0c 源于在每个关键机遇期做出正确的抉择 对于在国民经济中发挥重要作用的中国制造业企业来说 xff0c 如何面向未来
  • SysML教程

    已剪辑自 https www jianshu com p 6ba96913abcc SysML是一种支持复杂系统分析 规范 设计 验证和确认的通用图形化建模语言 这些系统可能包括硬件设备 软件数据 人员 规程 设施 xff0c 以及其他人造
  • 程序运行原理:程序是如何运行又是如何崩溃的?

    已剪辑自 https time geekbang org column article 166581 软件的核心载体是程序代码 xff0c 软件开发的主要工作产出也是代码 xff0c 但是代码被存储在磁盘上本身没有任何价值 xff0c 软件
  • 分布式系统

    简介 在一个分布式系统中 xff0c 一组独立的计算机展现给用户的是一个统一的整体 xff0c 就好像是一个系统似的 系统拥有多种通用的物理和逻辑资源 xff0c 可以动态的分配任务 xff0c 分散的物理和逻辑资源通过计算机网络实现信息交
  • #如何写好技术文档——来自Google十多年的文档经验

    文章目录 文档的重要性为什么大多数人都不喜欢写文档 xff1f 如何产出高质量文档像管理代码一样管理文档明确你的读者是谁清晰的分类参考文档设计文档引导类文档概念性文档Landing pages 落地页 文档Review 写文档的哲学5W法则
  • 如何写好技术文档?

    文章目录 01为什么需要写文档 xff1f 02写文档的重要性03像管理代码一样管理文档04文档类型05文档Review06文档写作的哲学07结论 已剪辑自 https cloud tencent com developer article
  • 数据库系统原理1

    第一章 数据库管理技术发展的不同阶段形成不同的特点 数据描述经历了三个阶段对应于三个数据模型 第二章 数据库系统的生命周期 xff0c 书中可能和我们学习软工的时候有些出入 xff0c 其实就是不同时间有不同的理解 xff0c 横看成岭侧成
  • ssh 登录时常出现的几种错误以及解决方法(Linux)

    ssh 登录时常出现的几种错误以及解决方法 xff08 Linux xff09 参考网址 xff1a https blog csdn net GX 1 11 real article details 80423409 前言 ssh是Linu
  • 程序员既要写好代码,又要写好文档

    转载于 xff1a https developer aliyun com article 196898 作为一个长期混迹于CSDN社区的人 xff0c 我对很多拥有高访问量的博主钦佩不已 xff0c 特别是在参加了CSDN在举办 2014
  • 一步一步教你如何写开发文档

    已剪辑自 https icocos github io 2017 01 02 E4 B8 80 E6 AD A5 E4 B8 80 E6 AD A5 E6 95 99 E4 BD A0 E5 A6 82 E4 BD 95 E5 86 99
  • 如何写好项目文档

    已剪辑自 https blog csdn net houzhizhen article details 105622282 引子 有太多的程序员 xff08 包括很多资深的程序员 xff09 不会写文档有太多的项目没有 xff08 完整的
  • 怎样才能写好项目文档?

    已剪辑自 http learn lianglianglee com E4 B8 93 E6 A0 8F E8 BD AF E4 BB B6 E5 B7 A5 E7 A8 8B E4 B9 8B E7 BE 8E 16 20 E6 80 8E
  • 技术文档写作基础-写作新手必看

    文章目录 1 搞清楚主谓宾2 不滥用代词 过渡词和标点符号2 1 不滥用代词和过渡词2 2 不滥用标点符号 3 多用强势动词 xff0c 少用形容词和副词3 1 强势动词和主动语句3 2 少用形容词和副词 4 正确使用术语5 正确使用段落5
  • 软件工程及其文档汇总

    文章目录 软件文档作用和分类作用分类 管理和维护软件工程的文档有哪些 xff1f 软件工程各类开发文档的作用软件工程各文档模板系统定义文档需求规格说明书概要设计说明书用例文档详细设计说明书测试计划测试分析报告 xff1a 软件文档 软件文档
  • 中断和异常,C/C++语言异常,实时操作系统对中断和异常的处理

    文章目录 一 中断和异常是什么1 中断和异常的定义2 中断处理的过程3 常见中断和异常 二 C C 43 43 软件异常的常见原因分析与总结1 概述2 引发软件异常的常见原因2 1 变量未初始化2 2 死循环2 3 内存越界2 4 内存泄漏
  • 编程中什么情况下需要加 volatile?

    文章目录 一 CPU访问变量 1 给变量赋值 2 读变量的值 二 编译器优化 1 上面程序执行过程有什么缺点 xff1f 2 为什么要优化 xff1f 三 volatile到底有什么用 xff1f 用在什么场合 xff1f 1 在执行b 6
  • ImageJ实用教程汇总

    https zhuanlan zhihu com p 60999196

随机推荐

  • 第一性原理详解

    文章目录 百度百科其他解释补充解释 智库百科什么是第一性原理如何运用第一性原理第一性原理思考举例 什么是第一性原理 xff0c 它有什么重要意义 xff1f 详解马斯克的 第一性原理 01什么是 第一性原理 思维 xff1f 其实是一种演绎
  • Win8.1电脑声音可以外放但是插入耳机没有声音

    今天早上正准备学习英语 xff0c 发现耳机插入电脑没有声音 xff0c 于是开始找百度 xff0c 一步一步剥茧抽丝去查找问题来源 问题 xff1a 点击喇叭出现如下图片 xff1a 平常只有右半个图现在却有两个图标了 步骤 xff1a
  • 如何写好技术文档——来自Google十多年的文档经验

    已剪辑自 https zhuanlan zhihu com p 393553478 本文大部分内容翻译总结自 Software Engineering at Google 第10章节 Documentation 另外 xff0c 该书电子版
  • 如何编写好的软件设计文档

    文章目录 为什么要写设计文档 设计文档中应该包含哪些内容 标题和人员 概述背景 目标和非目标 里程碑 现状 建议方案 替代方案 可测试性 监控和报警 跨团队的影响力开放性问题详细的范围和时间表如何编写尽可能简单尽可能使用图和图表包含数字试着
  • 软件开发总结

    文章目录 结构化方法Jackson方法原型方法面向对象方法敏捷方法水晶法并列争求法自适应软件开发 xff08 ASD 软件设计的演变过程序言结构化程序设计面向对象程序设计设计模式设计原则领域驱动设计DCI架构模式领域专用语言微服务架构模式小
  • 软件开发中会使用到的图

    文章目录 软件开发中会用到的图一 背景二 图为了解决什么问题三 不同流程中适合运用的图四 实际的运用五 结语 软件工程中的各种图软件工程用的15种图数据关系流图怎么画 xff1f 这款软件教你轻松绘制关系流图数据关系流图的常见用途数据关系流
  • 软件耦合的分类及解决方法

    文章目录 什么是耦合 解耦高内聚与低耦合耦合内容耦合公共耦合外部耦合控制耦合标 xff08 印 xff09 记耦合数据耦合非直接耦合 内聚 什么是解耦公共耦合 c语言例子 小小的公共库 xff0c 大大的耦合 xff0c 你痛过吗 xff1
  • 机器学习在分子模拟中的应用

    文章目录 一 背景二 分子动力学模拟介绍简史基本步骤应用发展方向 三 AlphaFold 前言 Alphafold2做了什么改进 Alphafold2会议具体细节 xff1a Alphafold为什么强 xff1f 学术问题 xff1a 四
  • 一个重要的问题:怎么寻找自己的终身事业呢?

    已剪辑自 https mp weixin qq com s OJX2FZ TtdPxWg1V6gr6gA 前文写过我们每一个职场人都应该寻找自己的终身事业 xff0c 而不是机械地打工赚钱维持生活生存的薪资 一些读者看完后跑过来问 xff1
  • 腾讯技术总监的转行感悟

    已剪辑自 https mp weixin qq com s 3bJVRGf91bThnZo74g3Sw 今天分享一个新东方在线前同事写的文章 xff0c 说来也巧他的文章写的人恰好是我下属老杨 老杨也代表了技术人到中年的一种转型思路 xff
  • 30多岁的每一步都很重要

    人生有不同阶段 xff0c 每个阶段都挺重要 xff0c 但最重要的是30岁 40岁这个阶段 30岁之前我们很难找到终身奋斗目标 很难构建多元化财务收入 很难成为行业专家 我们甚至还是懵懵懂懂的状态 xff0c 沉迷于某个并不重要的人 并不
  • 重要的是改变命运,而非升职加薪

    已剪辑自 https mp weixin qq com s biz 61 MzA3MzA5MTU4NA 61 61 amp mid 61 2247505468 amp idx 61 1 amp sn 61 1373f053179462101
  • SQL Server 2012 导出数据及分离MDF、LDF

    最近在设计数据库时看到自己设计的数据库和师哥师姐给我们的不一样 xff0c 于是就查了一下把数据库导出写了下来 分离数据库步骤 这是师哥师姐给我们的数据库格式 xff0c 如下 xff1a 那么如何生成MDF和LDF格式的数据库呢 xff1
  • 怎么找到贵人?

    已剪辑自 https mp weixin qq com s biz 61 MzA3MzA5MTU4NA 61 61 amp mid 61 2247506375 amp idx 61 1 amp sn 61 6008cc68a5967d3db
  • 14种主流的RTOS 单片机操作系统~来学!

    已剪辑自 https mp weixin qq com s YQGaBlluBWFbk01K5qCu A 单片机编程时 xff0c 我们都知道有两种基本操作 xff1a 裸奔和操作系统 所谓裸奔 xff0c 就是一个大循环往复执行 今天要讲
  • 读《工作多年后,嵌入式工程师的区别在哪儿?》有感

    读 工作多年后 xff0c 嵌入式工程师的区别在哪儿 xff1f 有感 已剪辑自 https mp weixin qq com s N32aKmTSmAAQ7KzLveKZRg 面试了很多人之后 xff0c 我开始思考 xff0c 一个工作
  • 嵌入式软件编程模式

    文章目录 嵌入式软件编程模式基于周期调用的运行模式基于中断的前后台运行模式基于事件队列的运行模式带时间信息的事件队列运行模式周期任务运行框架 整理自 xff1a AI嵌入式系统 xff1a 算法优化与实现 本章介绍嵌入式软件编程模式和通用软
  • 嵌入式AI入坑经历

    转载于知乎稚晖君 xff1a https zhuanlan zhihu com p 115598733 本文来自前几天 量子位 对我的采访内容 xff0c 文章里分享了一些我个人的心路历程和对开发者的建议 其实很多大家私信我的问题我以前都在
  • 嵌入式开发,从开发板到产品的过程是什么样的?

    始终搞不懂 xff0c 比如在51单片机 AVR或者树莓派等等的单片机开发板上开发出一套系统之后 xff0c 怎样进一步发展成为一个具体产品的 xff1f 这个过程是什么样子的 xff1f 举个例子说 xff1a 我在51单片机上完成了一个
  • 虚拟+现实:半实物仿真测试和全数字仿真测试有效保证嵌入式系统的健壮与可靠

    已剪辑自 http www kiyun com Show news cid 11 id 273 html 随着现代信息技术与软硬件技术的快速发展 xff0c 嵌入式系统的功能日益强大 xff0c 嵌入式设备和软件应用领域越来越宽泛 近年来