测试电路和用于处理测试例程的方法
【专利摘要】本发明涉及测试电路和用于处理测试例程的方法。根据一个实施例,提供了一种测试电路,包括:测试器,其被配置为执行包括用于测试电子电路的多个测试命令的测试例程,其中,测试器包括检查器,所述检查器被配置为如果要执行多个测试命令中的测试命令则检查当前是否存在其中执行测试命令可能导致电子电路的损坏的状态,并且被配置为在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
【专利说明】测试电路和用于处理测试例程的方法
【技术领域】
[0001]本公开涉及测试电路和用于处理测试例程的方法。
【背景技术】
[0002]电子电路通常在制造之后在将它们交付给客户之前被测试。因为在此类测试过程中通常向要测试的电子电路应用电测试信号,所以存在如果未适当地实行测试过程,例如在测试信号中存在电压峰值,则电子电路在测试中受损坏的风险。期望对此予以避免。
【发明内容】
[0003]根据一个实施例,提供了一种测试电路,包括:测试器,其被配置为执行包括用于测试电子电路的多个测试命令的测试例程,其中,测试器包括检查器,所述检查器被配置为如果要执行多个测试命令中的测试命令则检查当前是否存在其中执行测试命令可能导致电子电路的损坏的状态,并且被配置为在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
[0004]根据进一步的实施例,提供了一种用于处理包括用于测试电子电路的多个测试命令的测试例程的方法,所述方法包括针对多个测试命令中的每个测试命令确定测试命令是否满足预定准则,以及向多个测试命令中满足预定准则的每个测试命令补充检查命令,所述检查命令检查执行测试命令是否可能导致电子电路的损坏,并且在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
【专利附图】
【附图说明】
[0005]在附图中,同样的参考字符一般贯穿不同视图指代相同的部分。这些图不一定是按比例的,代之以一般着重于图示本发明的原理。在以下描述中,参照附图来描述各个方面,其中:
图1示出测试电路。
[0006]图2示出流程图。
[0007]图3示出测试布置。
[0008]图4示出测试布置。
[0009]图5示出Excel程序窗口。
[0010]图6示出第一对象结构和第二对象结构。
[0011]图7示出Excel屏幕。
[0012]图8示出用户接口。
[0013]图9示出选项屏幕。
[0014]图10示出报告头部。
[0015]图11示出模块配置段。[0016]图12示出出现段。
[0017]图13示出示波器输出。
[0018]图14示出示波器输出。
[0019]图15示出示波器输出。
【具体实施方式】
[0020]以下详细描述参照附图,附图通过图示的方式示出其中可以实践本发明的本公开的具体细节和方面。足够详细地描述了本公开的这些方面以使本领域技术人员能够实践本发明。可以使用本公开的其他方面,并且可以在不偏离本发明的范围的情况下做出结构、逻辑和电气改变。本公开的各个方面并不一定是互斥的,因为本公开的一些方面可以与本公开的一个或多个其他方面进行组合以形成新的方面。
[0021]根据一个实施例,自动定位用于测试电子电路的测试例程(也称为测试程序)的(例如,由于编程错误)导致不期望的硬件条件的部分。此类条件可以与测试工程师使用的硬件(例如,使用的设备接口板(DIB))组合出现。取代信任测试例程的作者应用了足够的编程技术和编程指南(如果可获得的话),这允许测试例程在不期望的硬件条件(例如,(潜在地)引起对要测试的电路的损坏的条件)方面的验证,而不用例如借助于示波器通过大量努力来手动检查测试信号。
[0022]可以以这种方式处理或使用的测试例程例如是用像Teradyne的IGXL这样的测试程序开发编程语言编写的测试例程。例如,根据一个实施例,使用基于IGXL编程语言的硬件接口的覆盖(overlay)技术。这允许在测试命令(例如,这样的测试命令:这些测试命令的执行例如依赖于它们被启动的硬件状态可能导致要测试的电路的损坏)的启动之前和/或也在测试命令的执行之后引入检查点。该方式还允许例如通过引入附加检查点和检查方法来扩展检查过程以增加测试例程(在避免电路损坏方面)的安全性。
[0023]例如,根据一个实施例,检查器(例如,检查程序)在可能的危险条件(例如,针对其中在执行某个测试命令的情况下危险条件可能出现的状态)的方面检查测试例程的程序代码,所述危险条件例如由切换设备接口板(DIB)上的继电器引起,并且在所述危险条件中例如存在功率仪(例如,Flex DC90)的开环条件。功率仪可以例如与DIB的一个或多个继电器相关联,也即它经由其而连接到要测试的电子电路(被测设备(DUT))的那个或那些继电器。
[0024]硬件建模允许与测试硬件(例如,DIB)组合来检查测试例程。
[0025]在发现危险条件或者发现即将发生的危险条件,例如在测试例程中发现对将在将导致危险条件的硬件状态期间执行的测试命令的调用的情况下,所述危险条件即其中被测设备可能损坏的条件,即存在被测设备例如由于过电压而损坏的风险的情况下,测试例程可以在(即将发生的)危险条件的确切位置处停止(例如,测试命令的执行可以停止)使得可以容易地定位测试例程的可能有问题的部分。
[0026]检查器可以在线(S卩,当测试例程实际控制测试硬件时)和离线(例如,借助于仿真器)执行。在在线模式中(即,当在线执行时),检查器可以例如生成可以用作示波器的触发信号的同步信号。检查器可以例如生成指示测试例程的风险的报告(例如,测试程序可以引起的危险条件的数量)。
[0027]下面参照图1来描述根据实施例的测试电路。[0028]图1示出根据实施例的测试电路100。
[0029]测试电路100包括测试器101,其被配置为执行包括用于测试电子电路的多个测试命令的测试例程。
[0030]测试器101包括检查器102,其被配置为如果要执行多个测试命令中的测试命令则检查当前是否存在其中执行测试命令可能导致电子电路的损坏的状态,并且被配置为在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
[0031]换言之,根据一个实施例,测试器在测试例程的执行期间检查测试命令是否将在其中它可能导致被测设备的危险条件,即导致其中被测设备可能损坏的条件的状态中执行。在检测到测试命令调用的此类出现的情况下,输出例如引起停止测试命令的执行或者至少引起关于危险条件的报告的信号。应当注意,测试电路可以执行测试例程而不用电子电路连接到测试电路(但是代之以仿真硬件状态),并且可以基于所述信号或者多个信号(如果有的话)来生成报告。
[0032]测试器还可以包括被配置为响应于所述信号而停止执行测试命令的控制器。
[0033]测试器还可以包括报告生成器,其被配置为生成关于测试例程的执行的报告,并且被配置为响应于所述信号而将测试命令曾要在其中执行测试例程可能导致电子电路的损坏的状态中执行的指示包括在报告中。
[0034]所述状态例如是测试电路的状态。
[0035]测试电路例如包括被配置为生成用于电子电路的测试信号的功率仪和用于将功率仪与电子电路对接的设备接口板。
[0036]所述状态例如是包括测试电路和电子电路的布置的状态。根据一个实施例,提供包括测试电路和电子电路的测试布置。
[0037]所述状态例如是测试电路的开关的状态。
[0038]例如,所述状态是测试电路的一个或多个继电器的状态。
[0039]例如,所述状态包括测试电路的继电器是断开的还是闭合的。
[0040]所述状态可以例如包括测试电路的继电器是否处于稳定状态。
[0041]根据一个实施例,检查器被配置为在执行测试命令之前检查当前是否存在其中执行测试命令可能导致电子电路的损坏的状态。
[0042]多个测试命令例如是测试例程的所有测试命令中满足测试例程的所有测试命令中的预定准则的那些测试命令。
[0043]通信设备的部件(例如,测试器、检查器、控制器等)可以例如通过一个或多个电路来实现。“电路”可以理解为任意种类的逻辑实现实体,其可以是专用电路或执行存储在存储器中的软件的处理器、固件或它们的任意组合。因此,“电路”可以是硬连线逻辑电路或诸如可编程处理器的可编程逻辑电路,所述可编程处理器例如是微处理器(例如,复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器)。“电路”还可以是执行例如任意种类的计算机程序的软件的处理器,所述计算机程序例如是使用虚拟机代码的计算机程序,虚拟机代码诸如例如是Java。下文将更详细描述的各个功能的任何其他种类的实现也可以理解为“电路”。
[0044]可以例如如图2中所示那样处理测试例程。[0045]图2示出根据实施例的流程图200。
[0046]流程图200示出了用于处理包括用于测试电子电路的多个测试命令的测试例程的方法。
[0047]在201中,针对多个测试命令中的每个测试命令确定测试命令是否满足预定准则。
[0048]在202中,向多个测试命令中满足预定准则的每个测试命令补充检查命令,该检查命令检查执行测试命令是否可能导致电子电路的损坏,并且在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
[0049]换言之,根据一个实施例,通过向对某些测试命令(例如,依赖于硬件状态可能导致危险条件的测试命令)的每个调用添加对检查过程的调用来处理测试例程(例如,测试程序),该检查过程检查是否存在可能导致电子电路的损坏的(例如,产生自测试例程目前为止的执行的)状态。
[0050]补充测试命令例如包括用其中向测试命令补充了检查命令的库来替换包括测试命令的库。
[0051]测试命令例如包括控制动作,并且补充后的测试命令例如包括在执行控制动作之前执行检查。
[0052]控制动作例如是断开或闭合开关,例如断开或闭合继电器。
[0053]预定准则例如是执行测试命令可能在某个状态下导致电子电路的损坏。
[0054]应当注意,在测试电路100上下文中描述的实施例对于参照图2描述的方法是类似有效的,并且反之亦然。
[0055]在下文中,更详细地描述实施例。
[0056]在以下示例中,用检查器覆盖来执行测试程序(测试例程)。在该示例中,检查器检查两种危险状态条件,即,在其中执行测试命令导致危险条件的状态中对测试命令的调用的出现。
[0057]在图3中示出检查器检查的第一危险条件。
[0058]图3示出测试布置300。
[0059]测试布置300包括测试器301、设备接口板302和被测设备303。
[0060]测试器301包括提供用于测试被测设备303的测试信号的功率仪304。在该示例中,测试仪器(测试器)具有用于连接被测设备的两个连接端子(标示为高通道和低通道)。对于高通道,其包括第一力线(force line) 305和第一读出线(sense line) 306。对于低通道,其包括第二力线307和第二读出线308。第一力线305经由第一接口 309连接到DIB302并在DIB 302上继续。第一读出线306经由第二接口 310连接到DIB 302并且在DIB302上继续。第二力线307经由第三接口 311连接到DIB 302并且在DIB 302上继续。第二读出线308经由第四接口 312连接到DIB 302并且在DIB 302上继续。力和读出线305、306,307,308经由接触313通过DIB 302耦合到被测设备303。
[0061]第一力线305可以在测试器301内被第一测试器继电器314中断。第一读出线306可以在测试器301内被第二测试器继电器315中断。第二力线307可以在测试器301内被第三测试器继电器316中断。第二读出线308可以在测试器301内被第四测试器继电器317中断。
[0062]第一力线305可以在DIB 302内被第一 DIB继电器318中断。第一读出线306可以在DIB 302内被第二 DIB继电器319中断。第二力线307可以在DIB 302内被第三DIB继电器320中断。第二读出线308可以在DIB 302内被第四DIB继电器321中断。
[0063]另外,第一力线305和第一读出线306可以通过第一通道连接继电器(也标示为局部开尔文(local Kelvin)继电器)322来连接,并且第二力线307和第二读出线308可以通过第二通道连接继电器323来连接。
[0064]作为第一 HSC,检查器检查在DIB继电器318、319、320、321切换的情况下(B卩,在存在切换DIB继电器的测试命令的情况下),其相关联的测试器继电器314、315、316、317 (SP,用于中断相同力或读出线305、306、307、308的测试器继电器)是否闭合并且相关联的通道连接继电器(即,用于将可以用DIB继电器中断的力或读出线连接到相同通道的力或读出线的通道连接继电器)是否断开。即,这可以视为可能损坏被测设备303的开环条件。
[0065]当执行时可能损坏被测设备303的测试命令在该情况中例如是:
?用于闭合DIB继电器的命令,
例如,在基于IGXL的测试例程的示例中的命令“TheHdw.Utility.Pins( “PinList”).st&te o
[0066].用于将DIB继电器重置为其默认值(其可以是“闭合”)的命令,
例如,在基于IGXL的测试例程的示例中的命令“TheHdw.Utility.Reset”。
[0067]检查器例如针对以上两个命令中的任何一个的每次出现而检查测试命令在测试例程内的出现(例如,调用)是否是在与DIB继电器相关联的测试器继电器闭合并且与DIB继电器相关联的通道连接继电器断开的状态中进行的。该检查通过箭头324、325示出。如果检查是肯定的,则检查器可以(例如,借助于信号)触发测试例程执行中的中止和/或报告中的对应条目。
[0068]应当注意,检查器仅在DIB继电器被切换的情况下才检测HSC。在DIB继电器不改变其切换状态的情况下不针对该HSC进行任何检测。
[0069]在图4中示出检查器检查的第二危险条件。
[0070]图4示出测试布置400。
[0071]测试布置400包括测试器401、设备接口板402和被测设备403,其包括如上面参照图3所解释的功率仪404、力线和读出线405至408、接口 409至412、接触413和继电器414 至 423。
[0072]作为第二 HSC,检查器检查当其相关联的DIB继电器418、419、420、421还未稳定时测试器继电器414、415、416、417是否闭合(这可以视为弹跳(bouncing)条件)。
[0073]当执行时可能损坏被测设备403的测试命令在该情况下例如是用于闭合测试器继电器的命令(即,用于将功率仪404连接到DIB 402的命令),例如,在基于IGXL的测试例程的不例中的命令 “TheHdw.DCVL.Pins ( “PinList”).connect”。
[0074]检查器例如针对上述命令的每次出现而检查测试命令在测试例程内的出现(例如,调用)是否是在与测试器继电器相关联的DIB继电器还未稳定(例如,在切换DIB继电器之后还未经过预定的稳定时间)的状态中进行的。该检查通过箭头424、425示出。如果检查是肯定的,则检查器可以(例如,借助于信号)触发测试例程执行中的中止或者报告中的对应条目。
[0075]在检查器检测到HSC的情况下,其还可以例如紧接在例如危险条件出现的出现生效之前触发至经由对应输出连接到测试布置300、400的示波器的同步脉冲。
[0076]在下文中,给出了可以如何将检查器功能性实现到给定测试例程中的示例,在该示例中,假设所述给定测试例程基于TeradyneIGXL编程语言。
[0077]TeradyneIGXL 编程语言基于 Excel 的 Microsoft Visual Basic (VBA)环境的面向类的扩展。该扩展被划分成两个部分:标示为TheExec的程序执行控制和标示为TheHdw的硬件控制。变量TheExec和TheHdw是在测试器特定库中定义的实例化(instantiated)对象。为了使测试例程能够使用这些变量,Teradyne提供了对应的引用(也就是说库)。
[0078]在Microsoft Visual Basic中,针对当前项目(例如程序,在本情况中的测试程序)使用和使可获得的引用或库可以通过定义引用的等级或顺序使得最先来的引用在引用中具有最高优先级而被赋予优先级。当前项目(在本情况中的测试程序)具有甚至更高的优先级。在测试程序中未定义但是在测试程序中被引用的数据结构或函数的情况中,从包括针对该数据结构或函数的定义的最高等级的引用取得定义。
[0079]在图5中不出在Excel的Microsoft Visual Basic (VBA)环境中引用的添加。
[0080]图5示出Excel程序窗口。
[0081]在该示例中,假设用户向他的测试程序添加作为引用的标示为“HSC-V2XX.xlalA检查器库以向测试程序添加检查器功能性。
[0082]第一程序窗口 5 01是Excel的visual basic编辑器窗口。通过在子菜单Tools中选择引用504,用户可以触发引用窗口 502的显示。这里,对于当前项目可用的所有引用示出在列表505中,并且通过突出显示引用在箭头506上点击,用户可以改变列表内突出显示的引用的位置并因此改变其优先级。
[0083]通过在浏览按钮507上点击,用户可以浏览要添加的库。因此,打开浏览窗口 508,其例如允许用户向他的测试程序添加作为引用的库“HSC-V2XX.xla”(例如,来自用户已在其中存储该库的某个目录)。
[0084]具有优先级的引用的概念允许多次声明数据结构或函数,其中测试程序使用的定义是具有最高优先级的库(其具有针对该数据结构或函数的定义)中的定义,除非当前项目包括定义本身。
[0085]例如,令全局变量X在当前项目中被定义并且假设该变量还在最高等级的库中被定义。如果在测试程序中访问该变量,则使用如在测试程序中所定义的变量。只有重命名或删除了测试程序中的变量X,才使用如在下一最高等级的库中所定义的变量X。这例如应用于变量TheHdw和TheExec。
[0086]【71】在模块(或库)模板中定义变量TheHdw和TheExec。通过在被设置为比库模板更高等级的库中定义它们,可以改变测试程序接口。根据一个实施例,引入覆盖接口,其可以向原始测试程序接口转发用户输入,但是其还允许在测试程序执行期间包括各种检查。
[0087]以该方式替换变量的手段在原理上可以应用于任何变量。在以下示例中,其应用于变量TheHdw。
[0088]变量TheHdw是允许面向结构化级别的编程的对象。例如,为了对资源寻址(例如,函数或数据结构),该资源需要从第一级别(级别0)开始被寻址。依赖于级别,存在更多或更少方法和函数。TheHdw的结构在图6中示出。
[0089]图6示出第一对象结构601和第二对象结构602。
[0090]第一对象结构601在该示例中是Teradyne所提供的要用于测试程序的对象TheHdw。其包括第一级别上的根对象603、第二级别对象604和第三级别对象605。进一步的级别可以包括进一步的对象,但是为了简单在此没有示出。
[0091]通过定义被设置为比包括原始TheHdw 601的定义的库更高等级的库中的对象,对象603、604、605可以至少部分被替换。
[0092]例如,第二对象结构602是变量TheHdw,因为其在比包含原始TheHdw的库更高等级的库包含针对对象603、604、605的至少一部分的替换定义时产生。
[0093]例如,通过用第一级别替换对象606替换第一级别对象603,可以引入测试程序覆盖。第二级别对象604被第二级别替换对象607完全拷贝,使得第二级别对象604提供的功能性在从覆盖运行时对于测试程序是可获得的。第二级别替换对象607可以引用可以与第三级别对象605相同的第三级别替换对象608(即,第二级别替换对象607可以引用原始第三级别对象605)。然而,某些功能性可以要求树结构中第三级别或者甚至更深级别上的对象被替换。
[0094]当安装检查器功能性(例如,覆盖)时,来自测试程序的所有调用遍历第一级别替换对象606。除了通过替换第一级别对象603来引入用户接口覆盖之外,可以引入如上文所描述的针对HSC的检查。例如,替换包含如上文所描述的测试命令之一(例如,命令TheHdw.Utility.Pins ("PinList").state)的定义的对象,使得该测试命令的调用包括对检查功能的调用,该检查功能检查与针对其调用命令的DIB继电器相关联的测试器继电器是否闭合以及与DIB继电器相关联的通道连接继电器是否断开。对于测试命令的实际功能性,替换对象可以引用针对(例如,由例如在更深级别中定义的测试命令调用的子过程的)测试命令的原始定义。
[0095]在一个示例性实现中,用户声明测试程序中的公共变量TheHdw并实例化TheHdw。这在图7中示出。应当注意,在一个实施例中,不要求该声明。可以提供库(例如,“HSCxx.xla”),其通过实例化对象(例如,HSC.NeW_Cls_HdW)来自动提供作为最高等级对象定义的替换对象TheHdw。另外,对象的实例化触发对其他AddIn库的扫描并且以最高等级分别附着到它们。
[0096]图7 示出 Excel 屏幕 701、702。
[0097]在第一 Excel屏幕701中,示出Excel的visual basic编辑器窗口。在模块层上,用户可以通过“Public TheHdw as cls_Hdw”来声明公共变量TheHdw。可以使用该手段,因为在该示例中检查器功能性包括在不允许对象的直接创建的XLA (Excel Add-1n)中。
[0098]用户可以然后通过使用如第二 Excel屏幕702中所示出的visual basic编辑器的即时窗格(pane)并输入命令“Set TheHdw=HSC.New_cls_Hdw”来实例化TheHdw。该声明可以替代地在测试程序中的任何位置使用。然而,该声明的每次执行都创建TheHdw的新实例。为了卸载检查器覆盖,用户可以从测试程序中移除TheHdw的声明并从针对测试程序的引用中移除引用(例如,不检查它)。
[0099]在创建TheHdw (在其替换版本中)的实例之后,显示覆盖用户接口,如图8中所示。
[0100]图8示出用户接口 800。[0101]用户接口 800在标记为“运行”的部分下具有用于强制测试程序的验证的按钮“验证”801、用于运行测试程序的按钮“运行”802、用于在调试模式中运行测试程序的按钮“调试运行”803,以及用于开启/关闭用户在用户接口 800中完成的设定的保持的复选框“保持设定”804。
[0102]此外,用户接口 800在标记为“UDB-检查”的部分下具有用于示出下面参照图8描述的配置对话框的按钮“配置对话框” 805、用于针对报告运行进行初始化的“初始化报告”按钮806、用于生成报告的“生成报告”按钮807,以及用于开启/关闭在检测到HSC的情况下停止测试程序执行的功能性的“中止危险状态(BreakonHazardousState)”复选框808。
[0103]此外,用户接口 800具有用于开启/关闭用于示波器的触发脉冲的创建的“生成同步脉冲(GenerateSyncPulse)”复选框809,和用于开启/关闭用户接口 800始终保持在屏幕的顶部的“保持在顶部”复选框810。
[0104]在图9中示出配置对话框。
[0105]图9示出选项屏幕900。
[0106]选项屏幕900包括表,其在第一栏901中具有测试程序使用的继电器的列表,在第二栏902中具有针对继电器定义的需要的稳定时间,在第三栏903中具有当继电器断开时是否检查分配有继电器的功率仪的状态的规范,在第四栏904中具有当继电器闭合时是否检查分配有继电器的功率仪的状态的规范,以及在第五栏中具有分配给继电器的功率仪(假设DIB连接到多个功率仪)。在列表906中给出了可用的功率仪。
[0107]在第一栏901中,存在用于每个继电器的复选框以允许继电器的选择。按钮907、908、909、910允许加载、保存、导入和退出配置对话框。
[0108]配置对话框的部分911允许选择所选的一个或多个继电器的操作模式,这将在后文中描述。
[0109]无操作(仅查看):在多个被检查的继电器的情况中,在列表906中示出用于第一继电器的可用的功率仪。向上/向下箭头键可以用于选择单个继电器,然后针对该单个继电器在列表906中不出分配的功率仪。
[0110]切换时间(SwitchTime):可以通过在复选框“切换时间”下面的字段中应用的值来改变所选继电器的切换时间。
[0111]检查断开(CheckOpen):所选继电器可以被配置为当释放(断开)时被扫描或不被扫描。
[0112]检查闭合(CheckClose):所选继电器可以被配置为一旦变为活跃(闭合)就被扫描或不被扫描。
[0113]重新分配DC90:可以在列表906中选择功率仪(DC90)并通过按“分配”按钮将功
率仪(重新)分配给所选继电器。
[0114]“初始化报告”按钮806、“生成报告”按钮807和“中止危险状态”复选框808的功能性例如包括以下内容。
[0115]对报告初始化(InitForReport):HSC出现列表的清理;继电器的切换计数(SwithcCount)的重置;程序执行计数的重置。
[0116]生成报告(GenerateReport):生成包含关于测试调用(Testcell)、运行模式(RunMode)、模块配置和HSC的任何出现(如果发现的话)的信息的文件。该报告可以用于关于HSC的测试程序的文档化。
[0117]中止危险状态:一旦已经检测到HSC出现,就弹出消息,其允许去往测试程序中对应的代码行。然而,应当注意,调试断点可能引起对DUT、DIB和/或测试仪器有害的潜在风险。
[0118]在上文所描述的HSC的情况中,中止危险状态的条件为:
?如果切换DIB继电器318、319、320、321,其相关联的测试器继电器314、315、316、317闭合并且相关联的通道连接继电器断开(也称为局部开尔文(LocalKelvin)条件,在上文称为第一 HSC)。
[0119].如果已经检测到继电器稳定时间违反(上文称为第二 HSC)。
[0120]在两种情况中,例如,在中止时,按ESC允许用户继续下一出现,按回车或按钮允许用户去往测试程序的其中出现已经发生的代码行。弹出窗口中的复选框“中止危险状态”可以例如由用户用于继续测试程序而不进一步中止。
[0121]关于稳定时间违反,应当注意以下内容。根据一个实施例,每当DIB继电器切换时,其时间戳就得以更新。
[0122]每当测试器继电器切换时,检查是否存在相关联的DIB继电器的稳定时间违反。然而,该扫描(即,检查)花费一些时间,而在测试程序的正常执行中将不会消耗这些时间。一种对此予以考虑的可能性是测量扫描所需的时间并重新调整所有继电器的时间戳。然而,时间戳的该修正可能导致时间域违反,一旦并行使用另一时间域,该时间域违反变为可见。(例如,在稳定等待-动态等待技术中)。因此,根据一个实施例,实现两个时间戳。一个测量绝对定时,并且另一个测量修正后(调整后)的定时。一旦违反绝对定时就呈现稳定时间违反。
[0123]在下文中,描述了可以使用“生成报告”按钮807生成的报告的示例。
[0124]根据其基本结构,该报告包括:
?具有关于所使用的测试程序和环境的信息的头部?包括关于开关(继电器)的状态的信息的模块配置段?包括已经用于该报告的继电器至功率仪的分配的所使用的资源分配段?包括检测到的危险条件出现的段(在已经检测到此类出现的情况下可以弹出警告消息)。
[0125]在图10中示出报告头部的示例。
[0126]图10示出根据实施例的报告头部1000。
[0127]该头部包括检查器和版本信息、提供报告的模块的名称以及关于日期、时间和用户的信息1003。
[0128]在包括关于测试程序和执行信息的细节的段1004中,头部1000包括站点信息1005和自最后验证序列或报告初始化起运行的数量。
[0129]在计算机信息段1006中,头部1000包括关于运行测试程序的计算机的细节。
[0130]在IGXL信息段中,头部1000包括关于使用的IGXL软件版本的细节。
[0131]在图11中给出了模块配置段的示例。
[0132]图11示出根据实施例的模块配置段1100。
[0133]模块配置段110 0包括示出选项中止危险状态的状态的信息1101。此外,其包括来自上文所描述的配置对话框的表的信息。应当注意,仅针对具有功率仪分配的继电器示出稳定时间。与参照图9描述的配置对话框的表相比,在该示例中的模块配置附加地包括具有针对每个继电器的切换计数的栏1102,该切换计数通过至继电器的每个断开或闭合命令而增加。
[0134]在图12中示出包括检测到的危险条件出现的头部段的示例。
[0135]图12示出根据一个实施例的出现段1200。
[0136]出现段1200包括用于绝对继电器稳定时间违反的第一段1201、用于调整后(修正后)的继电器稳定时间违反的第二段1202、用于上文描述的第一 HSC的第三段1203,以及用于调整后(修正后)的继电器稳定时间违反的第四段1204 (类似于第二段1202)。
[0137]第一段1201、第二段1202和第四段1204包括定时信息。第三段1203示出各个继电器的连接状态。
[0138]图13示出示波器输出1301、1302。
[0139]示波器输出1301、1302示出了在危险条件出现时可以由检查器覆盖输出以便触发示波器的同步脉冲。
[0140]图14示出示波器输出1401、1402。
[0141]示波器输出1401、1402 (以不同的时间比例)示出了在继电器切换期间具有各种电压尖峰的行为。
[0142]图15示出示波器输出1501、1502。
[0143]示波器输出1501、1502 (以不同电压比例)示出了由在测试程序中出现的危险条件引起的电压尖峰1503。
[0144]此类电压尖峰可能引起对被测设备的损坏。通过检测危险条件,这可以避免。
[0145]尽管已经描述了具体方面,但是本领域技术人员应当理解,可以在不偏离如所附权利要求书所限定的本公开的方面的精神和范围的情况下在其中做出形式和细节上的各种改变。因此,所述范围由所附权利要求书来指示,并且因此意图涵盖在权利要求书的等同物的意义和范围内的所有改变。
【权利要求】
1.一种测试电路,包括: 测试器,其被配置为执行包括用于测试电子电路的多个测试命令的测试例程,其中,测试器包括检查器,所述检查器被配置为如果要执行多个测试命令中的测试命令则检查当前是否存在其中执行测试命令可能导致电子电路的损坏的状态,并且被配置为在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
2.根据权利要求1所述的测试电路,其中,测试器还包括控制器,所述控制器被配置为响应于所述信号而停止执行测试命令。
3.根据权利要求1所述的测试电路,其中,测试器还包括报告生成器,所述报告生成器被配置为生成关于测试例程的执行的报告,并且被配置为响应于所述信号而将测试命令曾要在其中执行测试例程可能导致电子电路的损坏的状态中执行的指示包括在报告中。
4.根据权利要求1所述的测试电路,其中,所述状态是测试电路的状态。
5.根据权利要求1所述的测试电路,其中,测试电路包括被配置为生成用于电子电路的测试信号的功率仪和用于将功率仪与电子电路对接的设备接口板。
6.根据权利要求1所述的测试电路,其中,所述状态是包括测试电路和电子电路的布置的状态。
7.根据权利要求1所述的测试电路,其中,所述状态是测试电路的开关的状态。
8.根据权利要求1所述的测试电路,其中,所述状态是测试电路的一个或多个继电器的状态。
9.根据权利要求8所述的`测试电路,其中,所述状态包括测试电路的继电器是断开的还是闭合的。
10.根据权利要求8所述的测试电路,其中,所述状态包括测试电路的继电器是否处于稳定状态。
11.根据权利要求1所述的测试电路,其中,检查器被配置为在执行测试命令之前检查当前是否存在其中执行测试命令可能导致电子电路的损坏的状态。
12.根据权利要求1所述的测试电路,其中,多个测试命令是测试例程的所有测试命令中满足测试例程的所有测试命令中的预定准则的那些测试命令。
13.一种用于处理包括用于测试电子电路的多个测试命令的测试例程的方法,所述方法包括: 针对多个测试命令中的每个测试命令确定测试命令是否满足预定准则;以及 向多个测试命令中满足预定准则的每个测试命令补充检查命令,所述检查命令检查执行测试命令是否可能导致电子电路的损坏,并且在其确定当前存在其中执行测试例程可能导致电子电路的损坏的状态的情况下输出指示执行测试例程可能导致电子电路的损坏的信号。
14.根据权利要求13所述的方法,其中,补充测试命令包括用其中向测试命令补充了检查命令的库来替换包括测试命令的库。
15.根据权利要求13所述的方法,其中,测试命令包括控制动作,并且补充后的测试命令包括在执行控制动作之前执行检查。
16.根据权利要求15所述的方法,其中,控制动作是断开或闭合开关。
17.根据权利要求15所述的方法,其中,控制动作是断开或闭合继电器。
18.根据权利要求13所述的方法,其中,预定准则是执行测试命令可能在某个状态下导致电子电路的损坏。`
【文档编号】G06F11/36GK103870389SQ201310664182
【公开日】2014年6月18日 申请日期:2013年12月10日 优先权日:2012年12月10日
【发明者】B.默斯勒, A.奥斯特洛 申请人:英飞凌科技股份有限公司