公承,丁志钊,方开庆

(中电科思仪科技股份有限公司,山东青岛,266555)

0 引言

有源相控阵雷达是一种多功能、高性能的雷达,依靠其灵活的波束扫描方式、可变的参数控制、多种工作模式、高效的资源配置以及较强的抗干扰和发现隐身目标的能力[1]越来越受到重视。本文研究的被测件——多通道收发组件是相控阵雷达重点研发的核心部件。它的测试状态多工作量大,如果采用人工测量,可操作性极低,根本无法满足科研和生产进度要求。因此自动测试技术的引入是收发组件发展的必然趋势和必需手段,收发组件的测试技术是影响产品研制与生产效率及产品质量的关键技术之一。

如何提高测试效率是收发组件测试技术研究的重要方向。本文研究对象的测试通道、测试参数和状态数量都很大:被测件测试通道多达64个,待测试参数包括了频谱参数、网络参数、功率参数等十余种,衰减和移相测试的状态数最多可达到6万多个,这对测试系统的效率提出了更高的要求,因此,本文研究的测试系统软件的效率提高策略和方法具有一定的代表意义。同时,这也对测试系统的效率提出了更高的要求,在系统软件中必须使用专门的优化方法来提高测试效率。本文将着重讨论测试序列和软件界面的优化方法和设计方法。

1 软件优化概要设计

本系统软件基于TestCenter软件平台,功能分为用户交互层、测试执行层和数据管理层三部分,如图1所示。

图1 系统软件功能示意图

为解决收发组件测试中遇到的问题,将按照测试程序实现的顺序,以下几个方面对测试程序进行优化处理:

(1)优化系统网络参数校准方法:使用数据库代替矢网状态文件存储数据,能够有效减少矢网状态文件数量,减少手动操作,提高测试效率。

(2)优化被测件测试测试检验流程,提高检验测试效率。

(3)优化仪器控制指令流程等方法优化仪器设置,提高测试效率。

(4)通过多线程处理、数据库技术以及测试与报表分离等多方面优化系统数据处理方式,提高测试效率。

2 软件优化实现

TestCenter软件平台中的测试程序是以测试序列的方式设计和执行的,这种开发方式速度快,编程工作量小,而且也便于用户进行二次开发。其缺点在于测试程序以序列的方式存在,缺乏整体性,不便于用户操作。因此为了提高系统的测试效率,主要从测试序列和操作界面设计两个方面优化测试程序。下面按照测试流程顺序对其中采用的设计优化技术逐一进行介绍。

■2.1 高效系统校准

高效系统校准的主要实现方法是采用数据库作为校准数据存储的介质,减少手动操作,提高校准效率。

一般的测试系统中由于测试通道较少,使用矢网进行网络参数测试前,往往需要对每个通道进行矢网设置,矢网仪器校准,通道直通、切换,测量数据,数据归一化,保存成矢网状态等多个步骤才能完成通道插损的校准工作,而且大多数步骤都由手动操作来完成。显然这将消耗大量时间,而且大量的手动操作,有违自动测试系统设计的根本宗旨。

引入数据库的目的主要是保存初始状态数据和通道差异数据。测试方法上也有所改变:矢网校准完成后开始测试时,原来由矢网归一化计算的功能由测试软件操作数据库来

实现,提高了测试效率。使用新的校准方法,只需要手动保存一个矢网初始状态文件,之后除了通道切换仍需手动操作外,其他操作都交给测试软件控制矢网来完成,大大简化了操作,提高了系统校准的效率。

■2.2 高效的被测件检验

结合被测件检验测试的需求,本文提出了为系统增加“快速测试”模式,以特征性代表性状态测试代替全状态测试来完成产品检验功能,提高检验测试的效率。

以接收相位测试为例,被测件相位控制码为7位2进制数,全状态需要测试27个相位状态。检验测试只需要明确每位控制码及其测试数据的正确性,因此,只需要每个数据位测试一次即可满足需求。另外,为方便计算控制精度,增加全零态测试,即检验测试只需测试8次,大大提高了测试效率。

■2.3 高效的仪器控制

除了测试策略的优化之外,程序还可以从仪器控制方面提高效率。测试程序是在计算机上运行,用于控制各种测试设备资源来测试指定的被测对象的软件的总称,它包含对测试过程的控制及对所测得的响应信号的处理。测试仪器是完成测试的主体,其控制效率是影响测试效率的重要部分。在本系统中,主要从以下几方面优化测试程序中的仪器控制。

(1)优化仪器延时。这里所说的延时主要是指命令响应延迟时间。命令响应需要延时的原因是仪器接收命令并执行相应的动作需要一定的时间,而该时间有可能大于两条命令执行之间的间隔时间。某些仪器会在其使用这类命令的驱动程序中做特殊的延时处理,但更多的时候仪器生产厂家只提供标准SCPI控制命令和未考虑延时的驱动程序。这种情况下就需要在控制仪器时手动加入延时。一般接收机类的测试仪器需要延迟响应,接收机在测量输入信号时需要扫描输入端口,在一次扫描完成之后才应该进行下一次扫描。接收机工作在连续扫描模式时,为了能够获取到完整的测量信号同时兼顾测试效率,仪器响应延时一般设置为单次扫描时间的两倍。在自动测试系统中,由于测试总线的延迟时间一般会小于扫描时间,更能提高效率的做法是,将仪器设置为单次扫描模式,每次测量执行一次单次扫描,最好在扫描命令之后加入标准SCPI命令“*WAI”,保证下一条控制指令发出前已经扫描完毕。本系统中使用矢量网络分析仪、频谱仪等测试时,均使用了该优化方法。

(2)优化仪器设置。一般来说,测试效率与测试精度二者不可兼得。例如通过减小矢网的中频带宽、频谱仪的分辨率带宽,可以减小测量中的随机噪声,提高测试精度,然而这会使仪器的扫描时间变长,增加测试时间。在实际测试时,需要测试人员在两项指标上适当地折中,以取得最好的测试效果。

■2.4 高效数据处理

使用数据库存储测试数据,将报表输出与测试过程分离,减少测试时间。原软件中采用TestCenter平台自带的Excel报表输出插件,考虑测试效率和报表的可读性,应该尽量减少了Excel程序打开的次数,但相应的每个报表中的数据量就会变大。仍以发射相位测试为例,使用矢网测试601频点相位数据,每个被测件输出一个报表,将包含64通道*601频点=38464个相位数据,输出时间大约15s。而且这种输出方式的另一个弊端是测试数据仅存在于报表和TestCenter平台内存中,不方便测试完成后的显示和处理。

为了解决这些问题,本人使用了多种手段来提高数据处理的效率,具体包括:使用数据库作为测试数据存储和管理的介质;引入多线程技术存储测试数据;将报表输出与测试过程分离开来,不再占用测试时间。

首先,数据库作为大量数据的专门处理工具,有其固有优势:可以方便的存取对象或图形格式的数据。在本软件中将测试数据数组转化为OLE对象后,不需要一个一个地存储数据,数据操作次数大大减少,数据存储时间也大幅度缩减。其次,数据库存储操作可以通过多线程实现。由于数据库的使用,使得数据存储时间要短于测试时间,因此当前状态测试完毕后,可以立即开启一个新线程并行的将数据存储起来,不会出现资源的竞争、死锁等问题,而且不影响主测试线程,能进一步提高效率。第三测试完成后再自动进行报表的输出:一次测试完成关闭软件时,检测在软件此次开启时间内进行的测试参数,然后将它们依次导出报表。测试数据已经存入数据库的情况下,就可以将测试与报表生成分离开,使得测试时间进一步减少。另外,在非测试时间用户也有可能要对数据进行查看、计算等管理,从数据库中操作和管理数据要比从报表中管理数据方便,减小了代码实现难度,更有利于开发。

3 设计效果

前文中论述的测试序列优化方法已经在某研究所的定制系统中使用。软件优化之后,测试效率得到来大幅度提高,整体测试效率提升了20%以上。测试操作界面得到用户认可和好评。为了验证测试参数的优化效果,选取了测试状态最多的发射相位测试、发射延时测试、接收幅度测试、接收变频衰减测试四个测试参数做了实验,结果如下。

前文论述的各种优化方法中使用数据库提高校准效率的方法由于存在手动操作,不具备统计意义而没有列表统计。快速检验测试模式已与全测试模式分离,其他方法对比一般方法的测试时间优化效果如表1和表2所示。

表1 仪器延时优化效果

表2 数据处理优化效果

从表1的统计数据可以看出,仪器的控制优化也能够提高测试效率,但是效果有限。

从表2可以看出在本项目中使用数据库能够提高测试效率10%以上,测试次数越多的测试项目效率提升越明显。表中的“每通道测试状态数”即为测试次数,也是报表的输出次数,测量次数越多对报表的操作就越频繁,因此优化后的效果就越好。

4 总结

提高自动测试系统的测试效率,一直是自动测试系统发展的一个重要方向。由于收发组件一般具有多通道,需要测试多个参数才能完成特性检定,这种需求就显得更为迫切。这些方法也可以运用到其他测试系统之中,为后续其他系统软件设计提供有效的参考。