专利名称:支持开放架构测试系统中的校准和诊断的制作方法
技术领域:
本发明涉及自动测试设备(ATE)的领域。更具体地,本发明涉及一种用于支持开放架构测试系统中的校准和/或诊断的方法及系统。
背景技术:
芯片上系统(SOC)器件的增加的复杂度及同时对芯片测试成本减小的要求已经迫使集成电路(IC)制造者和测试设备厂商都在重新考虑应当如何执行IC测试。根据工业研究,在没有重新设计的情况下,测试设备的预计成本在不久的将来将继续大幅上升。
测试设备的高成本的主要原因是传统测试设备架构的专有性质。每个测试设备制造者具有许多测试设备平台,这些平台不仅在多个公司如Advantest、Teradyne和Agilent之间是不兼容的,而且在一个公司内的多个平台如由Advantest制造的T3300、T5500和T6600系列测试设备之间也是不兼容的。由于这些不兼容,每个测试设备需要其自身专有的硬件和软件部件,并且这些专有的硬件和软件部件不能用在其它测试设备上。另外,将测试程序从一个测试设备移植至另一个以及开发第三方解决方案需要相当大的努力。即使当为一个平台开发了第三方解决方案时,其也不能被移植到不同的平台上或在不同的平台上再使用。从一个平台到另一个的翻译过程通常是复杂的和容易出错的,从而带来了附加的努力、时间和增加的测试成本。
在这种专有的测试设备架构中,在主机上运行诸如操作系统和测试分析工具/应用程序的测试设备软件。由于这种架构的专用性质,所有的硬件和软件针对给定的测试设备保持为固定的配置。为了测试硬件器件或IC,开发了专用的测试程序,其使用部分或全部的测试设备能力来定义测试数据、信号、波形、及电流和电压电平,并收集被测器件(DUT)的响应以及确定DUT的通过/失败。
各种DUT的测试需要测试设备系统的硬件和软件部件实现大范围的功能性和操作。在测试期间,可以利用厂商供给的测试模块的不同集来支持大范围的功能性,并且需要配置测试系统以便以即插即用的方式支持厂商供给的测试模块以及它们对应的校准和/或诊断数据。当利用新的厂商供给的测试模块时,可能需要该新测试模块的校准和/或诊断。另外,测试模块的性能可能在一定的时间后会漂移到原始校准的范围之外,并且可能需要通过测试系统来重新校准或重新诊断该测试模块。
因此,需要一种可以基于测试要求而配置有不同测试模块的开放架构测试系统。特定地,需要一种开放架构测试系统,其可以被配置为在运行时期间以即插即用的方式使用厂商供给的校准和/或诊断(C&D)信息。
发明内容
本发明实施例的开放架构测试系统允许第三方测试模块的集成。该测试系统的硬件和软件框架包括标准接口,来自于不同厂商的模块可以以即插即用的方式与该标准接口交互。
在一个实施例中,一种用于将测试模块集成在模块化的测试系统中的方法,包括创建用于集成厂商供给的测试模块的部件类别(category),以及创建用于在厂商供给的测试模块和模块化的测试系统之间建立标准接口的校准和诊断(C&D)框架,其中该C&D框架包括传递厂商供给的模块集成信息的接口类。该方法还包括接收厂商供给的测试模块,根据部件类别从厂商供给的测试模块中检索模块集成信息,以及使用C&D框架基于模块集成信息将厂商供给的测试模块集成到模块化的测试系统中。
在另一实施例中,模块化的测试系统包括系统控制器,至少一个耦合到该系统控制器的位置控制器(site controller),至少一个厂商供给的测试模块以及其对应的被测器件(DUT),用于集成厂商供给的测试模块的部件类别,以及用于在厂商供给的测试模块和模块化的测试系统之间建立标准接口的校准和诊断(C&D)框架,其中该C&D框架包括传递厂商供给的模块集成信息的接口类。该模块化的测试系统还包括用于接收厂商供给的测试模块的装置,用于根据部件类别从厂商供给的测试模块中检索模块集成信息的装置,以及用于使用该C&D框架基于该模块集成信息将厂商供给的测试模块集成到模块化的测试系统中的装置。
在下文中,当结合附图考虑时,通过对本发明实施例的详细描述,可以更为清楚地理解本发明的前述特征和优点以及其附加的特征和优点。
图1说明根据本发明一实施例的开放架构测试系统。
图2a说明根据本发明一实施例的用于使用C&D框架来集成厂商供给的C&D信息的方法。
图2b说明根据本发明的一实施例的、由用于访问共享的仪器的测试系统使用的方案。
图3a说明根据本发明一实施例的、校准其驱动定时的数字功能发生器模块的波形。
图3b说明根据本发明一实施例的、驱动定时校准数据的在线补偿的波形。
图4说明根据本发明一实施例的、在运行时期间特定于厂商的校准信息到开放架构测试设备框架中的集成。
图5说明根据本发明一实施例的、用于实施测试条件存储器的方法。
贯穿附图使用类似的标号。
具体实施例方式
提供了用于支持开放架构测试系统中的校准和/或诊断的方法和系统。提供下面的描述以使本领域任何技术人员能够实现和使用本发明。特定技术和应用的描述仅作为实例而提供。对于本领域技术人员而言,这里描述的实例的各种修改和组合将是显而易见的,并且在不脱离本发明的精神和范围的情况下,可以将这里限定的一般原理应用于其它的实例和应用。因此,本发明不是旨在限制成所描述和示出的实例,而是应该被给予符合这里公开的原理和特征的最宽的范围。
图1说明根据本发明一实施例的开放架构测试系统。系统控制器(SysC)102耦合到多个位置控制器(SiteC)104。该系统控制器也可以耦合到网络以访问相关的文件。通过模块连接使能器106,耦合了每个位置控制器以控制位于测试位置110的一个或多个测试模块108。模块连接使能器106允许连接的硬件模块108的重新配置,并且也作为用于数据传输的总线(用于加载模式数据、采集响应数据、提供控制等)。另外,通过模块连接使能器,在一个位置处的模块可以访问在另一位置处的模块。模块连接使能器106允许不同的测试位置具有相同或不同的模块配置。换句话说,每个测试位置可以采用不同数量和类型的模块。可能的硬件实现包括专用连接、交换机连接(switch connection)、总线连接、环形连接、以及星形连接。例如,模块连接使能器106可以通过开关矩阵来实现。每个测试位置110与DUT112相关,DUT112通过负载板114连接到对应位置的模块。在一个实施例中,单个位置控制器可以连接到多个DUT位置。
系统控制器102用作整个系统的管理器。其协调位置控制器的活动、管理系统级并行测试策略,并且附加地提供了处理程序/探查(handler/probe)控制以及系统级数据日志记录和错误处理支持。依赖于操作设置,可以在与位置控制器104的操作分离的CPU上部署系统控制器102。可替换地,可以由系统控制器102和位置控制器104共享公共的CPU。类似地,可将每个位置控制器104部署在其自身专用的CPU(中央处理单元)上,或作为同一CPU内单独的进程或线程。
该系统架构在概念上可以被视作图1中所示的分布系统,同时应当理解,各个系统部件也可以视作集成的单片系统的逻辑部件而不必视作分布系统的物理部件。
根据本发明的开放架构测试系统的实施例,通过在硬件和软件级都使用标准接口而便利了即插即用或可更换的模块。测试设备操作系统(TOS)允许用户使用测试计划编程语言来编写测试计划程序,以便以特定于具体被测器件(DUT)的方式来操作测试系统。其也允许将在测试计划程序中常用的测试系统操作的序列打包为库。这些库有时被称作测试类、测试模板和其它的名称。厂商供给的测试模块可能需要测量/响应值的校准以及用于诊断问题的装置。TOS内的校准和诊断(C&D)框架需要能够通过使用标准接口来为任意模块调用这些功能。以此方式,可以为每个测试模块调用适当的行为,而在TOS的该部分上不需要任何特定于厂商的知识。这种方案简化了TOS设计并且封装了特定于模块的C&D模块的厂商实现。
在开放架构测试系统的实施例中,框架类用于使能、激励、控制和监视模块。框架是实现与测试相关的公共操作的类和方法的集合。这包括用于校准和/或诊断、功率供给、引脚电子定序(pin electronics sequencing)、设置电流/电压电平、设置定时条件、获得测量值、控制测试流程等的类。该框架还提供用于运行时服务和调试的方法。在一个方案中,框架对象用于实现标准接口。提供该框架类的基于C++的参考实现以实现该框架对象的标准接口。该测试系统还支持特定于用户的框架对象。
开放架构测试设备系统在系统框架级使用接口的最小集。该C&D框架设计成在提供一般和通用的接口的对象上操作。当第三方模块厂商将其校准和/或诊断软件集成到该系统中时,厂商需要提供新的部件,所述新的部件支持与由现有部件支持的那些接口相同的系统接口。本发明实施例的这种标准接口允许厂商供给的模块以即插即用的方式无缝地集成到该系统中。
在一个实施例中,与系统TOS的标准接口被定义为纯抽象的C++类。厂商供给的特定于模块的校准和/或诊断类以可执行代码的形式——诸如动态链接库(DLL)——来提供,其可以在运行时由系统软件独立地且动态地(在要求时)加载。每个这样的软件模块负责提供用于系统校准和/或诊断接口命令的特定于厂商的实现,其包括用于校准和诊断软件开发的应用程序编程接口(API)。
用于执行校准和/或诊断的需求在不同类型的模块之间、并且在来自不同厂商的相同类型的模块之间很大地变化。对C&D框架的接口类进行设计,以解决这样的各种情形。由于校准和/或诊断模块和例程的性质是广泛可变的,厂商以标准的方式提供与他们的测试模块相关的信息。因此,实际的校准和/或诊断例程位于暴露标准、抽象接口的模块中,由特定于该模块类型的实现来支持。另外,具有用于调用非公认的接口的设施,以支持特定于厂商的校准和/或诊断能力。
标准校准和诊断接口图2a说明根据本发明一实施例的用于使用C&D框架来集成厂商供给的C&D数据的方法。如图2a中所示,以统一建模语言(UML)类图示出的C&D框架200包括C&D厂商公共信息接口202(ICDVendCommonInfo),该接口包括这样的机制,其允许该C&D框架获得关于校准和/或诊断例程集的内容的信息。ICDVendCommonInfo接口202包括多个例程和部件模块,以及具有非标准接口的方法的名称和标识符(ID)。在一个方案中,ICDVendCommonInfo接口包括下列方法getVendorInfo(),getModuleInfo(),getDLLRev(),getLevelAndCategory(),getGroups(),getThirdPartyAccess(),getSwModules(),以及runSwModules()。
getVendorInfo()方法读取DLL所对应的硬件模块的厂商名称。该厂商名称的字符串旨在将厂商的名称描述成与其模块ID有关。例如,如果硬件模块是ADVANTEST的DM250MHz模块,那么该字符串可以类似于“ADVANTEST”。所返回的厂商名称包含数字和字母的字符(‘a’-‘z’,‘A’-‘Z’,’0-9’)。
getModuleInfo()方法读取DLL所对应的硬件模块的模块名称。该模块名称的字符串旨在将硬件模块的名称描述成与其模块ID有关。例如,如果硬件模块是ADVANTEST的DM250MHz模块,那么该字符串可以类似于“DM250MHz”。所返回的模块名称包含数字和字母的字符(‘a’-‘z’,‘A’-‘Z’,’0-9’)。
getDLLRev()方法以字符串读取此DLL的修订版本(revision)。此接口也在安装期间使用。
getLevelandCategory()方法从厂商模块中读取支持的等级和类别。根据返回的等级和类别,框架将使用方法getGroups()来查询支持的程序组。
getGroup()方法返回属于指定的程序等级和类别的程序组。该指定的程序等级和类别是通过方法getLevelAndCategory()返回的那些。
getThirdPartyAccess()方法获取与用于整个校准和诊断模块的第三方访问(TPA)方法相关的信息。通过使用它,该厂商模块可以插入显示在校准和诊断GUI工具上的厂商特定特性。如果厂商C&D模块不需要具有此接口,则从此方法返回空的指针。
getSwModules()方法对框架设置详细的校准或诊断程序名称。如果模块具有属于该指定等级和类别以及组的程序集,则此方法的实现必须通过程序信息方法将该程序集信息返回给该框架。等级、类别、组用于在GUI工具中将程序分类。因为其不创建用于程序名称的范围,所以在具体的校准或诊断软件模块中程序标识符(progID)可以是唯一的。
runSwModules()方法要求模块执行选择的程序。一次调用可以选择一个程序。框架具有由用户在GUI工具中选择的程序序列,并且框架通过负责的模块来调用此方法。用户可以选择硬件实体(通常是通道)来运行程序。此信息通过参数env来传递。每个程序代码需要在选择的硬件实体上运行。
图2a的UML图也包括模块配置数据204,模块管理器206,系统控制C&D框架208,位置控制器C&D框架210,系统控制器212,位置控制器214以及C&D GUI工具216。UML图还包括厂商校准公共信息对象218,其从厂商校准DLL对象220检索信息;以及厂商诊断公共信息对象222,其从厂商诊断DLL对象224检索信息。
测试系统由模块配置数据204来配置。模块管理器206管理厂商供给的驱动软件、校准软件和诊断软件。C&D框架根据保持在模块管理器中的配置数据、通过ICDVendCommonInfo接口202来检索厂商校准和诊断程序信息。每个厂商可以用其自身特定的方式来实现为其校准或诊断功能性而分别派生的厂商校准公共信息对象(VendorCal的CommonInfo)218或厂商诊断公共信息对象(VendorDiag的CommonInfo)222。
C&D框架将厂商C&D软件信息传递到运行在系统控制器212上的C&D图形用户接口(GUI)工具216。当用户通过此C&D GUI工具216来操作C&D系统时,用户可以从C&D程序集中进行选择,该C&D程序集是从加载在当前系统配置中的全部厂商C&D软件中检索到的。使用ICDVendCommonInfo接口202,系统控制器中的C&D框架208将选择的程序分配给负责的位置控制器214,然后位置控制器中的C&D框架210在合适的厂商C&D模块上执行该程序。因此,通过使用ICDVendCommonInfo接口202,C&D框架向厂商提供了用于将厂商供给的C&D模块集成到测试系统中的标准接口集。
除ICDVendCommonInfo接口202之外,该C&D框架还包括下面的接口□ICDVendFwCtrl此接口提供由厂商部件使用的支持框架的实用程序,以访问厂商程序执行所要求的C&D框架环境设置。这包括算法版本、校准数据修订版本设置等。
□ICDVendIO此接口提供由厂商部件使用的支持框架的实用程序,以产生要引导到C&D GUI工具的标准化的消息,或运行在系统控制器上并提供数据日志记录服务的其它应用程序。
□ICDProgress此接口提供由厂商部件使用的支持框架的实用程序,以发送厂商程序执行的状态(例如“完成百分比”信息等)。此接口也用于停止从C&D GUI工具调用的C&D执行流程或者用于暂停或恢复执行。
□ICDVendCalData此接口提供由厂商部件使用的支持框架的实用程序,以读取和写入系统文件,诸如校准数据等。
□ISysDeviceSiteMgr该系统器件位置管理器(ISysDeviceSiteMgr)提供由厂商部件使用的支持框架的实用程序,以访问共享的系统器件或仪器。例如,其提供了对通过GPIB总线或通过RS-232C连接的系统控制器上的仪器的访问。提供了诸如IGPIBDeviceProxy和IRS232Proxy的代理对象。这些代理对象给予厂商模块对安装在系统控制器上的器件或仪器的远程访问。图2b说明了根据本发明一实施例的由用于访问共享仪器的测试系统使用的方案。
运行时校准运行时校准是在系统加载或执行测试计划程序时可以从测试类或从C&D框架调用的校准活动集。在一个实施例中,执行运行时校准的方法包括□确认硬件模块状态TOS确定是否所有的模块已经被校准并对于测试DUT准备就绪。
□加载校准数据(在先前的校准操作期间所存储)TOS通过加载特定于模块的校准数据来初始化模块。
□时域反射(TDR)和定时校准数据补偿
用户可以补偿特定于模块的定时校准数据,其与具体功能板(或负载板)一起使用。注意到,因为针对具体的DUT类型设计了功能板,所以系统定时校准不考虑在器件测试时由用户选择的具体功能板上的追踪线(trace line)的传播延迟。因为在从测试设备模块通道到DUT引脚的这些线上存在非零延迟,所以定时校准数据需要关于功能板上的追踪线的长度来进行补偿。时域反射(TDR)是一种用于使用电反射来测量追踪线长度的方法,并且测量数据随后被用于补偿定时校准数据。还注意到,因为定时校准数据特定于每个厂商供给的模块,所以数据补偿处理也特定于厂商供给的模块。
□在线定时校准数据补偿TOS和用户能够关于在测试执行期间出现的状况所支配的变化、功能板的效果、以及其它因素来补偿特定于模块的定时校准数据。换句话说,经常需要根据测试的实际条件来补偿定时校准数据。
在一个实施例中,图3a说明了数字功能发生器模块,其校准其驱动定时,以保证指定的定时发生在Vih(高驱动电压)304和Vil(低驱动电压)306的50%点302处。
数字功能发生器模块具有两个在线校准参数,Vih 304和Vil 306,其用于指定驱动电压幅度的50%点。利用预定电压幅度集获得基本定时校准数据。例如,若Vih=3V且Vil=0V,则Vih和Vil的50%点是在1.5V处。Vih和Vil的值用于补偿器件测试执行期间的驱动定时的定时校准数据。如图3b中所示,如果在测试期间将引脚(或引脚组)的驱动器编程为具有Vih=1.0V(308)且Vil=0V(310),则此驱动幅度的50%点312是0.5V。采用在线校准以使用指定的Vih和Vil值来补偿该定时校准数据,使得其足以用于这些工作驱动电压。
在开放架构测试系统中,测试计划程序语言中使用的硬件资源表示是独立于厂商的。例如,不仅允许用户利用由具体厂商提供的单个引脚、还允许用户利用其它厂商提供的引脚来声明引脚组,只要这些引脚满足特定的系统要求就行(如果有的话)。因为测试类使用在测试计划程序中指定的硬件表示,所以其支持这种独立于厂商的(即逻辑的)硬件表示。即使通过接口由系统暴露了特定于厂商的运行时校准实现,例如通过接口类ICDVendRtCal,但实际的实现也可能是不同的。因此,每个特定于厂商的运行时校准部件具有关于其功能性的不同的访问句柄。测试类开发者(即用户)需要单独地获得与相同的逻辑硬件表示相关的特定于厂商的访问句柄,并且单独地处理每个访问句柄(它们中的每个负责从相同的逻辑硬件表示中提取的具体的特定于厂商的硬件资源)。为了在测试类开发期间避免这种复杂性,C&D框架隐藏此复杂性,并且提供具有ICDRuntimeCal接口的代理实现。
图4说明根据本发明一实施例的、在运行时期间将特定于厂商的校准信息集成到开放架构测试设备框架中的UML类图。该UML图包括C&D厂商运行时校准(ICDVendRtCal)接口402,C&D运行时校准(ICDRuntimeCal)接口404和C&D运行时系统(ICDRuntimeSys)接口406。ICDVendRtCal接口402包含这样的机制,其允许框架获得特定于厂商的运行时校准例程集的特定实现。ICDRuntimeCal接口404允许用户访问ICDVendRtCal运行时校准接口402的特定于厂商的不同实现。图4的UML图还包括位置控制器214、位置控制器C&D框架210、厂商运行时校准类408、运行时校准类410以及测试类412。
在一个实施例中,ICDVendRtCal接口402、ICDRuntimeCal接口404、和ICDRuntimeSys接口406包括下列方法中的一个或多个getSwModule(),getAlgRev(),isInitialized(),loadDCCalData(),loadACCalData(),getAttributeCache(),tdrCal(),getTdrCalDataFromFile(),putTdrCalDataToFile(),mergeCal(),以及loadACCalData()。
getAlgRev()方法返回测试模块支持的算法或数据类型名称。C&D框架通过getAlgRev()方法请求默认的修订版本和支持的修订版本。修订版本的选择由用户在C&D GUI工具上作出。框架向厂商模块提供了实用程序,以读取选择的修订版本。测试模块使用选择的修订版本来支持捆绑(bundle)能力。
isInitialized()方法由C&D框架调用以确定测试模块是否被初始化。
当需要将DC校准数据加载到硬件模块上时调用loadDCCalData()方法,以准备操作。框架通过在厂商模块上调用isInitialized()方法来查询模块是否准备就绪,并且按要求来调用此函数以加载用于特定模块的DC校准对象。厂商模块获得用户想要使用的算法修订版本。用于此活动的功能性由C&D框架提供。
当需要将AC校准数据加载到硬件模块上时调用loadACCalData()方法,以准备操作。框架通过在厂商模块上调用isInitialized()方法来询问模块是否准备就绪,并且按要求来调用此函数以加载用于特定模块的AC校准。厂商模块获得用户想要使用的算法修订版本。用于此活动的功能性由C&D框架提供。标准AC校准数据是针对默认条件测量的校准数据。此默认条件是由厂商硬件模块决定的。例如ADVANTEST DM250MHz模块测量具有0v-3v的驱动电压摆动的标准AC校准数据。
getAttributeCache()方法获得ICDCalAttributeCache对象。ICDCalAttributeCache是用Oasis测试编程语言(OTPL)在校准块中描述的参数值对的厂商模块特定解释器。该校准块针对在线校准条件描述了条件。每个厂商硬件模块需要具有不同参数集作为在线校准条件。
这些在线校准参数在资源文件中列出。如果由任意具体模块支持的资源类型具有在线校准参数,则其需要在对应的资源文件中列出。资源文件由系统读取并且用于确定什么校准模块负责接受在校准块中指定的参数。
ICDCalAttributeCache是接口,用于提供方法以设置厂商硬件模块特定在线校准参数并还将其写入到硬件模块。校准模块开发者实现了该接口,如果硬件模块根据用户使用此特定模块的条件而要求校准数据补偿,则此接口通过getAttributeCache()针对具体的资源类型返回一实例。框架将在线校准参数传递给此实例,并且调用apply()方法将其写入到硬件模块。参数存储在测试条件存储器(TCM)中,并且框架将对实现测试条件的ICDCalAttributeCache对象集给出ID。
tdrCal()方法通过使用时域反射(TDR)方法来测量具体通道上线缆的长度以便补偿校准数据。对于要求此功能性的硬件模块实现此方法。
getTdrCalDataFromFiIe()方法读取由tdrCal()方法创建的TDR数据文件。厂商的实现需要针对功能板标识符读取TDR数据文件。此方法读取数据文件中引脚的TDR数据。
putTdrCalDataToFile()方法写入TDR数据文件。此方法由想要从其它面向用户的数据文件创建TDR数据文件的用户使用,或由想要补偿由tdrCal()测量的TDR数据的用户使用。
mergeCal()方法以TDR结果数据来补偿标准AC校准数据。在调用此方法之前需要加载标准AC校准或任意校准的数据。
当用户试图加载来自数据文件的标准AC校准或任意AC校准或合并的AC校准数据时,调用loadACCalData()方法。当目的地是测试条件存储器时,块标识符被指定为TcmID。所创建的测试条件存储器块将由selectTestCondition()方法来选择。指定的TcmID可以被系统使用,以将校准数据从在线校准数据回返到在测试执行时间由此方法加载的原始校准数据。如果该用户不使用此方法将数据加载到测试条件存储器上,则系统以未知的TcmID在厂商模块上调用selectTestCondition()。厂商模块在此情形中返回一错误。
测试条件存储器的使用可以在测试计划程序执行期间执行运行时校准活动。例如,每次在检测到可能导致系统精度损失的任意条件之后,可以进行在线校准。此在线校准导致了测试执行时间的开销,而这又可以降低测试系统的效率。
为了减轻此开销,根据本发明的另一实施例,测试系统预载了预定校准数据集,并且将其存储在测试条件存储器中。测试条件存储器(TCM)是用于存储测试条件的条件数据高速缓存,并且其可以有效地将测试条件数据从TCM传送到硬件寄存器。可以通过软件或硬件来实现此测试条件存储器。C&D框架将使用ITCMManipulator接口来创建、选择、删除测试条件,ITCMManipulator接口具有由厂商校准模块实现的下列方法。
OFCStatus openTCMEntry(TCMID_t condition);OFCStatus closeTCMEntry(TCMID_t condition);OFCStatus selectTCMEnfry(TCMID_tcondition);OFCStatus removeTCMEntry(TCMID_t condition);TCMID_t是测试条件的标识符。该框架将为测试条件的创建(openTestCondition()和closeTestCondition()),选择(selectTestCondition()),删除(removeTestCondition())指定一标识符。由ICDVendRtCal::getTCMManipulator()返回TCMManipulator。
在测试计划程序执行时期,C&D框架选择适当的测试条件存储器块,并且将它们传送到对应的硬件模块寄存器。图5示出了根据本发明一实施例的用于实现测试条件存储器的方法。该方法包括测试条件存储器操纵接口(ITCMManipulator)502、C&D厂商运行时校准接口402、以及厂商运行时校准数据对象408。ITCMManipulator接口502由C&D框架使用,以操纵测试条件存储器。通过实现此接口,任何厂商的测试条件数据都可以无缝地集成和加载到TCM中,从而减少测试系统的校准开销。
通过所公开的C&D框架得到一些好处。第一,其使得能够开发多厂商(即第三方)的软件和仪器、单独验证并可靠地集成到测试系统中,而不需要针对仪器的校准和/或诊断的任何特定于厂商的专有处理。另外,所公开的C&D框架将厂商供给的校准和/或诊断模块组织成单独的部件,由此提供了针对特定的厂商供给部件的集成和使用的无缝支持。而且,所公开的C&D框架提供了通过模块C&D部件来共享系统仪器的远程访问方案。另外,C&D框架提供用于将校准数据存储在测试条件存储器中的机制,这减少了典型地由于测试系统的重新校准而在测试期间引起的测试程序运行时开销。
相关领域的技术人员将认识到可以使用所公开实施例的很多可能的修改和组合,而仍然采用相同的基本底层机制和方法。为了解释,已经参照特定实施例给出了前面的描述。然而,上面的说明性的讨论不是穷举的或是要将本发明限制到所公开的确切形式。鉴于上面的教导,很多修改和变化都是可能的。选择并描述实施例是为了解释本发明的原理及其实际应用,并使本领域技术人员能够以适于所考虑的具体应用的各种修改来最佳地利用本发明以及各个实施例。
权利要求
1.一种用于将测试模块集成在模块化的测试系统中的方法,包括创建用于集成厂商供给的测试模块的部件类别;创建校准和诊断(C&D)框架,其用于在所述厂商供给的测试模块和所述模块化的测试系统之间建立标准接口,其中所述C&D框架包括传递厂商供给的模块集成信息的接口类;接收厂商供给的测试模块;根据所述部件类别从所述厂商供给的测试模块中检索模块集成信息;以及使用所述C&D框架基于所述模块集成信息将所述厂商供给的测试模块集成到所述模块化的测试系统中。
2.如权利要求1的方法,其中所述部件类别包括选自包括驱动软件、校准软件和诊断软件的组中的一个或多个元件。
3.如权利要求1的方法,其中所述接口类包括模块管理器,用于获得模块配置数据;厂商命令信息接口,用于获得厂商校准DLL和厂商诊断DLL;位置控制器框架,用于与一个或多个位置控制器接口;以及系统框架,用于与系统控制器接口。
4.如权利要求1的方法,其中所述接口类被定义为C++类。
5.如权利要求1的方法,还包括将所述模块集成信息存储在测试条件存储器中;以及基于存储在所述测试条件存储器中的所述模块集成信息来执行所述厂商供给的测试模块的校准。
6.如权利要求1的方法,还包括将所述模块集成信息存储在测试条件存储器中;以及基于存储在所述测试条件存储器中的所述模块集成信息在所述厂商供给的测试模块上执行诊断。
7.如权利要求5的方法,其中执行校准包括提供运行时校准接口;以及基于所述运行时校准接口执行所述厂商供给的测试模块的运行时校准。
8.如权利要求7的方法,其中所述运行时校准接口包括系统接口,用于通过位置控制器与所述厂商供给的测试模块通信;校准接口,用于与用户传递测试类信息;以及厂商接口,用于与厂商传递厂商供给的校准信息。
9.如权利要求7的方法,其中执行运行时校准包括获得硬件模块状态;加载校准数据;执行时域反射;执行定时校准数据补偿;以及执行在线定时校准数据补偿。
10.如权利要求1的方法,其中检索包括在运行时期间动态地加载所述模块集成信息。
11.如权利要求1的方法,其中检索包括在运行时期间独立地加载所述模块集成信息。
12.如权利要求1的方法,其中集成包括基于所述模块集成信息来校准所述厂商供给的测试模块。
13.如权利要求1的方法,其中集成包括基于所述模块集成信息来诊断所述厂商供给的测试模块。
14.一种模块化的测试系统,包括系统控制器;至少一个耦合到所述系统控制器的位置控制器;至少一个厂商供给的测试模块以及其对应的被测器件(DUT);用于集成厂商供给的测试模块的部件类别;校准和诊断(C&D)框架,用于在所述厂商供给的测试模块和所述模块化的测试系统之间建立标准接口,其中所述C&D框架包括传递厂商供给的模块集成信息的接口类;用于接收厂商供给的测试模块的装置;用于根据所述部件类别从所述厂商供给的测试模块中检索模块集成信息的装置;以及用于使用所述C&D框架基于所述模块集成信息来将所述厂商供给的测试模块集成到所述模块化的测试系统中的装置。
15.如权利要求14的系统,其中所述部件类别包括驱动软件;校准软件;以及诊断软件。
16.如权利要求14的系统,其中所述接口类包括模块管理器,用于获得模块配置数据;厂商命令信息接口,用于获得厂商校准DLL和厂商诊断DLL;位置控制器框架,用于与一个或多个位置控制器接口;以及系统框架,用于与系统控制器接口。
17.如权利要求14的系统,其中所述接口类被定义为C++类。
18.如权利要求14的系统,还包括测试条件存储器,用于存储所述模块集成信息;以及用于基于存储在所述测试条件存储器中的所述模块集成信息来在所述厂商供给的测试模块上执行校准的装置。
19.如权利要求14的系统,还包括测试条件存储器,用于存储所述模块集成信息;以及用于基于存储在所述测试条件存储器中的所述模块集成信息来在所述厂商供给的测试模块上执行诊断的装置。
20.如权利要求18的系统,其中所述用于执行校准的装置包括运行时校准接口;以及基于所述运行时校准接口执行所述厂商供给的测试模块的运行时校准的装置。
21.如权利要求20的系统,其中所述运行时校准接口包括系统接口,用于通过位置控制器与所述厂商供给的测试模块通信;校准接口,用于与用户传递测试类信息;以及厂商接口,用于与厂商传递厂商供给的校准信息。
22.如权利要求20的系统,其中所述用于执行运行时校准的装置包括用于获得硬件模块状态的装置;用于加载校准数据的装置;用于执行时域反射的装置;用于执行定时校准数据补偿的装置;以及用于执行在线定时校准数据补偿的装置。
23.如权利要求14的系统,其中所述用于检索的装置包括用于在运行时期间动态地加载所述模块集成信息的装置。
24.如权利要求14的系统,其中所述用于检索的装置包括用于在运行时期间独立地加载所述模块集成信息的装置。
25.如权利要求14的系统,其中用于集成的装置包括用于基于所述模块集成信息来校准所述厂商供给的测试模块的装置。
26.如权利要求14的系统,其中用于集成的装置包括用于基于所述模块集成信息来诊断所述厂商供给的测试模块的装置。
全文摘要
一种用于将测试模块集成在模块化的测试系统中的方法,包括创建用于集成厂商供给的测试模块的部件类别,以及创建用于在所述厂商供给的测试模块和所述模块化的测试系统之间建立标准接口的校准和诊断(C&D)框架,其中所述C&D框架包括传递厂商供给的模块集成信息的接口类。该方法还包括接收厂商供给的测试模块;根据所述部件类别从所述厂商供给的测试模块中检索模块集成信息;以及使用所述C&D框架基于所述模块集成信息将所述厂商供给的测试模块集成到所述模块化的测试系统中。
文档编号G01R31/28GK1981203SQ20058001635
公开日2007年6月13日 申请日期2005年5月23日 优先权日2004年5月22日
发明者足立敏明, 安康·普拉马尼克, 马克·埃尔斯顿 申请人:株式会社爱德万测试