软件测试转正总结范例6篇

软件测试转正总结

软件测试转正总结范文1

关键词:自动测试系统;VXI;LabVIEW

中图分类号:TP274;V247.1

在现代战争中,作战飞机需要高效、可靠的保障装备对其进行测试及维护。由于现有的测试设备操作复杂、可靠性差,且测试效率较低,因此就对新的测试设备研制提出了更高要求。

自动测试系统(Automatic Test System)始于20世纪50年代中期,经历了专用测试系统(第一代)、积木式自动测试系统(第二代,基于GPIB总线,由程控台式仪器组成)和模块化自动测试系统(第三代,基于VXI、PXI等总线,由模块化的仪器组成)三代。本文从工程角度出发,介绍了一种基于第三代技术的机载任务机自动测试系统,并详述了其硬件及软件的设计与实现。

1 测试需求分析

机载任务机是飞机航电系统的控制和管理核心,主要实现航电系统的通信管理、任务计管理、语音告警、综合显示管理及飞行员接口控制等。任务机的待测项目包括CPU自测试、离散量输入、离散量输出、模拟量输入、1553B总线、RS422总线、视频切换、语音告警、电源拉偏及整机功耗等。

2 硬件产品结构

根据任务机的测试需求,自动测试系统采用通用的VXI总线结构,以VXI测试设备为主,辅以控制设备等其它设备,主要的功能块有:

2.1 VXI系统:采用VXI标准总线,根据任务机测试的最大需求,选用标准的测试模块和机箱进行集成,主要包括离散量输入/输出模块、模拟量输出模块、RS422通讯模块、1553B通讯模块及切换矩阵开关等。各个VXI模块在机箱中通过VXI总线相连,受工控机测试软件的控制,为被测件提供激励信号并采集相应的响应信号;

2.2 控制设备:采用先进的工控机对各个设备进行控制。工控机内选用IEEE- 1394型零槽控制器模块,可直接将工控机和VXI 系统连接,实现对各种测试模块的控制与配置。工控机还具有GPIB接口和Fireware接口,均使用PCI总线板卡,分别用于工控机与程控电源、示波器,及与VXI系统之间的通讯;

2.3 接口适配器:包括接收器和固定器两部分。在接收器插件上有高频、低频、信号、电源和功率等各种插针组成的插针阵列,一端用于连接适配器插件,另一端连接到被测件,具有可靠性高、灵活性强及保护性好的特点;

2.4 视频显示控制设备:包括视频信号发生器、视频转换盒及多功能显示器(MFD)等,分别提供被测件的视频信号输入源、视频信号格式转换及视频输出终端;

2.5 测量设备:用于测量被测件的直流电压、直流电流及电阻,还可用于被测件特殊输出信号的测量,主要包括示波器和万用表;

2.6 供电设备:主要由为任务机供电的+28V电源和测试使用的+5V电源组成,均使用直流程控电源。还包括为系统紧急供电的不间断电源(UPS),可让用户在系统突然断电时有充分时间下电,保证被测件和自动测试系统的设备安全;

2.7 断点板:自动测试系统和被测件接口上的一个分支点,主要用于系统维护、检测测试设备的信号连接以及被测件关键信号测量等,且对断点板的测量点进行操作时不会影响被测件及自动测试系统的正常运行;

2.8 测试电缆:实现自动测试系统与被测件的电气连接。

自动测试系统的硬件组成如图1所示。

3 工作原理

根据机载任务机的实际功能划分,自动测试系统的测试项目应包括以下几个部分:

3.1 CPU自测试:测试应用软件向被测件的CPU模块发送自测试指令,CPU模块进行自检后将结果显示在工控机的屏幕上;

3.2 离散量输入:系统分别为被测件的每个离散量通道注入信号,同时启动接口读周期,读取各输入离散量经TTL转换后所对应的数据来检查离散量输入通道的正确性;

3.3 离散量输出:系统向被测件发送离散量输出指令,系统读取离散量输出值来检查离散量输出通道的正确性;

3.4 模拟量输入:系统向被测件输入电压模拟量,并将被测件采集的数据与注入的数据比较判定转换正确性及转换的精度。仿真卡输出的电压值可动态显示,方便测试者判定模拟量测试的正确性;

3.5 1553B总线:由系统的1553B仿真卡向被测件的MBI模块发送上/下网指令,并仿真它机设备向被测件发送数据包,被测件接收到后再回送至自动测试系统以判断通信是否正确;

3.6 RS422总线:由系统的RS422仿真卡仿真它机设备与被测件进行握手,根据被测件的请求发送命令字及数据包,被测件接收到后再回送至自动测试系统,并判断通信是否正确;

3.7 视频切换:视频信号自动测试系统的视频信号发生器提供,通过被测件的视频矩阵切换后,信号输出至自动测试系统的监视器和MFD来显示,由操作者观察显示图像的正确性;

3.8 语音告警:系统向被测件发送语音播放指令,被测件将语音信号输出至自动测试系统的音箱,由操作人员听取结果并验证正确性。同时语音信号连接至示波器输入,可以观测语音信号的电压幅值;

3.9 电源拉偏:自动测试系统通过GPIB可自动调整+28V电源输出,通过工控机显示器观测被测件的上电自检结果是否正确;

3.10 整机功耗:系统通过GPIB读取被测件正常工作时的电流值,该读数乘以28之后将结果显示在工控机上。

整个测试流程由工控机中的测试应用软件控制,测试完成后可生成测试数据或测试报表。

4 软件设计

机载任务机自动测试系统软件分为系统软件、测试应用软件及自检测软件。主要有:

4.1 系统软件:包括工控机中安装的Windows XP操作系统及各VXI模块的设备驱动程序,主要包括RS422仿真卡、1553B仿真卡、GPIB设备、D/A板卡、数字I/O转换设备的驱动程序等;

4.2 测试软件:主要实现测试管理、数据管理和系统帮助等功能,由LabVIEW工具进行开发。测试管理用来测试系统综合能力,通过向目标机发送模拟数据和指令,目标机运行真实的应用软件,判断能否正常工作来完成系统测试,包括测试项目选择、参数设置、仪器控制、数据采集和处理、波形输出、分析和显示等功能,是整个测试系统的核心;数据管理实现对测试数据的管理和维护,生成测试结果的报表和数据回调;系统帮助用于对用户进行系统介绍及操作指导;

4.3 自检测软件:用于对自动测试系统的硬件资源进行全面测试,确保该系统的正常运行,主要分为VXI总线测试、仪器自检测及电缆回绕测试。其中通过VXI总线测试可通过软件调用VXI模块自带的自检函数来实现;仪器自检可通过GPIB或LAN向仪器发送自检指令,并回读检测结果实现;电缆回绕测试由软件操作矩阵开关完成电缆的通断测试。

软件结构框图如图2所示。

图2 软件结构图

自动测试系统上电后,自检测软件首先进行系统硬件初始化,检查VXI总线模块是否连接正常。如果自检测不通过,则显示出未通过自检的模块;如果自检通过,则跳出登陆界面,输入用户名、密码及被测件号,登录测试应用软件主界面。进入主界面后,用户选择要操作的项目,测试软件进入相应项目的执行界面。在用户完成所有的测试后,测试应用软件进行数据收集,并将测试结果显示在屏幕上,也可输出至打印机。自动测试系统的测试界面如图3所示。

图3 测试应用软件界面

5 结束语

本文介绍的基于VXI 总线的自动测试系统,已成功应用在部队武器装备保障设备中,实现了对机载任务机高效、准确的测试。实践表明,其具有操作简便、工作稳定、测试精度高、软件界面简洁等优点,并能实时显示测试数据及打印报告。该自动测试系统的应用,降低测试人员的工作强度,有效地提高了测试精度、速度和自动化水平。

参考文献

[1]刘正升,万程亮,蒋志忠.自动测试系统中新技术的发展及应用[J].中国测试,2009,35(4).

[2]赵大鹏,刘泽乾.基于VXI总线的空空导弹发控平台测试系统设计[J].计算机测量与控制,2008,16(1):78-79.

[3]李林,赵明莉.某机载显示处理机测试设备设计与实现[J].测控技术,2012,31(8).

软件测试转正总结范文2

(北京空间技术研制试验中心,北京100094)

摘要:为了提高1553B总线测试系统应对被测系统在拓扑结构或通信协议变化时的快速可重构性,提出一种基于通用1553B总线仿真卡的快速可重构的1553B总线测试软件设计方法。分析当前1553B总线测试系统可重构性不足的缺点,详细介绍快速可重构1553B总线测试软件的设计架构和实现方法。这里提出的软件设计方法通过总线服务划分和托管的方式使软件的代码实现不依赖于总线协议的具体格式,并且极大地减少了软件编程的代码量,从而在代码可重构和配置可重构两方面实现软件的快速可重构。该软件设计具有可靠性强、编程效率高、重构速度快,现场可重配置等特点,其应用实例软件的代码重构率小于1‰,并已经在多个航天器的1553B总线子系统测试中取得了良好的效果。

关键词 :快速可重构性;1553B总线;测试软件;软件设计

中图分类号:TN912.202?34 文献标识码:A 文章编号:1004?373X(2015)14?0059?05

收稿日期:2015?01?19

0 引言

1553B 总线,全称为MIL?STD?1553B 总线,是一种集中控制式的数字时分命令/响应型多路串行数据总线标准,具有互连简单、高可靠、灵活性强和速率较高等优点。近年来,随着航天技术的进步,1553B 总线在航空航天等军工电子信息系统中已经得到了越来越广泛的应用[1?3]。

1553B总线系统采用集中控制、分布式处理的双冗余度总线系统结构,连接在1553B总线上的设备称为终端,分为总线控制器(BC)、远程终端(RT)和总线监视器(BM)3 类。其中BM 实现对总线上传输数据的采集监视,BC掌握总线系统的所有控制权,总线上的一切活动都由BC端发起和控制,BC与RT之间、RT与RT之间的相互通信遵循规定的1553B总线协议。通常在1553总线通信系统研制过程中,对BC和各RT终端之间规定的总线通信协议实现正确性的测试是必不可少也是至关重要的环节。总线测试也即对各RT设备的1553B总线接口的匹配性、总线通信功能的正确性乃至特定总线协议符合性的综合评价。

目前快速构建1553B 总线测试系统的方法即是采用基于总线仿真卡的1553B进行应用软件开发,这样的测试系统具备既简单快捷又灵活方便的优点,也正被越来越多的工程实践所采用。1553B 总线仿真卡可以实现对总线BC,RT,BM 终端的模拟,通过硬件厂家提供的SDK 库即可实现1553B 总线仿真模拟。虽然1553B仿真卡通常会自带有总线测试软件,但是这些软件是面向总线消息,而难以模拟完整的总线协议也不利于被用户直观掌握被测系统的状态,测试效率低下。

现有的基于仿真卡的1553B 总线测试软件在应用上存在一定的局限:文献[2?3]提出的1553B总线测试软件虽然对1553B 总线消息进行了仿真,但其主要侧重RT终端接口正确性的测试或对某一特定协议符合性的测试,不具备通用性和可扩展性。文献[1]虽然具有通用性设计,但软件功能单一,仅能够实现对总线消息进行单一解析,测试结果晦涩难懂,不具备人机交互性,测试效率较低,因而不能满足复杂总线协议测试要求。

在实际应用中,对于不同型号项目而言,其总线系统拓扑结构和采用的1553B总线协议不可能完全一致,同一型号航天器的不同终端设备在1553B 总线上传输数据的处理格式、内容及物理意义不同,而现有软件针对总线系统和通信协议多样性的适应性和通用性均相对较差,难以直接移植,尤其在待测系统拓扑结构或者总线协议类型的变化时几乎需要对整个软件进行重新设计。因此,面对越来越多的型号研制任务,构建一种快速可重构的1553B总线测试仿真系统,提供总线测试系统的构建效率对于提高型号研制效率,缩短研制进程,降低研制成本等各方面则显得尤为必要,具有及其重要的意义。

本文设计并实现了一种基于仿真卡的快速可重构1553B总线测试软件,通过配置可重构和代码可重构两方面手段,实现即能够应对总线系统拓扑结构的变化,又能应对总线协议类型的变化。首先提出了基于仿真卡1553B总线快速可重构测试软件的设计方案,分别对软件架构、通信层设计、应用层设计和接口设计进行说明,其次在此基础上对软件的快速可重构特性设计从配置可重构和代码可重构两方面进行了详细介绍;最后结合型号实际应用,给出基于该方法实现的软件实例及其代码评估。

1 1553B 总线测试软件设计

快速可重构的1553B 总线测试软件是基于1553B总线仿真卡开发,实现对航天器总线通信协议的仿真模拟。软件通过采用层次化设计架构将总线的底层总线消息通信和应用层总线通信协议仿真相分离,从而实现底层测试系统不依赖于1553B总线消息和RT终端参数的具体协议定义,保证了应用层面向总线通信协议的快速可重构的特性。

1.1 软件架构

快速可重构的1553B 总线测试软件总体上划分为应用层和通信层2部分。应用层负责和用户进行界面显示与交互;通信层负责通过1553B仿真卡与各终端设备之间进行总线数据通信。为实现软件的快速可重构特性,软件尽可能降低用户层和通信层之间的耦合度,即用户层和通信层在设计时通过独立的代码实现,其之间的信息交换通过特定接口开展,软件主要划分为3个部分:

(1)应用层:实行与用户直接的对话,包括界面显示与交互、用户对仿真卡的启动和停止的控制、被测系统面向用户的数据解析处理等功能;

(2)通信层:主要完成对1553B 仿真卡的控制、总线消息数据的发送和接收、周期性消息的更新与发送或接收;

(3)数据接口:主要完成应用层和通信层之间的数据和控制信息的交换,并完成数据区的管理和维护。软件的整体系统架构如图1所示。

通过层次化的软件架构设计,便于将1553 总线通信协议中的子地址协议转换为通信层的服务项,从而被应用层各RT对象所复用,大大减少应用层RT对象实例化的软件代码量,提高了应用层程序快速重构的效率。

1.2 通信层设计

通信层作为底层实现被划分为各种向应用层提供的数据服务。通信层软件代码通过调用1553B 板卡提供的SDK驱动程序,实现与1553B总线仿真卡的通信和控制;驱动总线仿真卡实现与总线终端的物理通信。通信层程序将需要通过总线发送的数据进行分解并通过驱动程序转换为遵循MIL?STD?1553B 总线标准的消息字进行发送,同时也接收来自总线其他终端发送的消息字,对消息字中的数据进行整合,从而供应用层使用。

通信层将总线消息划分为2类:周期性消息和非周期性消息。其中周期性消息不需要用户通过应用层进行干预;而非周期性消息完全根据应用层的用户指令进行控制。由于二者之间没有直接的数据通信,因此分别采用独立的线程实现,以提高程序的运行效率。为避免2个线程同时占用硬件板卡而导致数据就丢失,线程间采取互斥锁的方式实现线程同步并控制最小的总线消息间隔。

这样的通信层设计,能够将底层实现划分为各种数据服务类型,而被应用层所调用。通信层所处理的内容仅需限制在数据本身,而不需要考虑数据的对于用户而言的物理意义,因此可以很方便的根据不同的总线通信协议需求扩展服务类型,从而为面向用户的应用层快速可重构提供了基础。

1.3 应用层设计

应用层实现与用户之间的交互,其核心作用在于将不易被用户识别的底层数据转换为用户可以方便识别的应用信息。应用层首先构建与用户之间的软件界面,实现与用户的信息传递,并在界面基础上开展总线终端的管理。

应用层对于各RT终端通信的管理采用类的形式进行分装,从而能够通过类的接口特性实现外部控制,并利用类的可重用性和继承性实现代码的快速可重构性。与通信层类似,应用层RT终端类也能够根据不同子地址划分为不同的服务项。但与通信层不同,应用层需要面对不同RT终端应用项目进行重构,如设备遥测的信息,其在数量,物理含义上对于不同终端而言都可能相去甚远。因此,如果仅简单的采用类的继承方式实现重构,不同的RT终端类仅能单纯地继承父类的接口函数,而主要的编程工作需要集中于接口函数的重构,这种继承方式仍然需要较大的代码量,难以实现测试软件的快速可重构性。

为解决1553B 总线测试软件应用层设计的快速可重构问题,软件对于总线终端相关的各类服务项采用程序(或子类)的方式实现,每种服务项对应一项程序,通过程序读取对应总线终端的应用层协议描述文件完成应用层到通信层之间接口数据的解析处理,如图1中的应用层构造所示。每项程序与总线协议中的一种消息类型(总线子地址)对应,每种程序能够被所需要的总线终端类直接复用,只需在程序外部通过配置不同的描述文件就能够实现不同终端各自所需的应用层协议,从而大大减少了类重构所需要编写的代码量,既能简化软件本身的设计,又能够在不改变软件代码的情况下实现总线终端的协议重配置,从而保证了整个测试系统的快速可重构性。与通信层相同,应用层也通过独立的线程实现。

1.4 数据接口设计

数据接口用于实现应用层与通信层之间的数据交换,为达到快速可重构的目的,要求数据接口具备可扩展性。本软件专门设计一个接口类用于数据交换,对终端及其各子地址需要的总线数据进行内存的管理,并提供写入与读取函数的接口。由于应用层与通信层采用多线程的设计,接口类中设计了互斥量来表征不同线程对终端收发总线数据的访问权限,实现不同线程之间数据正常传递并且避免不同线程中程序对同一数据资源的同时访问。

2 快速可重构设计

本文给出的软件针对配置和代码2 个方面开展了快速可重构设计。一方面在层次式的软件架构基础上实现代码的快速可重构;另一方面通过配置文件实现应用层的用户信息与底层数据的相互转换格式和通信层的总线消息数据格式的快速可重构。配置文件的快速可重构可以在总线终端拓扑不变的前提下,便于用户变更总线数据的格式和内容。代码的快速可重构可以在总线终端拓扑或协议发生变化时,增添新的终端实例和服务程序。下面给出了配置可重构和代码可重构的具体实现。

2.1 代码可重构

代码可重构主要应对被测总线系统的拓扑结构发生变化,其分为2类:

(1)总线终端数量可重构;

(2)总线协议数据类型可扩展。

首先,当被测系统的总线终端数量发生变化时,由于应用层和通信层之间相互独立,在软件应用层代码中可以通过继承当前已有的总线终端类并加载相关的程序即可增加新的总线终端,同时在数据接口上派生新的数据接口类并创建实例对象即可实现应用层新增终端使用通信层提供的底层服务。其次,在前文的软件架构中,每种总线协议的数据类型(即子地址)作为通信层中的一种服务类型进行管理,当总线协议的数据类型发生变化时,首先对通信层中的服务程序进行变更或增加,并在数据接口上派生新的数据接口类增加相应的数据管理功能,而应用层程序只需增加对数据接口中管理新数据的服务程序并加载至相关的总线终端类即可完成对新协议数据的操作。代码可重构的模型示意图如图2所示,其中RT?3继承于RT?1或RT?2的终端类及其程序,同时对于RT?3需要支持的新的总线协议向,在各层创建新的服务程序即可实现。这种软件设计能够充分的复用程序,极大的减少应用层总线终端类的重构代码量。

2.2 配置可重构

配置可重构能够实现待测总线系统拓扑结构未变化而总线协议数据类型发生变化时的快速可重构。配置可重构只需要改变软件外部的配置文件而不需要更改软件代码,具有快速灵活的特定。配置文件被设计为2种类型:

(1)通信层总线消息配置文件和;

(2)应用层参数配置文件。

总线消息配置文件以总线消息为基本单位对航天器1553B总线消息协议进行描述,软件启动初始化时对总线消息描述文件进行解析,软件运行时,按照总线消息执行列表进行总线消息的发送或接收。通信层总线消息描述文件内容以消息序号为行,以消息属性为列,其中消息属性包含消息名称、消息内容、RT地址、子地址、通信方式、消息数、数据字计数、是否循环缓冲、消息周期、优先级、消息间隔,文件内容格式如图3所示。

应用层参数配置文件以用户接收终端或向终端发送的数据参数配置文件为例,针对不同终端设备,软件配置不同的参数描述文件。在软件启动时,各终端对象的程序对参数配置文件进行解析,软件运行时,终端实例将通信层接收到的总线消息送给程序根据配置文件进行解析,再将解析后的参数值等信息显示到指定界面。应用层参数文件以单个参数为行,以参数属性为列,其中参数属性包含参数代号、参数名称、位置类型、起始字节、起始比特、比特长度、数据类型、是否解析、解析公式、公式系数、正常范围等,文件内容格式如图4所示。

对于用户在软件界面上输入的向终端发送的注入数据或指令等信息,软件终端将数据发送至程序,通过程序将用户信息转换为总线指令码数据,再通过数据接口转发给通信层发送至终端设备。以总线指令参数配置文件为例,其中包含指令代号指令名称和指令码等参数,文件内容格式如图5所示。

2.3 软件信息流

软件中的终端对象、程序和配置文件各模块之间的信息流向如图6所示。

对于软件向总线上发出的消息,用户通过软件界面提出发送请求(如点击某总线指令发送按钮),软件RT终端收到用户的发送请求后将界面的发送消息信息(如指令代号)提交程序,程序根据预先读入的指令配置文件将该指令转换为指令代码,并通过数据接口传送给通信层程序,通信层程序再根据指令代码转换为总线消息发送至总线硬件系统。对于从总线上接收的消息,通信层程序先将总线消息转换为数据源码并通过数据接口传输给RT终端,RT终端将数据源码提交程序,通过程序对数据源码进行解析处理后形成应用层数据反馈给RT终端,最后由RT终端将应用层数据送给软件界面向用户显示。

3 应用实例

基于本文软件设计方法实现的基于总线仿真卡的1553B总线测试软件,已成功应用于某航天器总线通信子系统的通信协议测试验证。例如应用于某分系统的8台总线RT终端的测试系统,硬件平台的1553B总线仿真卡采用美国GE Condor 公司的型号为QCP?1553?2M的标准1553B仿真测试卡,软件界面集成了8个终端设备仿真通信控制界面,通过配置1个通信层总线消息描述文件、8个应用层终端参数配置文件、8个指令配置文件和4个注入数据配置文件实现与各终端设备的不同总线数据格式的关联。软件设计的总线数据类型包括注入数据、总线指令、总线遥测参数、广播消息等。图7给出了软件模拟的BC 终端与被测RT 终端设备1 进行总线通信的显示与交互界面。

该软件总代码行数为14 573行,其中通信层代码为9 711行,约占总代码量的66%,应用层代码为2 822行,占19%,其中应用层的程序代码为1 766行,占应用层代码的62%,而8 个RT 终端协议管理对象代码共计1 056 行,平均每个RT 终端的代码行数为132 行,占总代码量的0.7%,即单个终端的代码量能够达到小于软件总代码量1‰。从实际应用可以看出,应用本文设计方法实现的软件,如果被测试系统不增加总线RT终端的数量只改变总线协议,则不需要对软代码进行更改,只需要重新配置相关的参数文件,如果被测系统新增RT终端,其代码的重构量也平均在1‰左右,且不会随RT终端的协议数据量的增加而增大,在快速可重构方面具有明显的优越性。

4 结语

作为型号研制的重要环节,1553B总线通信系统的测试已经成为必不可少的环节,本文针对当前基于1553B 总线仿真卡的测试软件灵活性和兼容性不足的问题,提出了的一种快速可重构的1553B总线测试软件设计。首先,软件采用通信层和应用层的分离的架构,使得总线通信协议的实现不依赖底层总线仿真卡通信的特性,极大地增加了软件的灵活性。其次,软件将通信层和应用层的服务项与总线通信协议的子地址关联,通过服务的方式实现测试系统应用协议的现场可重构能力。最后,应用层总线终端的协议管理通过总线终端类的继承结合服务应用的方式实现,极大的减少了派生类所需要重构的软件代码,从而能够快速应对总线系统拓扑结构上的变化。文本给出的应用实例表明,基于该方法实现的1553B总线测试软件其总线协议管理程序的代码量仅为整个程序的1‰,具备极强的快速可重构能力,目前已成功应用于多型号航天器1553B总线子系统的测试,极大地提高了构建测试系统的效率,取得了良好的效果。

参考文献

[1] 李筱雅,尚丽娜,张芹芹.1553B总线测试仿真系统设计与实现[J].现代电子技术,2012,35(10):54?60.

[2] 梁林灿.1553B总线测试系统中上位机软件的设计与实现[D].广州:中山大学,2007.

[3] 郭坚,张红军,付连芳.面向星载应用的1553B 总线仿真卡二次开发软件[J].航天器工程,2012,21(4):78?82.

[4] 赵爽,刘占渠,苗克坚.通用1553B 总线消息解析软件的设计与实现[J].电子测量技术,2010,33(1):78?81.

[5] 史国庆,高晓光,吴勇,等.1553B总线监测仪系统软件设计[J].火力与指挥控制,2009,34(6):141?143.

软件测试转正总结范文3

随着卫星技术的不断发展,系统的自主恢复功能作为卫星的一项重要的性能指标,本文根据卫星综合电子系统的特点展开分析,详细介绍综合电子系统FDIR结构及各项衡量指标,对提高综合电子系统的可靠性提供相关资料。

【关键词】

FDIR技术;卫星综合电子系统;设计

随着国防事业、工业的快速发展,各个国家所发射卫星的数量明显增多,此时,卫星是否安全、稳定运行成为重点关注的问题。传统人造卫星必须借助地面基站实现控制,卫星能够通信的范围有所限制,且卫星与地面距离甚远,实时性极差。因此,必须提升卫星的自主控制能力,从而保障卫星运行的安全。综合电子系统能够实时监测整个卫星系统出现的故障,准确定位系统发生的故障,通过重构等一系列方法确保卫星安全可靠的运行。文中详细介绍卫星综合电子系统FDIR设计方案,在一定程度上提升综合电子系统的容错能力。

1FDIR技术下卫星综合电子系统的总体框架设计

卫星综合电子系统是以中心管理单元(CMU)为中心,分别设置ISU1、ISU2、ISU3三台业务单元,借助1553B总线实现连接,主机与各个功能模块采用二级网络总线实现连接。卫星综合电子系统通过两级总线建立分布式网络系统,卫星综合电子系统设计的总体框架。

2卫星综合电子系统的BIT电路设计

2.1设计综合电子系统BIT硬件

BIT是指设备根据自身电路、程序对综合电子系统发生的故障展开诊断及隔离。BIT作为提升系统可靠性降低维护费用的关键技术,该技术借助附加在系统中的软、硬件实现在线故障检测的效果。卫星综合电子系统主要包括CMU、ISU1、ISU2、ISU3等部分组合而成,各个模块之间均设置双冗余总线进行连接,各个模块均设置BIT检测电路,系统正常运行时,下位机软件借助所设置的测试向量,定期对所有模块运行状况展开自行检测,将检测结果传送至上位机。上位机的CMU软件主要收集、存储各个模块检测结果,对故障进行定位,根据检测结果设计合理的故障预案,对故障进行有效的隔离[1]。

2.2BIT测试方案

卫星综合电子系统BIT检测方案主要分为以下三类:①计算机系统自测模块:计算机系统主要包括处理器、存储器等部分,该系统自测功能由存储器自测试和指令集自测。为了消除单粒子翻转过程中SRAM产生的影响,借助EDAC算法对其进行纠错。综合电子系统使用上电启动自测方法,计算机软件根据预先设定的算法实施自主运算,随之比较其运算结果,依据比较结果判定计算机指令系统及存储功能是否异常,最终将自测结果传送到中心管理单元(CMU)。②总线自测试:卫星综合电子系统主要包括二级总线,一级为1553B总线,这级总线设置完备的协议操作功能,具有良好的检错、纠错等功能,也可准确定位总线出现的故障,提供良好的寄存器,CPU能够及时查询总线的运行情况[2]。系统对总线通信自测试系统进行设计时,借助CMU软件向总线部分测试指令实现自检测。第二级总线设置在各个下位机主机与其它个功能模块,能够实时采集各个模块的数据。这一总线通过自行研制的串行通信芯片,处理器能够实时监视整个总线运行效果。系统正常运行时,下位机根据有关特征寄存器监测二级总线的运行状态,并将检查结果反馈至CMU。③模拟电路自测系统:卫星综合电子系统设计的模拟电路借助电路测试方法实现,当A/D转换电路时,在电路上设置某个固定电压作为参考信号源,借助多路宣统开关将该信号纳入被检测A/D输入通道内,检测A/D电路是否可以正常运行,从而完成A/D转换接口电路故障测试的效果。当D/A转换电路时,借助A/D采集电路接口对D/A输出的信号进行采集,随后检测D/A转换接口电路能否把数字信号转换成规定误差范围之内的模拟信号,完成D/A转换接口电路故障检测。

3卫星综合电子系统的FDIR软件设计

3.1综合电子系统故障等级分类

根据卫星综合电子系统的总体结构,对系统的故障实施分类,系统的故障类型不同,可以制定对应级别的故障检测、隔离等措施,综合电子系统故障主要分为以下四级:①0级:如果二级总线主备份通信系统出现异常,采用内部热备方法实施自主恢复操作,对该系统的其他功能并无影响,这类故障隔离恢复策略只在综合业务单元中执行[3]。②1级:如果各个下位机内部各个功能模块出现故障,针对这类故障使用关闭本模块电源的隔离方式。恢复故障策略如下:自动开启备份模块,这一故障隔离恢复策略在CMU中执行。③2级:如果综合电子系统各个服务功能发生古城镇,这种故障借助分析软件得出,通过原先设定的隔离及恢复策略,达到及时恢复故障的效果。④3级:但综合电子系统上位机发生故障,不能将上位机进行自主恢复,系统借助硬件监控策略,直接把上位机主份电源关闭,开启备份的上位机,这部分故障通过硬件完成隔离恢复操作。

3.2设计FDIR软件

卫星综合电子系统软件作为实现该系统FDIR功能核心,这一设计可对各个下位机采集的数据展开周期性监测,监控、定位各个模块存在的故障信息。依据系统原先设置的容错策略,一系列指令,对系统故障展开隔离重组操作。软件设计作为整个综合电子系统的一部分,根据每个采样周期对系统的关键参数实施监控。如果系统发生故障,软件根据设定的周期展开多次检测,定位故障后,即可发出遥测信息[4]。同时,立即限制该模块为整个卫星综合电子系统提供的相关服务,修改软件中保存的各类设备监控表,根据设定的容错策略执行相对应的故障恢复。

4结语

卫星综合电子系统是一个由多个模块、软件、硬件等部分组成的集成系统,文中从故障建模、故障测算、故障处理恢复等方面展开进行设计和分析,详细介绍卫星综合电子系统FDIR设计与实现方法。根据检测分析可知,卫星综合电子系统出现故障后系统能够自动进行重组,有效提升综合电子系统的可靠性和容错能力。

作者:冯珊珊 单位:辽宁建筑职业学院

参考文献

[1]叶伟松,刘海颖,陈志明,等.“天巡一号”微小卫星数据综合系统设计与在轨性能评估[J].南京航空航天大学学报,2012,44(6):797~802.

[2]乐浪,李明峰,王君,等.卫星综合电子系统的FDIR研究与设计[J].计算机工程与设计,2014,15(7):2607~2611.

软件测试转正总结范文4

概述

随着开发生产的军用装备的种类和数量逐步增多,这几年来大批量提交给用户使用,有的装备已经陆续进入了故障维修阶段,用户要求针对这些装备开发一套故障综合检测系统,既要完成对装备的检测和故障诊断,又要满足信息化要求,实现检测诊断设备、修理设备和信息化设备的一体化。

检测系统采用了先进的PXI平台,该平台是一种专为工业数据采集与自动化应用量身定制的模块化仪器平台,基于机箱的体系结构与高速、工业标准的PCI总线结合,提供了对于其他体系结构无与伦比的高性能。

软件使用National Instrument公司的Lab Windows/CVI7.1.LabWindows/CVI是一个提高开发效率的测试测量ANSIC开发环境。

Lab WindowsCVI7.1具有功能强大的调试工具、DAQ助手、仪器I/O助手、简化多线程的内置库、命令行编译器等,简化了开发过程。

硬件设计

测试需求

故障综合检测系统检测装备时所需的激励信号、检测信号类别和检测信号特征如表1所示。根据信号类别及特征确定哪些信号需适配器转换后再送到PXI测试资源,哪些信号经适配器就直接进入PXI测试资源,以及进入PXI测试资源的哪一种功能测试模块,确保进入PXI测试资源的信号不超过功能模块的测量范围。

资源配置需求

根据测试需求分析的统计结果,信号适配器对故障综合检测系统的测试仪器资源配置需求如表2所示。测试系统利用多路开关扩展功能模块来满足测试的需求,分时复用。而不是选购多块同一种功能模块,这样有利于降低PXI测试资源的硬件成本。

信号适配器设计

为了使装备的信号与检测系统的检测接口匹配,连接装备与测试板卡之间设计了一个信号适配器,其测试连接结构示意图如图1所示。板卡能直接测量的信号就直接引入板卡,不经任何转换电路,提高故障综合检测系统的可靠性,需转换才能进入板卡的信号,其转换电路尽量选用无源器件,因为有源器件受环境参数的影响大,会增加测试结果的不确定性。硬件采用模块化设计,系统各模块相互独立地工作,互不影响,互不干扰,有效地提高了系统的可靠性。

信号适配器电路结构如图2所示。主要由连接器接口、被测装备接口、信号调理单元、激励单元和负载单元组成。主要完成检测平台到被测装备的信号连接和调理功能,包括资源分配、信号调理、信号激励、模拟负载等。其中,测试接口占用测试资源的16个万用表通道;激励单元占用测试资源的16个隔离数字I/O通道;信号调理单元中有3块适配卡,适配卡1和适配卡2为八通道电压及10A以下电流激励的信号调理单元,适配卡2具有3个大电流回路,用于系统电源、电瓶和50A以下大电流负载的激励和信号调理,两块适配卡的结构相同,可以直接互换。此外,设置一个专用万用表通道,对不具备快速接口的装备部件电流、电压信号,分别用电流钳和外引万用表笔测量,也可扩展到对压力、温度、流量等传感器输出的模拟信号检测。

硬件的安全性、可靠性设计

为保护检测系统的安全性,在信号适配器上增加电缆识别信号,每次检测时,由软件自动识别电缆连接正确与否及有无短路等,只有电缆连接信号被正确无误地识别时,检测系统才向装备上电检测。被检测的装备在运行过程中需要模拟采样信号时,由检测系统的板卡隔离数字I/O PXI-6514输出驱动控制适配器的模拟电路,给装备反馈模拟的采样信号。隔离数字I/O实现了信号的隔离,阻断了信号的干扰,从而使得故障综合检测系统工作更安全、可靠。

软件设计

软件设计思路

软件设计基于数据库的软件设计方法,以往的软件设计是由软件编程人员按测试流程逐步编程实现。这种方法效率低,软件的可靠性、可扩充性差,当测试任务改变时,与流程有关的软件需要从头做起。基于数据库的软件系统,采用数据库技术与主程序相结合的方法,先根据装备写出工作流程图,然后根据流程图用填表方式建立测试项目库、测试参数库、驱动通道库、检测通道库,测试装备的流程变化时,只需修改数据库,主程序基本不变,从而方便快捷地完成测试系统软件的组建工作。

在程序编写中,应用多线程技术使程序同时做多件事情,使操作变得十分方便。在测试过程中,程序一边采集数据,一边对数据进行分析处理,软件界面还要同步显示检测数据及检测时相对应的动画等,实现实时处理,互不影响。将多个应用程序共同使用的功能子程序独立成所有应用程序都可以共享的动态链接库,减少了主程序界面设计的工作量,不同的程序使用相同的动态链接库,只需在内存动态链接库装载一次,这样就节省系统内存。功能子程序设计中利用了DAQ开发助手,根据板卡的不同功能设置相应的参数,自动生成所需的功能子程序,大大减少了程序开发的工作量。

主程序设计原理

系统软件的测试流程图如图3所示,执行检测操作时,程序先按测试项目库中检测项目的先后顺序确定检测项目,通过关系连接到测试参数库、驱动通道库、检测通道库,确定该项目检测时所需要的驱动信号、测试信号、技术指标、使用的接口通道、操作要求提示等。当每一个测试项目的各种属性在数据库中确定后,测试时先给出驱动激励信号(测试需激励时),再给出测试激励信号,即可控制检测系统执行测试操作,测试完成后分别复位测试激励信号和激励驱动信号(测试需激励时)。然后根据检测结果与数据库中相应字段中的极限值比较,根据结果判断当前检测的组件的质量状况,然后由数据库的相关字段决定程序执行的流程。

软件的安全性、可靠性设计

检测过程中若所检测的组件有短路、过载等现象,系统自动停机。由于检测系统使用多路开关,开关导通速度远低于软件执行速度,所以在开关通道切换时容易发生开关短路现象,可能造成强电信号与弱电信号混叠加到弱电信号处理模块上而损坏模块。因此我们是通过适当的软件延时来避免开关短路,这样对开关速度不一致造成的信号通道间短路能起到保护作用。

结束语

软件测试转正总结范文5

关键词:易用性;测试标准;测试步骤;Web软件

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)22-684-02

Research on Usability Testing of Web Software

GUO Xiao-yan

(Zhuhai College, Jilin University,Zhuhai 519041,China)

Abstract: With the development of network technology in software, Web software which has goods like convience,rapid,easy became the emphasis of software programming. As the main feature of user interaction, usability of Web software became the hot spot of concern. So the usability testing is attached importance to more and more people. According to the characteristics of Web software, testing standards, how to use and specific steps of usability testing were discussed.

Key words: usability; testing standards; testing steps; Web software

1 引言

随着网络技术在软件方面的广泛应用,Web软件以其方便、快速、易操作等特点不断成为软件开发的重点。Web软件是一种通过 Internet技术加以连接的客户/服务器软件,可以传输其处理的数据。在市场需求和技术进步的不断推动下,Web应用软件的种类和数目不断增加,软件开发周期缩短,软件规模扩大,软件复杂度增加,其软件的质量越来越成为人们关注的问题。作为保证软件质量和可靠性的重要手段,Web应用软件测试就成为软件开发过程中的一个重要环节。

按照软件产业的要求,“软件难以理解、不易使用或者从测试员和最终用户角度看会认为不好”被认为是软件缺陷之一,直接影响软件质量,这个问题在Web应用软件中尤为突出。易用性测试就是为尽可能早地发现这一软件缺陷,提高软件质量所采用的测试技术。

将主要从Web软件的易用性测试标准、如何对Web软件进行易用性测试以及易用性测试步骤等角度来探讨Web软件的易用性测试 。

2 Web软件的易用性概述

2.1 Web软件的易用性

在 2003 年颁布的《软件工程产品质量》(ISO 9126-2001)质量模型中,提出易用性包含易理解性、易学习性和易操作性;即易用性是指在指定条件下使用时,软件产品被理解、学习、使用和吸引用户的能力。它是软件与用户交互的适应性、功能性和有效性的集中体现,人体工程学的目的就是要达到易用性,许多产品都是应用人体工程学的研究成功,使产品更加人性化,人们在使用的过程中更加灵活、舒适。软件产品也是一样,始终关注着用户,让用户获得赏心悦目的体验。随着网站的快速建设,人们对其软件用户体验的关注程度普遍上升。易用性建设(usablitlity)也逐渐成为Web软件的研究的一个重要部分

由于Web软件特殊的体系结构和操作形式,用户只能借助网络和浏览器来应用软件。易用性作为Web软件的一种属性,是评估用户在网站内能否方便地实现访问任务,包括获取网站信息、使用网站操作界面与任务流程。其的思想核心就是以用户为中心,具体体现在Web软件的导航、内容、功能、任务流程、外观设计与可信性等设计的方方面。

2.2 易用性对Web软件的重要意义

对于Web软件来说,易用性是Web软件生存和运营的必要条件。如果Web软件很难用,用户就会离开;如果Web软件不能清楚的呈现公司的主要业务,用户也会离开;如果用户在Web软件中迷失方向也可能离开;如果Web软件的信息不方便阅读或不能解决用户所关心的问题,用户也会离开……总之,在这个信息膨胀的时代,用户不可能花很长的时间研究软件怎么用,因为还有很多类似的软件。由此可见,Web软件易用性是吸引并抓住用户的重要因素,做好Web软件的易用性建设能将潜在用户转换为真正的顾客,大大提高Web软件的市场竞争力。

3 网站的易用性测试

3.1 Web软件的用户界面测试

软件与用户交互的方式,称为用户界面或UI。可以说易用性具体体现在UI的操作上。

界面的好坏决定用户对软件的第一印象,设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用,能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。

目前的PC窗口软件都是建立在某个平台上,有自己的一套较完整的设计标准,经过广泛、长时间的使用已经逐渐被大家所熟悉和接受,如目前的Windows平台软件都会按照Windows设计标准来进行设计,这从根本上也保证了软件的易用性。作为Web软件,它与PC窗口软件不同,呈现的用户界面都是通过网络浏览器来呈现的,目前并没有一个相对统一的设计标准,但其用户的界面设计直接影响到用户对软件的接受程度,关系软件的市场占有率,所以对Web软件进行用户界面测试至关重要。

3.2 Web软件易用性测试的标准

站在软件测试的角度,测试员不可能是一个软件UI设计方面的专家,但是软件产品开发出来的目的是为了满足用户的需求,所以他只要能够站在用户的角度来考虑找出其中的问题。

总的来说要全面评估用户界面,其标准包含了七个要素:符合标准和规范、直观性、一致性、灵活性、舒适性、正确性和实用性。下面就来具体阐述一下这七个要素:

3.2.1 符合标准和规范。

即对现有的软件运行平台,其UI标准已经被确立并成为大家的共识,Web软件的界面也是一样的。测试Web软件时就要考虑当前的普遍规范,比如作为Web软件的主页, logo的设计摆放、主要功能区域的位置划分、是否提供搜索、友情链接、注册等等,对于软件的一般页面,能准确表明当前网页所在的位置,相关的功能等等。

3.2.2 直观性

测试直观性就是要求Web软件所体现的功能特性易懂、清晰,用户界面布局合理,对操作的影响是否在用户的预料中,如某个对话框在预期地方出现。Google的搜索引擎受大家欢迎就是因为其界面洁净没有多余的功能,非常明显的突出了搜索功能,是一个典型的例子。

3.2.3 一致性

Web软件的一致性包括自身的一致性以及与其他网站的一致性,如使用的术语、字体是否一致,网页的各种元素风格是否前后一致。

3.2.4 灵活性

软件有不同的选项来满足不同用户的需求,用不同的方式完成相同的功能,将会加深用户对软件的喜爱。Web软件要根据自己所实现的功能和使用者的特点,设计一些不同的选项供用户进行选择,但灵活性也可能发展为复杂性,太多的状态和方式选择,不仅增加用户理解和掌握的困难,而且多种状态的转换,增加了编程和测试的难度,降低软件的可靠性。

3.2.5 舒适性

舒适性强调界面的友好、美观,如操作过程顺畅,色彩运用恰当,按钮的立体感和动感等。Web软件在这方面比普通软件更易实现,但如果表现形式过多就会适得其反,要根据Web软件所面对的用户和表现的内容进行准确定位,让操作的用户感觉舒适。

3.2.6 正确性

测试Web软件的正确性主要是指网页是否正确显示了所要表现的内容,具体体现在网页内容是否被完整显示,文字是否对齐,文字有无拼写错误等等。

3.2.7 实用性

实用性不是指Web软件本身功能是否实用而是指软件的具体特性是否实用。在进行软件设计开发及测试阶段要考虑Web软件的一些具体特性对于Web软件是否有实际价值,是否有助于用户执行软件所提供的各种功能。

遵循这七个标准进行易用性测试可以在极大程度上保证网站的易用性,那么要如何结合易用性测试的标准和Web软件的特点进行网站的易用性测试?

3.3 Web软件易用性测试用例设计

Web软件易用性测试虽说是一个难定义的过程,但也有根据其易用性测试标准可以总结出Web软件主页和一般页面的测试点,进而建立相应的易用性测试检查表。

主页的易用性测试要考虑到主页作为Web软件的门户的特性,其测试检查表如表1所示。

普通页面检查点易用性测试检查表如表2所示。

表1 主页易用性测试检查表 表2 普通页面易用性测试检查表

页面显示元素易用性测试检查表如表3所示。

3.4 Web软件易用性测试具体步骤

Web软件的整体易用性好不好,用户是否满易,不是网站单方面可以感觉出来的,需要遵照合理的测试原则和方法,与其他的测试一样,易用性测试并不是在网站最终完成后再来进行测试,而是从Web软件一开始设计时就要介入参与,这样才能尽可能早地发现易用性问题。简单的说,Web软件易用性测试工作大致分为以下步骤:(下转第723页)

(上接第685页)

1)旧版测试比较。在开始设计软件之前,测试一下旧版的设计,从中了解旧版设计的优缺点,将优点保留或者加强,将缺点改善。

2)竞争对手比较。测试竞争对手的软件,通过对比竞争对手软件或许可以发现不少被忽略的问题,甚至获得灵感。

3)角色扮演测试。根据软件访问者的不同情况进行用户分类进行测试,分类法灵活多样,比如按照访问途径分,可分为通过首页进入Web软件的用户和通过内页进入软件的用户;按照用户的访问频次划分,可以划分为首次访问软件的新用户和回访软件的老用户……总之,Web软件的易用性测试应兼顾到以上各种不同类型的潜在客户。

4)多版本比较筛选。使用几个新设计模型,并它们的效果进行测试比对。

5)对定稿作最好测试:完成最终设计开发后,再次从不同用户类型角度进行测试,有条件的话可以将Web软件交给新用户测试,通常在最后测试阶段也会冒出很多易用性问题。要保证测试出来的问题具有普遍意义而非个人倾向,需要至少5个用户参与易用性测试其结果才具有说服力。

4 总结

Web软件的应用性测试与传统软件既有相同之处也有不同的地方。本文详细分析介绍了Web软件的易用性及易用性测试,针对Web软件的特点,详细介绍了如何对Web软件进行易用性测试以及进行易用性测试的具体操作步骤。

Web软件测试除了易用性测试,目前研究的热点还有安全性测试,测试自动化攻击研究,Web软件测试测试用例及复用研究等。

参考文献:

[1] Ron Patton. 软件测试[M].2版.北京:机械工业出版社,2006:114-122.

[2] 朱少民.全程软件测试[M].北京:电子工业出版社,2007:227-253.

[3] 王会青,冯秀芳.Web应用软件测试方法的研究[J].太原理工大学学报,2007,38(4):304-306.

软件测试转正总结范文6

关键词:虚拟仪器,嵌入式系统,通用串行总线

0 引言

虚拟仪器是以计算机作为测试仪器的硬件平台,通过调用不同的软件实现特定的测试功能,达到仪器的多功能快速切换,从而实现普通仪器的全部功能以及一些在普通仪器上无法实现的功能。随着后PC时代的来临,业界对虚拟仪器的智能化和小型化的要求越来越高。嵌入式系统的发展使得基于嵌入式微处理器和实时操作系统的嵌入式虚拟仪器能够满足恶劣工作环境下的便携虚拟仪器的需要。同时,基于USB总线的仪器设备克服了现有PC总线虚拟仪器的不足,具有即插即用、热插拔的优点,满足自动化工业测量的要求,特别适合现场信号的测试。因此,基于嵌入式计算平台和USB总线技术,设计具有数据融合和USB总线协议的通信能力的虚拟仪器成为构建测试系统的新思路。

1 传统虚拟仪器及其缺点

目前比较流行的虚拟仪器系统基本上是基于PCI/ISA总线的插卡式虚拟仪器。通过将特定的仪器功能制作在数据采集卡上,然后将其插入计算机的扩展槽中,在计算机的软硬件支持下完成测试任务[1]。相对于传统的仪器而言,虚拟仪器使用户可以根据具体的应用需要,设计自己的仪器系统,实现了仪器的定制化和多样化。但是,基于PCI/ISA总线的虚拟仪器存在着明显的缺点:一方面在插入数据采集卡时需要打开主机箱,由于主机上的PCI插槽有限,直接接入主机的现场测试信号对计算机的安全造成很大的威胁;同时,计算机内部的强电磁干扰对被测信号也会造成很大的影响,并且由于采用插卡模式,不便于与笔记本电脑相连,进行现场数据信号的测试;另一方面,由于通用PC机主要用于办公室环境,它的电气和机械设计不以工业应用为目的,系统的可靠性差。此外,通过PC机上的Windows操作系统不是实时多任务操作系统,是为了便于用户管理和利用计算机资源而设计的。传统虚拟仪器的测试不可避免地存在着丢失数据的危险。因此,实时性、可靠性比较差。

2 嵌入式虚拟仪器的体系结构

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统[2]。

构建基于嵌入式系统的虚拟仪器需要解决的技术问题集中在系统平台的构建和特定的虚拟仪器应用程序的设计等方面。基于嵌入式软/硬件环境,系统的体系结构如图1所示。

图1嵌入式虚拟仪器的体系结构

嵌入式系统的硬件平台是嵌入式操作系统和应用程序运行的硬件环境,它以嵌入式微处理器为中心,配置存储器、输入与输出(I/O设备)、通信模块等必要的外设,并根据特定的应用进行高效率地设计。针对虚拟仪器的特定应用,在以嵌入式微处理器为核心的基础上,增加数字信号处理(DSP)芯片,对高速的数据流处理进行优化和数学计算,具有独立控制和实时处理的优点,可以使嵌入式微处理器从数据处理任务中解脱出来,更高效地完成其他任务,起到了加快数据采集和信号处理的作用。

嵌入式系统中的软件部分以嵌入式操作系统为核心,向上提供应用编程接口(API),向下屏蔽具体硬件特性的板级支持包括BSP、USB驱动程序等。其中,嵌入式系统所使用的实时多任务操作系统(RTOS),采用优先级调度策略和时间片轮转调度策略的任务调度机制,能够充分保证系统的实时性和可靠性。虚拟仪器的应用程序是图形化界面和人机接口层与外界进行通信的,主要功能是对系统的测量参数进行设置和测量数据波形显示与分析。基于嵌入式技术,可以把虚拟仪器的硬件集成在嵌入式电路板上,软件固化在Flash存储器上,完成A/D转换、D/A转换以及数字滤波和数字信号处理等功能。通过虚拟仪器的应用程序能够方便地改变硬件的功能或性能参数,实现不同场合的测试应用,从而依靠硬件设备的柔性来增强其适用性和灵活性。

3 基于USB总线的虚拟仪器系统

基于USB总线的嵌入式虚拟仪器具有使用方便、数据传输速度快、连接灵活的特点。可以采用星型的拓扑结构构建分布式测试系统,如图2所示。

图2嵌入式虚拟仪器的USB总线系统

该系统主要由PC机、USB集线器和嵌入式虚拟仪器组成。系统的体系结构设计按照智能模块的设计思路进行,智能模块的作用是完成特定应用的测试功能。利用USB总线的优势可以实现测试方案的灵活配置和测试功能的自由扩展,即当需要添加新测试功能时,只需开发支持USB接口的相应测试功能的嵌入式虚拟仪器模块即可。USB系统中嵌入式虚拟仪器部分的USB总线接口和逻辑设备组合在一起就构成了USB设备接口,提供了传送和接收数据包的总线接口,并管理虚拟仪器设备的各种工作状态。USB设备接口的开发是USB外设开发的关键,它涉及到USB协议和规范的具体实现。USB系统软件中的USB驱动程序是开发的一个难点。虚拟仪器设备可以定义为人机接口设备(HID)类,这样PC机可以直接使用Windows操作系统内置的HID类驱动程序。PC机的通信应用程序使用VisualC++调用API函数和HID驱动程序进行通信,完成和嵌入式虚拟仪器通信的功能。当插入嵌入式虚拟仪器时,主机检测该设备并通过自动加载相关的驱动程序来对该设备进行配置,并使其正常工作。

转贴于  USB技术和虚拟仪器技术结合在一起是计算机仪表领域研究的热点,基于USB总线接口设计的嵌入式虚拟仪器具有良好的系统扩展性。嵌入式虚拟仪器可以独立完成特定的信号处理和分析,又可以通过USB总线系统组合在一起,构建大型的测试系统,完成复杂的测试功能。

图3 硬件逻辑图

4 硬件系统设计

嵌入式虚拟仪器从功能模块上分为:信号调理和模数转换电路、嵌入式控制模块、存储系统、液晶显示模块、USB总线接口逻辑等部分,详见图3。信号调理部分主要是为了使输入的信号满足采样的电压幅度,降低系统中影响信号质量的噪声干扰。模拟信号调理电路可以根据输入的模拟信号频率、幅度、通道数等选择合适的芯片,设计时应充分考虑抗干扰的性能。在微处理器和USB控制器的设计有两种方式可供选用:一种嵌入式微处理器加上专用的USB通信芯片组成;另一种是采用具有USB通信功能的嵌入式微处理器。此外,由于采样速率较高,因而需要设计大容量的缓存,可以在同样采集频率下保存较长的连续采样信号,便于分析处理。

该嵌入式虚拟仪器以三星公司的S3C44B0X微处理器为核心,该处理器基于ARM7TMDI内核,并自带8通道10位A/D转换器。配以TI公司的TMS320C5416作为数字信号处理器,采用Philips公司的PDIUSBD12作为USB接口芯片。S3C44B0X微处理器与USB接口芯片PDIUSBD12通过并行接口进行数据传输,数据交换采用中断方式。系统的工作原理如下所述:输入信号首先进入模拟信号调理电路进行采样,进而送入S3C44B0X微处理器的A/D模块进行转换,并将得到的数字信号存储到系统的SDRAM存储器中。随后,接口控制器PDIUSBD12从SDRAM存储器里顺序读出数据并通过USB控制器发送到USB总线上,传输给PC机。同时,还可以在S3C44B0X微处理器控制下,利用DSP芯片进行数字滤波后,进行数字信号的分析和处理,并将结果在LCD上进行显示。

5 软件系统设计

在嵌入式虚拟仪器中,将信号采集到系统中并不意味着任务已经完成,还需要利用软件完成信号分析的工作。因此,嵌入式虚拟仪器的软件系统包括数据采集、存储、处理、显示以及USB通信等。软件系统流程图如图4所示。

图4 嵌入式虚拟仪器的软件流程图

虚拟仪器软件的最大特点是模块化,根据系统具体要求编制各子程序用于解决各个子任务,然后再将它们集成到一套完整的应用系统中。虚拟仪器中有对多个输入的信息进行数据融合的功能。如何由采集到的数据最大限度的提取出有用信号都属于数据融合的范畴。可以采用的算法有:加权平均法、卡尔曼滤波、D2N证据推理法、最优算法、遗传算法等。此外,虚拟仪器应用程序还包括信号的频域分析如DFT、FFT等频谱分析功能,以及信号的时域处理包括数组数据的积分、微分、卷积和相关计算,以及统计分析计算、数值分析和计算和数字滤波器等。

整个系统的USB驱动程序可分为两部分:一部分是嵌入式虚拟仪器的USB驱动程序;另一部分是PC主机端的USB驱动程序。嵌入式虚拟仪器的USB驱动程序是软件系统中最重要的组成部分之一,用来实现仪器硬件的通信和控制功能。采用C语言在嵌入式开发平台下进行驱动程序的设计。智能虚拟仪器的USB驱动程度应提供四种功能:从主机中接收数据;向主机发送数据;启动和重新设定参数以及能够产生同步的控制信号。为此,需要完成如下操作:

①设备复位,硬件初始化,配置PDIUSBD11的寄存器;

②通过读取PDIUSBD11中断输出管脚的状态,判断是否有PDIUSBD11中断;

③如果有中断,则读取PDIUSBD11中断寄存器,否则,转步骤⑤;

④进入中断处理程序,根据中断的类型,执行相应的数据传输操作;

⑤判断设备是否需要挂起,若是,则将设备挂起,直到被USB总线唤醒;

⑥重复执行步骤②。

PC主机端的USB驱动程序由USB主机控制器(HCD)、USB驱动(USBD)和USB设备驱动程序组成。USBD和HCD称为USB系统软件,完成USB协议相关的操作和USB设备的总线枚举,一般由操作系统提供。针对本嵌入式虚拟仪器的USB设备驱动程序可以按照HID类的规范进行驱动程序的编制,主要完成与USBD软件层接口以及管理设备的数据通信管道等工作,实现USB设备的一些特定初始化工作,并将用户应用程序的请求转化为对相应USBD驱动程度的调用。通过对用户应用程序提供API函数,从而屏蔽USB实现的细节。另外,为了扩展嵌入式虚拟仪器的功能,充分利用已有的虚拟仪器的技术,可以采用PC机作为嵌入式虚拟仪器的数据处理和协调中心,构建基于USB总线的分布式测试系统。这时,PC机作为虚拟仪器平台来分析、处理和显示数据,其高级开发语言采用Lab2View,提供人机交互、显示多窗口虚拟仪器界面、提供测试控制、数据输入和结果输出,并模拟产品面板,实现仿真功能。这是一般的虚拟仪器研究的内容,在此不作详细讨论。

6 结束语

虚拟仪器技术是计算机技术、现代测试技术和电子仪器技术相结合的产物,正向着智能化、开放式体系结构的方向发展。本文提出的基于嵌入式计算平台和USB总线技术的嵌入式虚拟仪器符合这一发展趋势,具有很好的开发与应用前景。

参考文献

1杨乐平。虚拟仪器技术概论[M]。北京:电子工业出版社,2003。

2陈章龙。嵌入式技术与系统———IntelXScale结构与开发[M]。北京:北京航空航天大学出版社,2004。

3程兴亚。基于嵌入式系统的虚拟仪器设计[J]。微计算机信息,2004,120(12):63-64。

4邱宁。利用USB总线的虚拟逻辑分析仪[J],自动化仪表,2003,24(9):21-24。