微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于某航空电子设备的自动测试系统设计与实现

基于某航空电子设备的自动测试系统设计与实现

时间:04-17 来源:互联网 点击:

1引言

航空电子设备的测试要求利用有限的资源,构建功能多样化的自动测试系统。机载电子设备的信号多且复杂,涵盖了低频和高频信号、连续和离散信号,同时还包括一些非电信号。传统的测试系统采用分立仪器搭建,这种方法成本高,测量自动化程度低,扩展性差,因此要寻求一种实现高集成化应用广泛的解决方案。本测试系统的设计可以兼容两种航空电子机载设备的测试,两个机载组件是实现飞机瞄准显示、夜视稳定性和操纵性的关键环节。被测设备组件收发的信号包括数字发控信号,固定频率模拟信号,电机驱动脉冲信号,RS 232/RS 422串口信号等。组件的功能就是响应计算机的命令从而发出其他类型信号来操作相关的机载硬件设备。原有的测试环境是依照操作人员手动搭建的测试平台,包括示波器、开关量开关、万用表等,只能对设备一小部分功能进行检验,效率和准确性都有待提高。针对原有系统自动化程度低的缺点,本研究从软件和硬件两方面讨论了一种基于航空电子机载电子设备自动测试及调试系统的设计实现方法。

2测试系统的硬件设计描述

2.1 测试系统的功能和硬件组成

该自动测试系统覆盖了原有手动测试平台的所有功能,为方便和完善测试还增加了新的特性,具体包括以下几方面:

(1)测试系统的自检测功能,包括软件、硬件完整性自检;

(2)测试的可选择性,包括自动测试和手动调试测试,自动测试独立模拟被测试电子设备工作状况,按照设备正常工作流程进行一遍或多遍测试;手动调试测试时可以根据测试项目单步骤重复测试,方便错误定位;

(3)检测到产品故障时暂停检测并报故障,人工干预后可选择结束检测或继续检测其他项目,同时有例行测试功能可以保证被测设备在某一状态下进行长时间的状态监测;

(4)每次自动测试结果保存为一个单独文件,并提供打印输出功能;

(5)详尽的在线实时帮助辅助操作人员完成测试;

(6)测试系统可以同时测试4块机载电子设备组件,有效地提高测试效率。

整个测试系统(包括被测机载设备)由3个部分组成,如图1所示。



2.2测试系统主机和内部数据采集卡

测试系统主机是整个系统最重要的硬件平台。这里选用了ACME-EMP350便携式工控机作为测试系统主机。该型号性能稳定可靠,符合国军标,且主板有足够的扩展槽以备功能扩展。屏幕15.1寸,采用奔4主板,其他性能参数均超过主流工控机标准,完全能达到测试系统要求的稳定性和易操作性。

在分析被测设备信号形式和数量之后,并考虑同时测试4个设备,选择数据采集卡的类型如下:开关量输入输出卡2块,A/D,D/A卡各1块。为了简化系统设计和提高可靠性,数据采集卡选用NI公司和研华公司的成熟产品。

2.3转接机箱和信号调理控制卡

测试主机与被测设备之间由转接机箱相连,主要起到信号调理和控制的作用。转接机箱内部包括调理控制卡、开关电源、采集卡的适配器等,它们都通过D型连接器及电缆与主机采集卡互连。调理控制卡所需的+5 V和+28 V电源由转接机箱中的开关电源提供,其也为被测设备的正常工作供电。

信号调理控制卡负责系统的自检和测试状态的切换。测试系统采用软件控制的方式对信号调理控制卡进行信号调控,这样能够在不同状况下达到测试的目的。由于数据采集卡的输出信号特性和被测航电设备的要求不完全相同,需要加入信号调理控制卡使采集卡输出信号特性与被测航电设备匹配,比如模拟信号的幅度,数字量信号的电平值等。信号调理控制卡主要采用运放放大模拟信号以及继电器实现信号切换,功能实现简单,不再赘述。

3系统的软件设计描述

3.1软件设计思想

在测试软件的开发中,对应的开发平台有专门为虚拟仪器设计的软件LabView和Labwindows/CVI,VEE等,也有通用的软件开发工具VC++,VB等。专用的虚拟仪器软件开发平台优点在于开发周期短,缺点在于图形化的编程语言给开发者的自主性比较小,底层支持不够。而VC++开发比较通用,对底层的支持比较好,技术较为成熟,对于上层各种模块的实现方案也较多,因此采用VC++编程。

测试系统上层软件要求有简单易用的图形化测试界面,还要具备自动测试、手动调试测试、例行测试,以及测试结果打印、错误报告提示、系统自检测等功能。对应于不同的功能最好建立不同的功能模块,这样有助于测试通用性和移植性,对于将来扩展应用也非常有利。另外,将具体测试对象及代码功能进行封装,也有利于测试系统的维护。当然,应用程序必须对错误操作有良好的错误提示处理,这样能够有效地增加软件的容错性和可靠性。

3.2软件整体构架

测试软件设计采用分层结构,下层为上层提供服务,上层通过函数的形式接口使用下层来完成本身的功能,每一层的变更不影响其他层的正常工作。针对测试的要求以及设计理念,测试系统软件分成以下几个部分:硬件层,物理接口层,硬件驱动层,软件支持层,用户应用层。同时,每一层次当中有其对应的模块化处理,从而保证软件系统的健壮性和易用性。整个软件设计的层次关系如图2所示。



各层实现功能如下:

硬件层 安装有实现具体测试功能的适配卡、数据采集卡和串口,这些硬件设备是测试实现的核心,其通过J18C型电连接器,D型接口等与被测设备相连。

物理接口层 主要是指主机内采集卡提供的资源接口,另一方面它们主要通过ISA或PCI总线访问测试主机的板卡。同时物理接口层还包含相关接口卡I/O操作的“软性驱动”。

硬件驱动层 提供上层软件访问板卡硬件的方法,是软硬件通讯的桥梁。测试系统中,所有驱动都采用WDM编程技术。

软件支持层 它是系统设计和实现的核心,涉及到对硬件访问功能封装的API函数,对测试系统界面支持的导出类,对数据处理的算法、对硬件功能的封装(初始化,中断句柄传递,重置等),对动态连接库的设计布置等。各个功能模块负责各功能的实现并最终交给主线程综合控制模块来处理,其模块化设计为软件增添了灵活性和可靠性等诸多的优势。

用户应用层 为用户提供简捷易用的可视化图形界面操作流程,并减少了误操作的可能。应用层当中值得注意的几点分别是:自动测试报表的生成、保存和打印需要用到CView类提供相关的成员虚函数来实现,文字与表格线条输出采用CDC类实现,测试数据的保存需要用到CDocument类提供的服务对存储串行化成员函数Serialize(CArchivear)的重载来实现,而帮助文档视图则是通过HtmlView基类来实现的。整个软件视图设计采用多视图构架,特点是清晰且易操作。

3.3软件设计流程

这里介绍了测试系统手动调试测试的一般流程。测试的一般步骤包括软件初始化,测试系统自身软硬件自检,被测设备状态切换的测试,观测返回数字信号和模拟信号波形,模拟电机驱动信号控制电机旋转,最后保存结果。其简要的软件流程如图3所示。而对于自动测试来讲,实质上就是按照一定的工作流程和被测设备的工作状态切换来进行自主自动化的测试,总体的过程与手动调试测试相似,并生成测试报表进行记录保存。

3.4软件设计相关关键技术

3.4.1 面向对象与文档视图技术

文档和视图分离是MFC编程推荐的一种程序结构。在这种结构下,视图类处理跟界面有关的内容,而文档类处理跟存储有关的内容,两者通过GetDocument函数相关联。这样处理给编程带来了很多好处,首先这种方法强调了模块化的思想,两个类中分别处理不同的任务,而需要数据交换时再相关,因此提高了程序的模块化;其次两个类中都有很多各自的支持类和函数,特别是视图类,这样就不互相影响,最大方便地实现每个类的功能。

3.4.2 多线程相关技术

测试软件实现中采用多线程处理技术来调度多达4个组件共同测试的流程,同时数据采集与波形显示的同步也采用了多线程间的同步来进行协调。当然这些线程具体调度由操作系统完成,但从用户角度来看是同时并行运行的。Windows环境中系统通过时间片轮流的方式实现多线程,CPU为每个线程分配一个时间片,每个线程从被激活起,运行到时间片被耗尽为止,此时另一个线程运行。软件设计时只需要将用户界面消息循环和数据采集、处理分配在不同线程上,就可以避免计算机长时间不响应操作的问题。在软件具体设计过程中,使用了测试线程和界面线程。界面线程为主控线程,控制测试线程的开启、挂起和结束,提供消息循环并负责界面的生成和程序与用户的交互。测试线程为工作者线程,实现具体的测试功能,包括数据采集、数据处理和数据入库等。另外,系统自检测和自动测试模块也单独各占有一个线程从而大大提高了测试系统的运行效率。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top