以软件为核心的测试系统设计
扫描二维码
随时随地手机看文章
如今,伴随着新技术的不断涌现和各行业新需求的不断增加,更多差异化产品投放市场的步伐也在不断加快,这些产品不但集成了更多功能,而且还必须缩减开发周期,以便在与同类产品的竞争中获得优势。与此同时,各企业也都面临着更加严峻的成本控制要求,并且对于测试速度的要求也变得更高。这些都需要快速开发高效、灵活的测试系统。
以软件为核心的模块化系统架构,是针对上述测试挑战的一种创新型解决方案。测试工程师可以利用简单易用,结构清晰的软件工具和灵活的模块化硬件,来创建完全用户定义的测试系统。作为在测试测量领域具有三十多年经验的专业公司,NI公司为世界各地用户构建自动化系统,提供了高效的平台和工具。设计涉及电子产品、半导体、汽车、国防与航空航天等行业,并积累了丰富的经验。
本文将从模块化的硬件平台和提高开发效率的软件工具两个方面,来详细探讨如何构建一个以软件为核心的模块化测试系统。
模块化硬件I/O
如今产品设计正变得日益复杂。层出不穷的新标准、新协议(比如:射频通信协议),更是为测试工作带来了很多新的挑战。因此,测试系统为了达到更好的灵活性和可升级性,正逐渐朝着模块化、小体积的方向发展,也就是将复杂的测试系统简化成模块化的硬件I/O来逐一实现:在需要增加测试项目时,只需增加相应的功能模块,即可满足未来的升级需求。被认为最保守客户之一的美国国防部,也早在2002年向国会提交的报告中强调:下一代测试系统必须是基于现成可用商业技术的模块化硬件,以便对设备互换和升级。
一个完整的自动化测试系统的构建,应该遵循图1所示的五层架构。模块化I/O位于整个自动化测试系统五层架构中的最底层,它将直接接触到实际物理信号,完成信号调理以及信号数字化等工作。这些模块化I/O主要是基于PXI或者PCI总线的仪器。借力于半导体技术的快速发展,可以在非常小的体积内,以较低的成本完成高性能的测试测量工作。图2显示了模块化数字化仪与传统仪器的性能比较。模块化仪器提供的灵活性、用户自定义性与可扩展性,配合软件的强大能动作用,体现出传统仪器所无法比拟的巨大优势。
图1:以软件为核心的模块化测试系统的五层架构。
图2:模块化I/O与传统仪器的性能比较。
每个自动化测试系统的核心部件都是计算机(种类包括台式计算机,服务器工作站,便携式电脑或者嵌入式计算机等)。PC机的广泛使用,促成了高性能内部总线的不断进步。其中的PCI和PCI Express总线,具有最低的延时和最高的数据吞吐量或者带宽。而PCI Express总线进一步扩展了PCI总线的带宽,以满足不断增长的带宽需求,同时,它也在软件上与PCI总线完全兼容,如图3所示。
图3:各种工业总线数据带宽和延迟比较。
PXI(PCI eXtensions for Instrumentation,面向仪器系统的PCI扩展)标准,将CompactPCI标准与专用同步总线和软件特性结合在一起,为基于PC机的自动化测试测量与控制系统架构,添加了集成的定时和同步功能,工业级的坚固设计,以及更多的通道数。
事实上,PXI已成为了主流的模块化架构测试系统。现在有超过70家的PXI系统联盟(PXISA)提供超过1500种的PXI模块化仪器,其中包括NI、Agilent、ADLINK和Pickering在内的众多知名公司,产品覆盖从数字化仪、信号发生、RF、电源到开关模块等各种I/O模块。
开放的PXI/PXI Express平台也提供了用于与VXI系统或分立仪器进行通信的标准硬件和软件,包括GPIB、USB、LAN、串口等接口(图4)。事实上,许多实际的测试系统都不是基于单一总线的系统,而是一个混合总线系统,比如:既有PXI设备,又有基于GPIB的传统仪器,但是PXI则更适合作为这种混合总线系统的核心。一方面,作为一种内部总线,PXI具有最大的数据传输速率和最低的延时,从而保证其不会成为整个系统数据传输的瓶颈;另一方面,PXI平台的硬件基于标准的PC技术(如PCI/PCI Express总线,通用的CPU和外围设备,同时,主流的Windows软件构架对用户来说也非常熟悉)。基于PXI系统进行自动化测试系统的开发和操作,就像使用标准的基于Windows的PC机一样方便,而且也便于维护和升级。
图4:以PXI为核心构建的自动化测试系统。
可快速开发的软件工具
以软件为核心的自动化测试系统的软件定义,对于构建整个测试系统的作用和地位不言而喻。相比于传统仪器固定的功能配置和只有“测试结果”的呈现,软件定义可以满足用户对测试系统的完全自定义。通过软件来定义模块化硬件的功能,同一块数字化仪可以实现示波器,频谱分析仪和视频分析仪等不同功能;另外,可以通过软件来实现自定义的数据分析,例如:基于模块化的RF硬件通过设计不同的调制解调方式,就可以满足多种射频标准的测试需求;通过软件还可以创建自定义的用户界面,来确保人机交互的友好性。
可以看出,软件定义贯穿于构建整个自动化测试系统的始终。使用结构清晰、灵活易用的软件工具可以加速整个开发过程,缩短开发周期。如图1所示,构建以软件为核心的自动化测试系统的架构包含了三个层次。
系统服务和驱动层是连接软件开发环境和硬件设备的纽带。除了起到设备驱动的作用,这一层还包含了硬件设备管理和诊断测试等功能。例如:NI的测量与自动化浏览器(Measurement and Automation Explorer,MAX)软件,可以帮助开发者对所有的NI硬件和众多通过仪器总线连接的传统仪器,进行统一的自动检测和配置管理。其集成的诊断测试功能,可以帮助开发者将软件和硬件分离进行调试,迅速找到问题的症结。同时,测试面板则可以帮助用户快速检查硬件功能。系统服务和驱动还通过应用编程接口(API),提供了对测试应用开发软件层的集成。这样,开发者可以很容易地实现针对设备的编程,从而提高开发效率,减少维护成本。
测试应用开发软件(ADE)在测试软件架构中扮演着承上启下的作用。系统开发者在进行系统的设计与组合时,需要借助ADE实现具体的测量应用程序,向最终用户显示必要的信息以及连接其他应用程序等多项功能;同时,ADE需要与系统服务和驱动层紧密集成,从而实现与硬件无缝连接。不仅如此,用于开发测量和自动化应用的ADE,需要为各应用领域提供易于使用的设计模型和现成的处理算法,从而进一步提高开发者效率。
随着软件在系统实现中的重要性不断提高,开发者会花费大部分时间在应用程序的开发上。因此,一个应用开发软件工具的好坏,直接影响着整个系统开发的成功与否。NI图形化编程软件LabVIEW,为用户提供了高效而直观的测试测量应用程序开发工具,结合无缝连接的NI设备驱动和内置信号处理算法,用户可以从仪器I/O获取原始的测量数据,通过各种现成可用的分析函数工具包得到测量结果。此外,对于习惯文本编程的用户,可以选择基于ANSI C的NI LabWindows/CVI或基于Microsoft可视化工作室(Visual Studio)的NI测量工作室(Measurement Studio)软件。另外,针对具体应用,NI也提供了一些基于配置的开发软件,以加速用户开发的过程。比如,针对视频测试的NI VideoMASTER,针对实时测试与硬件在环仿真的NI VeriStand,针对自动检测的NI视觉生成器(Vision Builder for Automated Inspection)等。基于这些软件工具,用户可以无需编程而实现快速开发,也可以结合LabVIEW进行更加深入的自定义。NI不仅提供了这些软件的开发环境,而且针对不同的应用,提供了加速开发的现成算法IP,从而进一步加速工程应用的开发。此外,基于NI开放的软件平台,也可以使用各种第三方软件环境开发的现成算法。
系统管理软件层位于软件架构层次中的最顶层。对于一个自动化测试系统,有些测试任务会根据被测设备(DUT)的不同而不同,例如:仪器的配置,结果的分析等;而有些测试任务则为通用,例如:测试流程的管理,测试报告的生成等。为了进一步提升测试效率,降低软件维护的成本,将DUT级别的任务与系统级别的任务相分离的测试策略就显得尤为关键。通过快速创建测试流程,集成报告生成和数据库管理功能,以及建立不同级别用户的人机界面,测试管理软件能够帮助用户大幅缩短软件的开发时间,并可以在整个开发周期中迅速地重用、修改和维护测试程序(或者模块),来满足从DUT测试到整个ATE系统测试等不同的需求。专业测试管理软件(如:NI TestStand)除提供上述功能,其内置的并行和自动协调测试工具,还可以帮助用户大幅提升测试效率和增加系统吞吐量。
本文小结
如今,数以万计的公司采用以软件为核心的自动化测试系统获得了成功。比如:霍尼韦尔公司基于NI PXI和LabVIEW开发的新型FCT系统,大幅降低了测试仪器成本,系统尺寸和工程师的负担;微软公司基于LabVIEW和模块化仪器,为Xbox 360控制器设计的测试系统的速度,是前一代测试系统的两倍;华录松下使用NI TestStand,NI LabVIEW和模块化仪器,为新型DVD刻录机开发了完整的自动化测试系统,极大提高了测试效率。以软件为核心的模块化自动测试系统克服了以往基于独立台式仪器或成本高昂的私有ATE系统解决方案的不足之处,允许工程师开发可扩展的测试系统,将各种总线的仪器紧密集成在一起。另外,它还允许工程师集成现有设备投资,来降低实现的初始成本,而且基于该架构,还能将最新的商业技术引入到测试系统,开创新的应用。这些应用包括基于多核处理器的并行测试,基于FPGA的自定义仪器设计,基于PXI Express总线和磁盘阵列技术的测试数据高速流盘,等等。相信以软件为核心的模块化架构的未来,仍将是测试技术的主流,并能够不断深入每个测试领域,拓展新的应用方向。