1.设备组成
ETst_USB系统主要由硬件部分与软件部分组成。硬件部分包括1553B板卡、RS232/422/485板卡、CAN总线板卡、AD采集板卡、DA转换板卡、DI/DO板卡等。所有硬件板卡均采用USB的接口形式,从而灵活便携,能适应多种测试环境搭建的需要,同时也有利于充分利用现有的测试资源。软件部分由测试设计软件模块、测试执行服务软件模块、测试执行客户端软件模块、设备资源管理软件模块等主要软件模块以及曲线数据生成、CRC插件生成与诊断、测试数据记录与查看、应用协议生成工具、应用协议模板管理、测试报告生成等系列工具组成。系统架构如下图所示。
使用ETest_USB平台进行装备嵌入式系统软件测试的步骤如下图所示:
首先使用测试设计软件建立待测系统模型、设计测试用例及数据、生成测试目标文件。
然后利用CAN、RS232等各类通信板卡形成适合于待测单配置嵌入式设备或待测嵌入式系统的适配接口,连接到待测系统。
接下来使用测试执行服务软件读取测试目标文件;测试执行服务软件驱动测试执行客户端软件,测试执行客户端软件将测试数据转换为各类板卡的输出数据输出到被测对象,从而驱动被测对象的软件运行。
同时,被测对象运行所产生的输出数据发送到通信板卡接口,通过测试执行客户端软件进入测试执行服务软件中。在测试过程中可以通过测试数据记录与查看软件和测试监控软件对测试数据进行监控、分析与评估。
ETest_USB采用构件化分层的软件开发框架,软件使用Visual Studio 开发环境,底层代码采用VC++语言开发,集成框架基于Micosoft .Net 4.0,集成开发语言使用C#,形成如下图所示的分层结构。
ETest_USB软件由服务器软件与客户端软件形成C/S结构的软件,客户端软件负责运行与通信板卡的交互,服务器软件负责实现测试设计与测试执行调度,一个服务器与多个客户端可以形成不同规模层次的测试系统,以确保满足不同规模的测试需求。
软件架构共分为5层,分别为设备驱动服务层、通信服务层、协议服务层、应用服务层和应用层,通过这5层结构,实现了软件的构件化与模块化,确保能够适应快速变化的测试需求。
驱动层服务层用于在操作系统中安装板卡所带的各种驱动,包括RS232、RS422、RS485、CAN、AD/DA等设备的驱动,实现系统对所有硬件设备的统一管理,通过驱动服务层,测试平台将复杂的硬件设备管理进行封装与统一。
通信服务层用于在驱动层的基础上,封装成程序编程接口,以屏蔽不同的硬件设备通信编程接口的不同,通信服务层包括CAN通信、RS232通信、RS422通信、RS485通信等,通过通信服务层可以确保上层应用软件进行调用通信时能够统一实现。
协议服务层用于对通信协议进行描述与解析,包括DPD语言编译服务、协议模型抽象、通道模型抽象、数据类型抽象、条件逻辑抽象、计算模型抽象、数组模型抽象、校验模型抽象、校验算法接口模型等,通过协议服务层,实现了应用服务层的通信协议编解码。
应用服务层通过系列应用构件为实现测试平台的主体应用奠定了基础,包括了测试方案、测试项目、仿真模型绘制、通道管理、协议管理、外围设备、监控设计、监控运行时、I/O中心、元数据服务器、脚本解析、客户端管理、时序处理、多线程服务、数据对象编码/解码等。
应用层是ETest_USB测试平台的主体应用部分,包括测试设计软件、测试执行服务软件、测试执行客户进程与数据监控软件、设备资源管理软件以及一些工具辅助软件。
2.各模块主要功能
(1)硬件部分
ETest_USB硬件部分采用USB形式的便携式接口板卡,直接通过USB连接到测试主机中,构成可满足多种类型接口要求的测试环境。主要硬件部分的指标如下:
① ARINC429模块
通道配置:2发2收
支持100K/50K/48K/12.5KBPS及用户自定义波特率
支持FIFO和Schedule两种发送模式
支持SDI和Label两种接收过滤模式
支持Time Stamping
支持中断、外触发
② 1553B模块
完全遵守MIL-STD-1553B协议
单通道多功能
支持1M波特率
通道为双冗余的A、B通道
帧间隔和消息间隔时间可软件设置
支持时间戳,分辨率1μs
支持自测试、错误注入
支持中断、支持外触发
③ RS232/422/485串口模块
通讯协议:异步RS232/422/485可软件设置
通道数:RS232/422/485各2路
波特率,125kbps
④ CAN模块
兼容CAN2.0A和CAN2.0B协议,支持标准帧和扩展帧;
通道数:2
支持双向传输,CAN发送、CAN接收
DC2500V电气隔离保护
支持数据帧,远程帧格式;
CAN控制器波特率在5Kbps-1Mbps之间可选,可配置;
⑤ AD模块
32路单端/16路差分输入
单通道采样率最高1MSPS
ADC分辨率:16bit
外触发功能
⑥ DA模块
4通道输出
DAC分辨率:16bit
⑦ 光隔离离散量I/O模块
16通道DIDO
每通道光电隔离
⑧ 测试主机
CPU: 双核 i5-6200U 2.3GHz
内存:DDR4 2133MHz,8GB
固态硬盘:256GB
显示屏幕:14英寸,分辨率1920*1080
独立显存:2GB
(2)测试设计软件模块
测试设计软件模块对待测系统及其对外接口进行建模,进行协议编辑及分析、创建测试监控、建立硬件规划、创建及管理测试用例,确定测试要准备的接口设备数量。其主要功能包括:
进行测试方案管理,针对测试方案的操作有:新建方案、打开方案、保存方案。
每个测试方案中,可以包含一个到多个测试项目,多个测试项目的存在使得每个测试方案可以完成多个测试项目的设计,便于开展多个配置项到系统的集成测试。
测试项目有新建、重命名、删除和查看属性的操作。
用图形化的方式对被测系统、外围系统及被测系统对外接口进行描述,包括接口数量和接口类型,包括RS422、1553B、CAN、AD、DA、DI、DO、CT、Freq-CT、TCP等类型;能够设定接口参数。
创建接口协议,并使用协议描述语言进行协议描述,包括报文包头、包尾、校验等,描述各个字段类型及编码方式,以及分支、循环等结构。
为了适应各种数据通信的需要,协议字段具有丰富的类型,包括:整形(无符号和有符号,8位/16位/32位/自定义长度)、浮点型、布尔类型、条件语句类型、分支语句类型、计算字段、校验字段、数组字段。
创建测试监控,描述实时数据监控的监控内容和显示形式,并可设定报警条件。
用户可以在测试监控模块添加测试监控并在监控面板上添加数据监控仪器,通过不同的类型监控仪器绑定协议字段或者字段按照某种公式运算的结果,从而在运行时通过监控仪器指针或数值的改变直观地显示出测试通讯时数据的变化。
测试监控工具栏管理所有的测试监控仪表,包括数字表仪器,圆盘仪表,曲线图,枚举类型等。选择合适的监控仪表,将其拖拽到监控面板的合适的位置,即可添加该监控仪表到监控面板上。用鼠标拖拽监控仪表的边缘,即可调整其大小。
打开“属性”标签页,可以修改测试仪表的属性。其中最重要的属性是“协议段”属性,表明了该监控仪表的数据来源。
通过“协议段”属性右侧的展开按钮,可以打开“绑定数据协议”对话框,其中显示当前项目中的仿真模型中的所有的协议和协议段。
测试仪表的数据源,既可以是一个协议字段,也可以是若干个协议字段组成的公式。
在“绑定数据协议”对话框下部的输入框中输入协议字段,或协议字段组成的公式。双击需要的字段名称,可以添加该字段名称到自定义公式的光标所在位置。
创建测试硬件规划,确定测试需要使用的接口板卡设备,以及接口板卡设备对应的资源。
创建测试用例,并提供测试用例的管理方式,包括分组、删除、重命名等。
创建测试用例的内容,包括使用测试脚本描述测试的过程,包括变量定义、条件语句、循环语句、输出语句、数学运算、函数定义等。
提供测试脚本的扩展接口,能够实现向待测件的数据交互和数据自动解析,将比特流解析成具有意义的应用层数据。
提供时序控制的方式,能够按照一定的时序进行规定的操作。
提供运行环境设置方式,设置测试运行期间的仿真模型服务器、数据中心服务器、测试执行服务器和客户端的IP地址和端口号。
提供对标准输入输出监控进行配置的功能,确定标准输入输出监控的类别配置。
提供测试脚本执行方式,能够运行用户选择的测试脚本;用户能够选择终止脚本运行。
能够查看输出信息及错误信息。
(3)测试执行服务软件模块
测试执行软件模块为自动化测试执行软件的主要部分,与客户端软件相配合,驱动测试数据,进行自动化测试执行。主要实现以下功能:
提供进程调度服务后台运行程序,在进程调度代理的帮助下,根据测试设计软件的设计,在测试主机上启动测试执行、客户端、服务器等进程,并通过进程调度服务协调各个软件的运行逻辑。
提供仿真模型服务器后台运行程序,通过仿真模型服务器解析测试设计所建立的仿真模型,实现测试执行时数据收发的仿真解析服务。
提供数据中心服务器后台运行程序,在测试用例执行过程中,在数据中心服务器中集中统一处理通道中的收发收据,确保数据监控的分布式实现。
提供用例服务器后台运行程序,解析处理测试设计中所编写测试用例的执行过程。
提供标准输入输出监控窗口程序,可以显示仿真模型服务器、数据中心服务器、客户进程以及用例服务器运行过程中的调试信息。
解析测试脚本中的变量定义、条件语句、循环语句、输出语句、数学运算、函数定义等语句,进行相应的操作。
解析测试脚本扩展接口,实现向待测系统进行数据发送/接受和数据解析。
解析测试脚本,按照时序控制要求进行操作。
向客户端软件发送的测试数据注入包;接收客户端软件所发送的测试数据输出包。
按照用户要求即时停止测试用例的执行。
记录并显示测试用例的执行结果。
(4)测试执行客户进程及数据监控模块
测试执行客户进程及数据监控模块运行在测试主机。主要实现以下功能:
提供设备驱动功能,实现1553B、CAN、RS422、RS232、AD/DA/DI/DO等接口板卡的驱动能力。
测试执行客户软件同测试执行软件均运行在测试主机,采用内存机制交换数据。
同被测件通信使用测试设计软件中配置好的通信参数。
提供方便的硬件板卡扩展方式,方便新的硬件板卡的集成。
接收来自测试执行软件发送的测试数据注入包,进行数据格式的转换,并通过通信板卡发送到待测件。
接收来自被测件发送的测试数据输出包,并转发到测试执行软件。
登录测试服务软件后,显示测试设计软件设计的全部测试监控界面,可选择一个或多个测试监控面板进行测试监控。
运行指定的测试监控,在测试执行过程中实时显示指定的测试数据,提供数字仪器、仪表盘、枚举项、曲线图等数据监控方式。
可以实时显示测试执行中的测试数据;
可以以解析后的协议数据格式显示测试数据,也可以以二进制、八进制、十六进制显示测试数据。
可以设置数据过滤条件,实现界面显示特定数据的功能。
可以设置数据报警条件,当出现某种特性数据时,软件以醒目的形式显示出满足报警条件的数据。
可以进行数据查询,可以查询某个时间段的报文,也可以查询某个协议字段的数据。
可以对指定的数据进行统计,也可以查看数据曲线图。
(5)设备资源管理软件模块
设备资源管理软件模块提供了系统支持的测试设备及通道的管理功能,提供了系统设备扩展的接口。其主要实现以下功能:
添加、删除系统设备。
修改系统设备的数量。
添加、删除设备包含的通道。
修改设备包含的通道的数量及类型。
保存设备信息到设备资源文件中,在测试设计软件中使用。
(6)辅助工具
工具软件提供了嵌入式系统测试时部分常用的软件工具,主要包括以下软件模块:
曲线数据生成工具;
具有曲线数据编辑、坐标选择、曲线数据读取、曲线数据存储等功能,配合测试执行软件,提供一种测试数据生成手段。
测试数据记录与查看工具;
在测试执行时,可记录测试执行中的数据,供测试执行结束后查看与分析,包括协议选择、数据过滤、报警条件设置功能。
应用协议生成工具;
提供应用协议的表格化编辑功能,可以设置协议的字段组成、字段类型、字段默认取值等。
CRC插件诊断器与CRC插件生成器
提供CRC校验算法的设计功能,可设计自定义的CRC算法,诊断其算法正确性,并最终形成协议描述语言中的CRC字段算法插件。