实时级嵌入式系统半实物仿真测试平台选型情况

2024-04-25 06:58

本文主要是介绍实时级嵌入式系统半实物仿真测试平台选型情况,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 一、 技术要求及设备选型情况

1、技术要求

系统采用上下位机的结构,上位机要求功能丰富、灵活易用,下位机要求实时性高、仿真能力强、同步效果好;

可实现高可靠性强实时测试,响应时间≤1ms;

系统具有集成的统一工作环境。集成的测试设计、执行及管理环境,包括项目管理、仿真建模、接口协议描述、测试资源规划、实时监控设计、测试用例开发及管理、测试执行、测试数据统计及分析、测试报告生成等功能;

支持的I/O接口类型包括:RS232、RS422、RS485、CAN、TCP、UDP、AD、DA、DI、DO、1553B、ARINC429等,并可允许根据测试需求补充扩展;

具有仿真建模手段,支持通过图形化界面对被测设备(系统)外部交联环境进行定义和编辑,并定义协议数据与物理层传输通道;

具有通用化的通信协议定义与描述语言处理环境,可以定义和描述各类结构的总线协议;

具有开放的协议模板管理接口,通过不断在测试中积累各领域的应用层协议,可实现针对不同领域嵌入式系统自动化测试解决方案的快速构建;

支持实时图形化监控窗体,包括控制类、表格类以及显示图形;可通过枚举、虚拟仪表、状态灯、曲线图等手段实时监控关键变量;

支持报警条件设置,在达到报警条件的时候以醒目的方式显示报警数据;

支持监控仪表协议字段绑定方法,支持收发数据字段的双向绑定,并具有表达式绑定能力;

支持多监控窗体设计与运行,支持网络环境下任意桌面的监控窗体运行;

提供测试用例脚本编辑与开发环境,通过简单的通道与协议字段赋值,便可完成测试数据的收发与测试逻辑的判断;

提供测试执行实时上位机模块,实现测试执行时实时动作脚本的编辑、编译、下载和调试;

实时动作脚本语言具有时序型、反应型、前摄型、顺序型四种动作模式,允许多模式嵌套与混用;

提供测试执行实时下位机模块,装载实时动作脚本,实现测试执行的实时动作仿真;

提供matlab/Simulink接口集成方案,可利用Simulink现成的仿真模型进行仿真测试,仿真模型参数可配置;

具有插件化的功能扩充能力,无论是通信协议描述还是测试用例描述,平台都均需提供对插件的开发支持;

可按二进制、八进制、十六进制以及解析后的数据的形式监测输入与输出的报文并查询过滤;

支持测试结果的查看、测试报告自动生成;

支持单配置项单接口和多接口以及多配置项的系统测试。

2、设备的初步选型情况

经调研,目前国内市场上嵌入式系统软件安全性测试工具主要分为以下三类:纯硬件方式、纯软件方式和硬件与软件结合的方式。

纯硬件的嵌入式系统测试平台主要是利用示波器、逻辑分析仪、协议分析仪、波形发生器等仪器设备实现对嵌入式系统的测试,尽管这些仪器设备具有比较高的性能,可以实现对嵌入式系统数据总线和控制总线非侵入式的数据采集和监控,但它们主要应用在嵌入式系统硬件的设计和测试工作中,可以较好地实现硬件层和链路层的测试与分析,对嵌入式软件的安全性测试能力则比较薄弱,不能支持各个测试接口之间的数据关联,对于应用层协议的分析与判读自动化程度不高,对测试结果分析的要求较高。

纯软件方式的嵌入式软件测试平台利用全数字仿真技术,在PC机上模拟整个嵌入式硬件系统,不但包括核心CPU,而且将外围各种器件,如串口、定时器、通用输入输出接口等进行数字化的仿真,嵌入式软件无需改动或者稍加改动就能在这个仿真环境下运行,通过仿真模型内建的测试接口导出和发送测试数据,驱动被测软件运行,实现对嵌入式系统软件动态的封闭测试。纯软件方式的嵌入式软件测试平台难以适应当前硬件芯片不断更新的现状,许多项目也都是针对某一特定的硬件平台进行全数字仿真研究,难以通用,并且尚停留在实验室研究阶段,还没有形成可供选择的有效产品。

硬件与软件结合的嵌入式软件测试平台是当前较为实用的嵌入式系统软件安全性测试解决方案,同时也是发展趋势,这类测试平台又分为两类。一类是以实现嵌入式软件插装和插装信息收集为主要目标的嵌入式软件覆盖率和安全性能测试工具,如AMC公司生成的CodeTest以及LDRA公司生产的Testbed,这种测试平台通过信号捕捉探头进行插装数据的采集和上传,关注的重点是嵌入式软件内部的逻辑结构,而不是嵌入式软件外部的功能表现,与嵌入式系统确认测试的要求有较大的差距。另一类软硬件结合的嵌入式测试平台则以系统确认测试为主要目标,通过集成各类总线板卡,开发测试应用程序,实现对嵌入式系统非侵入式的闭环测试,测试的主要对象是嵌入式系统的功能、性能、边界、可靠性和安全性等外部质量特性,这些外部质量特性也是嵌入式系统用户关切的质量特性。

硬件与软件结合的以系统安全性测试为主要目标的测试系统比较适合于我单位的测试应用,该类型的测试系统主要有国外的Trace32、dSPACE等,国内的主要有凯云联创(北京)科技有限公司的ETest_RT、上海创景计算机系统有限公司的AutoTest以及北京航空航天大学的GESTE。

dSPACE 实时仿真系统是由德国dSPACE 公司开发的一套控制系统开发及测试的工作平台,实现了和 MATLAB/Simulink 的完全无缝连接。dSPACE由代码生成及下载软件、综合试验环境软件、自动化测试工具等组成。dSPACE主要用于控制系统的设计、仿真及测试过程中。dSPACE属于国外的产品,在控制系统测试方面能力较强,但价格昂贵,开放程度不足,不太符合测评中心的使用需求,无法提供定制化服务。

国内的ETest_RT、AutoTest、GESTE具有完全的自主知识产权,均是针对于嵌入式系统进行实时、闭环、非侵入式测试的自动化测试平台,适用于嵌入式系统在设计、仿真、开发、调试、测试、集成验证和维护等各阶段配置项级别和系统级别的安全性动态测试与验证。通过对以上国内外产品的调研,这些产品各有特点,主要特点及对比情况如表所示:

表1 国内外产品特点对比表

序号

功能及指标情况

ETest_RT

AutoTest

GESTE

dSPACE

1

系统架构

上位机+下位机

上位机+下位机

上位机+下位机

上位机+下位机

2

支持分布式部署

支持

不支持

不支持

支持

3

实时性指标

VxWorks实时机,≤100us

Linux系统,≤10ms

VxWorks实时机,≤1ms

RTI实时机,≤100us

4

支持的接口类型

RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429、继电器、PWM、计数

RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429

RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429

RS232/422/485、CAN、TCP/UDP、AD、DA、DI、DO、1553B、ARINC429、ECU、LIN、PWM、Multi-I/O、增 量

编码器接口、

4

测试方案管理

测试方案支持多项目管理

测试方案支持多项目管理

测试方案支持多项目管理

测试方案支持多项目管理

5

交联环境描述

可视化绘制交联环境

可视化绘制交联环境

可视化绘制交联环境

可视化绘制交联环境

6

接口协议描述

DPD语言描述协议,兼顾复杂性、灵活性

表格形式描述,难以描述复杂的协议

表格形式描述,难以描述复杂的协议

SIMULINK 框图形式描述,兼顾复杂性、灵活性

7

通信协议的支持

支持协议模板的导入与导出,形成行业协议模板

协议描述只能用于一次测试方案

协议描述只能用于一次测试方案

允许指定处理器之间的数据通讯协议

8

图形化监控设计

具有通用控件、监视控件、控制控件类型划分,监视窗体设计支持协议的双向绑定与表达式绑定

具有可视化的监控窗体设计功能,不支持表达式绑定

具有可视化的监控窗体设计功能,不支持表达式绑定

具有可视化的时间响应或仪表

9

测试执行监控窗体的分布式部署

支持

不支持

不支持

支持

10

测试脚本开发

既支持Python脚本,也支持类JavaScript脚本

完全图形化脚本

C语言脚本

Python语言脚本

11

测试自动化框架

建立测试脚本,自动生成前置条件、后置条件、测试数据以及测试数据自动测试脚本框架

需用图形化的方式绘制测试序列,测试数据无法批量定义

无测试自动化框架支持

提供自动测试库,实现测试自动化

12

测试实时数据查看

支持测试数据的实时查看与分析,可设置报警条件与过滤条件

支持测试数据的实时查看与分析

需定义测试数据的收集机制,提供测试数据的事后分析

提供监视窗口实现出错监视功能

13

插件化功能扩充

提供插件化功能扩充接口

无插件化扩充接口

无插件化扩充接口

提供插件化功能扩充接口

14

外部仿真模型集成

可实现Matlab/ Simulink仿真模型的集成

无法实现外部模型的集成

可实现Matlab/ Simulink仿真模型的集成

无缝连接Matlab/ Simulink仿真模型

15

测试报告生成

支持测试报告的生成

支持测试报告的生成

不支持测试报告的生成

支持测试报告的生成

根据对以上四款产品的对比分析,ETest_RT具有如下特点与优势:

(1)系统具有扩展与适应能力强的特点,分层构件化的软件架构使得系统可以灵活集成各类测试仪器;

(2)系统提供了用DPD语言描述通信协议的方法,使得系统可以适应几乎任何类型的自定义通信协议;

(3)测试执行监控窗体设计具有友好的人机交互性,可以在不编写任何测试用例脚本的情况下完成基本的测试任务;

(4)系统不仅提供了强大功能的Python测试脚本开发功能,还提供了类Java Script的实时动作脚本开发功能,供测试用例开发时针对不同的应用灵活选择;

(5)软件采用分布式计算技术,既能满足小规模的测试需要,也能满足测试系统分布式部署的需求;

(6)系统实现了面向测试人员的实时动作脚本开发语言,提供了大量与测试相关的测试原语,学习和使用都非常简单;

(7)系统提供了脚本执行的自动化框架,可自动建立前置条件、后置条件和测试数据池,与软件自动化测试的贴合度较高。

凯云联创(北京)科技有限公司在国产自主可控软件测试类产品的研究、开发方面具有深厚的技术基础和行业背景,主要产品覆盖软件测试业务全过程,其中有自主研发的嵌入式系统测试平台集成开发环境(ETest Studio)、便携式嵌入式系统半实物测试平台(ETest_USB)、工业物理系统测试验证平台(ETest_CPS)、实时级嵌入式系统半实物仿真测试平台(ETest_RT)、嵌入式系统测试教学实训平台、软件测试项目管理系统、测试数据生成与管理软件等。基于ETest Studio所开发的系列产品(ETest_USB、ETest_CPS 、ETest_RT)已在装甲兵工程学院、陆军装备软件测评中心、航天三院33所、合肥电子工程学院等单位得到成功应用。

综上所述,凯云联创(北京)科技有限公司在公司和产品、技术、服务等方面都具有一定的优势和特色,且较为适用于我单位装备型号的嵌入式软件安全性测试任务的开展和测试平台的研究工作,有利于解决目前测评中心测试环境构建能力以及安全性测试自动化程度不足的问题,实现装备嵌入式软件的深度测试,提高我所装备型号嵌入式软件的质量。因此本项目拟购置1套ETest_RT。

这篇关于实时级嵌入式系统半实物仿真测试平台选型情况的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/933982

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

python多线程并发测试过程

《python多线程并发测试过程》:本文主要介绍python多线程并发测试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、并发与并行?二、同步与异步的概念?三、线程与进程的区别?需求1:多线程执行不同任务需求2:多线程执行相同任务总结一、并发与并行?1、