测试仪器基于来自测试中系统的信息的定制操作的制作方法
【专利摘要】定制测试仪器。可以提供多对代码模块。每对代码模块可以包括第一代码模块和第二代码模块,第一代码模块具有用于由测试仪器的处理器执行的程序指令,第二代码模块用于在测试仪器的可编程硬件元件上实现。对于每对代码模块,第一代码模块和第二代码模块可以共同地实现测试仪器中的功能。可以接收指定所述多对代码模块的至少一对中的第二代码模块的修改的用户输入。相应地,可以基于经修改的第二代码模块来生成用于测试仪器的可编程硬件元件的硬件描述。
【专利说明】测试仪器基于来自测试中系统的信息的定制操作
【技术领域】
[0001] 本发明涉及测试仪器,更具体地涉及一种用于定制测试仪器的软件和可编程硬件 的系统和方法。
【背景技术】
[0002] 测试仪器一般地被用于对测试中的设备(DUT)或测试中的系统(SUT)执行测试。 测试仪器一般地包括用于连接到SUT的一个或多个输入和输出。这些输入和输出可以是模 拟的、数字的、射频的等等,例如处于各种电压水平和频率。测试仪器一般地能够执行一个 或多个测试或特征。例如,测试仪器可以被配置为捕获波形、计算所测量的功率、以经编程 的频率生成音调等。测试仪器通常也被校准,以在其I/O上达到指定的精确度水平。例如, 当请求设备以IV的峰值-峰值生成正弦波时,该设备可以以+/-IOmV的精确度来这样做。 最后,测试仪器通常包括用户界面,以指定测试仪器应当如何运转。
[0003] 当前,可以以多种多样的方式来使用或配置测试仪器。例如,用户可以购买具有固 定的软件和固件(例如,实现在可编程硬件元件上)的测试仪器。该软件和固件可与测试 仪器的底层物理硬件(诸如模拟-数字转换器(ADC)、数字-模拟转换器(DAC)等)交互。 该模型在图1中示出。
[0004] 作为另一个例子,一些测试仪器可以被配置成以完全自定义的方式被编程,其中 用户可以提供自定义代码用于测试仪器的可编程硬件元件以及用于处理器。该自定义代码 可与和前一个例子中类似的底层物理硬件交互。该模型在图2中示出。
[0005] 在第一种情况下,用户不能定制测试仪器的任何功能性。而且,用户可能被迫购买 从未使用的特征,例如购买具有很大的特征集合的测试仪器以便使用它们中的仅仅一些。 相应地,这些用户被迫将他们的测试适应于所提供的固定功能性,并且可能不需要测试仪 器所提供的其他特征。在第二种情况下,用户被迫完全地指定测试仪器的功能性,这可能需 要大量的编码和测试仪表知识。另外,提供所有该编码的要求可能是成本效率极低的。
[0006] 因此,测试仪器的这两个例子导致很差的用户体验。因此,期望有测试仪器的改 进,特别是在定制方面。
【发明内容】
[0007] 下面介绍一种用于定制测试仪器的软件和硬件的系统和方法的各种实施例。
[0008] 可以提供多对代码模块,例如提供在用于配置或编程测试仪器的开发环境内。每 对代码模块可以包括处理器侧代码模块和可编程硬件元件(PHE)侧代码模块,处理器侧代 码模块具有由测试仪器的处理器执行的程序指令,PHE侧代码模块用于在测试仪器的可编 程硬件元件上实现。在一个实施例中,在每对中,处理器侧代码模块和PHE侧代码模块可共 同地实现测试仪器中的功能。例如,处理器侧代码模块可以由处理器执行以执行功能的第 一部分,并且PHE侧代码模块可被配置为实现在可编程硬件元件上以执行功能的对应的第 二部分。
[0009] 代码对可以提供各种特征,例如通常与测试仪器相关联的那些,除了其他可能性 夕卜,包括与硬件配置、数字信号处理、获取、生成或同步相关联的功能性。另外,可编程硬 件元件可以与测试仪器的底层硬件交互,所述底层硬件诸如模拟-数字转换器(ADC)、数 字-模拟转换器(DAC)、数字输入和输出、中心频率(例如时钟硬件和/或本地振荡器)、功 率水平(例如模拟增益和/或衰减硬件),除了其他可能性外。
[0010] 在一个实施例中,代码模块可以提供在图形化编程开发环境内。例如,代码模块可 以包括在具有通过连线连接的多个节点的一个或多个图形化程序中。互连的节点可以形象 化地表示所述一个或多个图形化程序部分的功能性。
[0011] 可以接收用户输入,其指定对一个或多个代码模块对中的代码的修改。例如,用户 输入可以修改一个或多个代码模块对中的处理器侧代码模块和/或PHE侧代码模块。在一 些实施例中,PHE侧代码模块的一部分可以是固定的,即它们不可以由用户例如在定制期间 改变。当代码模块包括图形化程序代码时,用户输入可以指定图形化程序代码的定制,例如 用户可以修改节点和/或节点之间的连接以定制测试仪器的运转。而且,可以提供应用编 程接口(API)用于与所述多对代码模块交互。在一些实施例中,该API可以在所述接收用 户输入之后保持不变并且可以使用。
[0012] 代码模块的定制或修改可以包括多种多样的动作。例如,用户可以去除一个或多 个代码模块的部分或全部。另外地或另选地,按照期望,用户可以添加另外的功能性到一个 或多个代码模块。用户还可以添加代码模块外部的功能性(例如被耦合到代码模块的)。 在一个特定的实施例中,定制可以指定测试仪器的自适应运转,例如使得其可以响应于来 自测试系统的信号(例如基于所接收信号的特性、所接收信号的内容等)来动态地调整测 试仪器的操作。
[0013] 最后,测试仪器可以用代码模块配置。该配置可以包括基于第二代码模块(例如 包括由用户输入指定的任何修改)来生成用于测试仪器的可编程硬件元件的硬件描述。类 似地,该配置可以包括将第一代码模块存储在测试仪器的一个或多个存储器介质上,例如 用于由测试仪器的处理器执行,包括由用户输入指定的任何修改。
【专利附图】
【附图说明】
[0014] 当结合以下附图来考虑以下对优选实施例的详细描述时,可以获得对本发明更好 的理解,在附图中:
[0015] 图1和2示出现有技术的测试仪器配置模型的框图;
[0016] 图3A-3C示出用于实现各种实施例的示例性系统;
[0017] 图4示出根据一个实施例的用于测试仪器的示例性配置模型的框图;
[0018] 图5是根据一个实施例的包括多个代码模块对的示例性配置模块的框图;
[0019] 图6是示出用于定制测试仪器的方法的一个实施例的流程图;
[0020] 图7是示出用于基于来自SUT的信息来修改测试仪器操作的方法的一个实施例的 流程图;
[0021] 图8-14是根据各种实施例的测试仪器的修改的示例性配置;和
[0022] 图15A-18H示出根据各种实施例的图形化程序用于执行对测试仪器的修改的使 用。
[0023] 虽然本发明容许各种修改和另选形式,其具体实施例通过附图中的例子被示出并 在此详细描述。然而应当理解,这些附图和对其的详细描述并不旨在将本发明限制为所公 开的特定形式,而是与此相反,本发明要覆盖落入权利要求所限定的本发明的精神和范围 内的所有修改、等同和另选形式。
【具体实施方式】
[0024] 通讨引用的并入:
[0025] 下面的参考文献通过引用全部并入于此,如同在此完整并完全地阐述:
[0026] 1990年4月3日授权的美国专利号4, 914, 568,标题为"Graphical System for Modeling a Process and Associated Method,'。
[0027] 美国专利号 5, 481,741,标题为 "Method and Apparatus for Providing Attribute Nodes in a Graphical Data Flow Environment,'。
[0028] 1997年8月18日提交的美国专利号6, 173, 438,标题为"Embedded Graphical Programming System,'。
[0029] 1997年8月18日提交的美国专利号6, 219, 628,标题为"System and Method for Configuring an Instrument to Perform Measurement Functions Utilizing Conversion of Graphical Programs into Hardware Implementations,'。
[0030] 2000年12月20日提交的美国专利号7, 210, 117,标题为"System and Method for Programmatically Generating a Graphical Program in Response to Program Information,'。
[0031] 术语
[0032] 以下是对本申请中使用的术语汇编:
[0033] 存储器介质--各种类型的存储器设备或存储设备的任何类型。术语"存储器介 质"旨在包括安装介质,例如CD-ROM、软盘104或磁带设备;计算机系统存储器或随机存取 存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等;诸如闪存、磁介质的非易失性 存储器,例如硬驱动器或光学存储;寄存器或其它类似类型的存储器元件等。存储器介质也 可以包括其它类型的存储器或其组合。另外,存储器介质可以位于程序被执行的第一计算 机中,或者可以位于通过网络(诸如因特网)连接到第一计算机的不同的第二计算机。在 后一种情况下,第二计算机可以向第一计算机提供程序指令用于执行。术语"存储器介质" 可以包括两个或多个存储器介质其可存在于不同的位置,例如,在通过网络连接的不同计 算机,这些计算机。
[0034] 载体介质--上文所描述的存储器介质以及诸如总线、网络的物理传输介质和/ 或传从信号(诸如电、电磁或数字信号)的其他物理传输介质。
[0035] 可编程硬件元件--包括各种硬件设备,这些硬件设备包括经由可编程互连件而 连接的多个可编程功能框(block)。实例包括FPGA(现场可编程门阵列)、PLD(可编程逻 辑器件)、FPOA(现场可编程对象阵列)以及CPLD(复杂PLD)。可编程功能框的范围可以 从细粒度(组合逻辑或查找表)到粗粒度(算术逻辑单元或处理器核心)。可编程硬件元 件还可被称为"可重构逻辑"。
[0036] 软件程序--术语"软件程序"旨在具有其普通含义的全部范围,并包括任何类型 的程序指令、代码、脚本和/或数据或者它们的组合,这些可以存储在存储器介质中并由处 理器执行。示例性的软件程序包括:以基于文本的编程语言(诸如C、C++、PASCAL、FORTRAN、 COBOL、JAVA、汇编语言等)编写的程序;图形化程序(用图形化编程语言所编写的程序); 汇编语言程序;已被编译成机器语言的程序;脚本;和其它类型的可执行软件。软件程序可 包括两个或更多个以某种形式互操作的软件程序。要注意,此处所描述的各种实施例可由 计算机或软件程序实现。软件程序可以作为程序指令存储在存储器介质上。
[0037] 硬件配置程序--可用于编程或配置可编程硬件元件的程序,例如网表 (netlist)或比特文件。
[0038] 程序一术语"程序"旨在具有其普通含义的全部范围。术语"程序"包括:1)软 件程序,其可存储在存储器中并可由处理器运行,或2)硬件配置程序,可用于配置可编程 硬件兀件。
[0039] 图形化程序--一种包括多个互连的节点或图标的程序,其中所述多个互连的节 点或图标形象化地指示程序的功能性。互连的节点或图标是用于程序的图形化源代码。图 形化功能节点也可以被称为框。
[0040] 以下提供图形化程序的各种方面的实例。下列实例以及讨论并不旨在限制图形化 程序的上述定义,而是提供术语"图形化程序"包括什么的例子:
[0041] 图形化程序中的节点可以以数据流、控制流和/或执行流格式中的一个或多个连 接。节点被可以以"信号流"格式连接,信号流是数据流的一个子集。
[0042] 可用于创建图形化程序的示例性图形化程序开发环境包括来自National Instruments 的 LabVIEW?、DasyLab?、DiaDem? 和 Matrixx/SystemBuild?,来 自 MathWorks 的 Si.mulink?,来自 Agilent 的 VEE?,来自 Coreco 的 WiT?,来自 PPT Vision 的 Vision Program Manager?,来自 Measurement Computing 的 SoftWIRE?,来自 Northwoods Software 的 Sanscript?,来自 Khoral Research 的 Khoros?,来自 HEM Data 的 SnapMaster?,来自 Visual Solutions 的 VisSim?, SES (Scientific and Engineering Software)的 ObjectBench?,和来自 Advantech 的 VisiDAQ?,除了其他之外。
[0043] 术语"图形化程序"包括在图形化建模环境中创建的模型或框图,其中所述模型或 框图包括形象化地指示模型或框图的操作的互连的框(即节点)或图标;示例性的图形化 建模环境包括 Simillillk?、SystemBuild?、VisSim?、Hypersignal Block? 等。
[0044] 图形化程序可以在计算机系统的存储器中表示为数据结构和/或程序指令。图形 化程序--例如这些数据结构和/或程序指令--可以被编译或解释以产生机器语言,所 述机器语言实现如在图形化程序中示出的所期望的方法或处理。
[0045] 到图形化程序的输入数据可以接收自各种源中的任何源,诸如来自设备、测试中 的单元、被测量或控制的处理、另一计算机程序、数据库,或者来自文件。同样,用户可以使 用图形化用户界面(例如前面板)来输入数据到图形化程序或虚拟仪器。
[0046] 图形化程序可以可选地具有与所述图形化程序相关联的GUI。在这种情况下,多个 互连的框或节点通常称为图形化程序的框图部分。
[0047] 节点--在图形化程序的上下文中,指可以包括在图形化程序中的元件。图形化 程序中的图形化程序节点(或简称为节点)也可以称为框。节点可以具有相关联的图标, 其表示该图形化程序中的该节点,以及实现该节点的功能性的底层代码和/或数据。示例 性节点(或框)包括功能节点、子程序节点、终端节点、结构节点等。节点可以通过连接图 标或连线而在图形化程序中连接在一起。
[0048] 数据流程序--一种软件程序,其中程序体系结构是指定数据通过程序的流的有 向图的程序体系结构,因此功能每当必要的输入数据可用时执行。数据流程序可以与过程 程序形成对照,过程程序指定要执行的计算的执行流。此处所使用的"数据流"或"数据流 程序"是指"动态调度的数据流"和/或"静态定义的数据流"。
[0049] 图形化数据流程序(或图形化数据流图)--也是数据流程序的图形化程序。图 形化数据流程序包括多个互连的节点(框),其中节点之间的连接的至少一个子集形象化 地指示一个节点所产生的数据由另一个节点使用。LabVIEW VI是图形化数据流程序的一个 实例。Simulink框图是图形化数据流程序的另一个实例。
[0050] 图形化用户界面--该术语旨在具有其普通含义的全部范围。术语"图形化用户 界面"通常缩写为"⑶I "。⑶I可包括只一个或多个输入⑶I元件,只一个或多个输出⑶I 元件,或输入和输出GUI元件两者。
[0051] 下面提供⑶I的各种方面的实例。下列实例以及讨论并不旨在限制⑶I的普通含 义,而是提供术语"图形化用户界面"包括什么的示例:
[0052] ⑶I可包括具有一个或多个⑶I元件的单个窗口,或者可包括多个单独的⑶I元件 (或单独的窗口,每个窗口具有一个或多个GUI元件),其中所述单独的GUI元件或窗口可 以可选地平铺在一起。
[0053] Gn可以与图形化程序相关联。在该实例中,可以使用各种机制来连接GUI中的 GUI元件与图形化程序中的节点。例如,当在GUI中创建了输入控件和输出指示器时,对应 的节点(例如终端)可以自动地创建在图形化程序或框图中。另选地,用户可以将终端节 点放置在框图中,其可导致在Gn中显示对应的CTI元件前面板对象,或者在编辑时或者稍 后在运行时。作为另一个例子,Gn可以包括嵌入在图形化程序的框图部分中的⑶I元件。
[0054] 前面板--一种图形化用户界面,其包括输入控件和输出指示器,并且其使得用 户能够交互式地控制或操纵提供给程序的输入并在该程序执行时查看该程序的输出。
[0055] 前面板是一种类型的GUI。前面板可与上述图形化程序相关联。
[0056] 在仪表应用中,前面板可类比为仪器的前面板。在工业自动化应用中,前面板可类 比为设备的MMI (人机界面)。用户可调整前面板上的控件以影响输入和查看相应指示器上 的输出。
[0057] 图形化用户界面元件--图形化用户界面的元件,诸如用于提供输入或显示输 出。示例性的图形化用户界面元件包括输入控件和输出指示器。
[0058] 输入控件--用于将用户输入提供给程序的图形化用户界面元件。输入控件显示 用户输入的值,并且能够根据用户的判断来操纵。示例性的输入控件包括拨号盘、旋钮、滑 块、输入文本框等。
[0059] 输出指示器--用于显示来自程序的输出的图形化用户界面元件。示例性的输 出指示器包括图表、图、量具、输出文本框、数字显示器等。输出指示器有时被称作"输出控 件"。
[0060] 计算机系统一各种类型的计算或处理系统中的任何类型,这些计算或处理系统 包括个人计算机系统(PC)、大型计算机系统、工作站、网络家电(network appliance)、因特 网家电(Internet appliance)、个人数字助理(PDA)、电视系统、网格计算系统或者其他设 备或设备的组合。一般来说,术语"计算机系统"可以广义地定义为包括具有至少一个执行 来自存储器介质的指令的处理器的任何设备(或设备组合)。
[0061] 测量设备--包括仪器、数据获取设备、智能传感器、以及任何的各种类型的被配 置为获取和/或存储数据的设备。测量设备也可以可选地被进一步配置为分析或处理所获 取的或所存储的数据。测量设备的例子包括仪器,诸如传统的独立"盒式"仪器、基于计算 机的仪器(卡式仪器)或外部仪器、数据获取卡、计算机外部的类似于数据获取卡操作的设 备、智能传感器、机架中的一个或多个DAQ或测量卡或模块、图像获取设备(诸如图像获取 (或机器视觉)卡(又名视频捕获板)或智能相机)、运动控制设备、具有机器视觉的机器 人、以及其他类似类型的设备。示例性的"独立"仪器包括示波器、万用表信号分析仪、任意 波形发生器、分光镜、以及类似的测量、测试或自动化仪器。
[0062] 测量设备可以进一步被配置为执行控制功能,例如响应于对所获取的或所存储的 数据的分析。例如,测量设备可以响应于特定数据而发送控制信号到外部系统(诸如运动 控制系统)或到传感器。测量设备还可被配置以执行自动化功能,即可以接收和分析数据, 并且发出自动化控制信号作为响应。
[0063]自动--指的是动作或操作由计算机系统(例如由计算机系统执行的软件)或设 备(例如电路系统、可编程硬件元件、ASIC等)执行,而不需要直接指定或执行该动作或操 作的用户输入。因此术语"自动"与由用户手动执行或指定的操作(其中用户提供直接执行 该操作的输入)形成对照。自动的过程可以由用户所提供的输入启动,但随后"自动"执行 的动作不由用户指定,即不是"手动"执行("手动"执行中用户指定每个要执行的操作)。 例如,用户通过选择每个字段并提供指定信息的输入(例如通过键入信息、选择复选框、单 选等)来填写电子表格是手动填写所述电子表格,即使计算机系统必须响应于用户动作来 更新所述表格。所述表格可以由计算机系统自动填写,其中计算机系统(例如在计算机系 统上执行的软件)分析表格的字段并填写表格而不需要指定字段的答案的任何用户输入。 如上面所指示的,用户可以调用表格的自动填写,但并不参与表格的实际填写(例如用户 不手动指定字段的答案,相反字段的答案自动完成)。本说明书提供响应于用户已经采取的 动作而自动被执行的操作的各种例子。
[0064] 图3A-3C--示例件系统
[0065] 图3A-3C示出可以实现此处所描述的实施例的示例性系统。如图3A所示,示例性 的测试仪器50(也被称为"仪表设备"或"测试设备")耦接到测试中的系统(SUT)75。如 此处所使用的,SUT涵盖术语"测试中的设备"或"DUT"。在图3A的实施例中,测试仪器50 实现为被配置或操作以测试SUT 75的机架。
[0066] 测试仪器75可以包括用于连接到SUT 75的一个或多个输入和输出。这些输入和 输出可以是模拟的、数字的、射频的等等,例如处于各种电压水平和频率。测试仪器75可以 被配置为执行一个或多个测试或者可以实现用于执行SUT 75的测试的各种特征。例如,可 以将测试仪器50配置为捕获波形、计算所测量的功率、以经编程的频率生成音调等。可将 测试仪器50校准,以在其输入/输出(I/O)上达到指定的精确度水平。例如,测试仪器50 可以被配置为在+/-IOmV的精确度内来生成峰值-峰值为IV的正弦波。测试仪器50可以 以此处所描述的方式被配置和/或可以以此处所描述的方式操作。
[0067] SUT 75可以是期望被测试的任何的各种设备或系统,诸如各种射频(RF)设备、半 导体集成电路、消费电子产品、无线通信设备(诸如蜂窝电话)、计算机、汽车电子、能量设 备、测量设备等。在一个实施例中,测试仪器50可以被配置为执行SUT 75的各种测试,例 如在从SUT 75获取的信号上。在一个实施例中,机架可以获取SUT 75的测量,诸如电流、 电压等(例如使用模拟传感器),和/或数字信号(使用数字I/O)。
[0068] 图3B示出测试仪器50的一个实施例的示例性框图。如图所示,测试仪器50可以 包括主机设备100 (例如主机控制器板),其可以包括中央处理器(CPU) 105、存储器110和 芯片集115。可存在于主机设备100上的其它功能由杂项功能框120表示。在一些实施例 中,主机设备100可以包括处理器和存储器(如图所示)和/或可以包括可编程硬件元件 (例如现场可编程门阵列(FPGA))。另外,卡或设备(例如设备125和/或150)中的一个 或多个也可以包括可编程硬件元件。在进一步的实施例中,测试仪器50的背板可以包括可 编程硬件元件。在包括可编程硬件元件的实施例中,可编程硬件元件可以根据在上面通过 引用并入的各种专利中所描述的图形化程序被配置。
[0069] 如图所示,主机设备100 (例如主机设备100的芯片集115)可以通过总线175提 供到第一外围设备125和第二外围设备150的通信(例如PCIe通信、PXI通信、或其他总 线通信)。第一外围设备125和第二外围设备150可被配置为基于主机设备100所提供的 信息来改变配置,如此处所描述的。
[0070] 设备可以是任何的各种设备(例如PCIe设备),诸如测量设备(例如DAQ设备、处 理设备、I/O设备、网络设备等。另外,与上文类似,设备可以包括一个或多个可编程硬件元 件或处理器以及存储器以实现它们各自的功能性。在一些实施例中,设备125和150可以 被配置为从SUT 75获取信号以执行测试。例如,设备125可以被配置为对SUT 75的电压 进行测量并执行模拟到数字的转换。类似地,设备150可被配置为对SUT 75的电流进行测 量并执行模拟到数字的转换。进一步的设备可以包括在机架50中,诸如用于执行GPS测量 的设备,例如使用GPS电路系统获取时间用于同步目的,除了其他可能性外。
[0071] 在一些实施例中,可以并行测量多个SUT 75。例如,测试仪器50中的一个或多个 设备可用于执行同步的测量,诸如用于RF测试,除了其他可能性外。而且,测试仪器50和 /或包括在其中的设备可以被配置为通过网络(诸如无线网络(例如802。11、WiMax等) 来执行测量。
[0072] 图3C示出主机设备100为计算机系统。如图2A所示,主机设备100可以耦接到 机架50 (例如包括第一设备125和第二设备150),并且可以包括显不器设备和一个或多个 输入设备。类似于以上对主机设备100的描述,该主机可以包括至少一个存储器介质,根据 本发明的一个实施例的一个或多个计算机程序或软件组件可以存储在其上。例如,存储器 介质可以存储一个或多个图形化程序,它们可执行以执行在此所描述的方法。另外,存储器 介质可以存储用于创建和/或执行这种图形化程序的图形化编程开发环境应用。存储器介 质还可以存储操作系统软件以及用于计算机系统的操作的其他软件。各种实施例进一步包 括接收或存储按照前面的描述实现在载体介质上的指令和/或数据。在另选的实施例中, 机架50可包括主机设备,并且计算机系统可以被配置以与机架50中的主机设备进行通信。 例如,计算机系统可以用于配置机架50中的主机设备和/或也包括在机架50中的设备125 和 150。
[0073] 在各种实施例中,主机设备100可以经由网络(或计算机总线)而耦接到第二计 算机系统或设备。按照期望,计算机系统中的每一个可以是各种类型中的任何类型。网络 也可以是各种类型中的任何类型,包括LAN(局域网)、WAN(广域网)、因特网、或内联网,等 等。类似地,主机设备100可以经由各种机制而耦接到测试仪器50。
[0074] 图4--测试仪器的示例件配置樽型的框图
[0075] 图4是示出测试仪器的示例性配置模型的框图。如图所示,测试仪器的最低层可 以是物理硬件。在该实施例中,硬件可包括ADC、DAC、数字I/O、中心频率(例如时钟硬件和 /或本地振荡器)、功率水平(例如模拟增益和/或衰减硬件)等。在一个实施例中,这是 用户可以访问(例如在定制期间)的I/O和使该I/O正常起作用所必要的硬件。
[0076] 同样如图所示,该层之上是FPGA固件,其可以与物理硬件和驱动程序级主机软件 连接并且可以实现设备的硬件特征。驱动程序级主机软件可以在计算机(或控制器)上 执行,并且可以具有允许用户访问设备的特征的API。在最高层处是应用软件,其可以调用 (或以其他方式利用)驱动程序级API。
[0077] 此处所提供的各种实施例可以特别地应用于图4所示的配置模型。更具体地,用 户可以能够定制或配置主机软件的配置和代码以及固件的配置和代码(实现在可编程硬 件元件上)两者。在一个实施例中,下面描述的定制可以特别地应用于系统的驱动程序级 软件和可编程硬件元件固件部分的定制。
[0078] 图5--具有代码樽块对的配置樽型的框图
[0079] 图5示出图4的更具体的配置模型。在该实施例中,图4的软件和固件中的主要 组件已经分解为五个代码模块对(处理器侧和PHE侧代码模块)。这些代码对可以至少实 现测试仪器中常见的基本功能性。按照期望,软件代码模块可对应于驱动程序级主机软件 和/或高级应用软件。处理器侧代码模块可以由测试仪器的一个或多个处理器(例如位于 主机100、设备125、设备150等中)执行,并且PHE侧代码模块可以由测试仪器的一个或多 个PHE (例如位于设备125、设备150等中)实现。
[0080] 如图所示,代码模块对包括配置、DSP、获取、生成和同步,尽管还可预想或多或少 的对。配置代码模块对可用于将物理硬件编程到给定状态(例如功率水平、频率、数据速率 等),和/或校准测试仪器。DSP代码模块对可用于改变数据的采样速率、过滤数据以改善 测试仪器的频率响应、数字式地改变数据的增益、或者其它处理。获取代码模块对可用于从 输入获取数据以及用于提供给主机。生成代码模块对可用于将数据从主机发送出输出。按 照期望,同步代码模块对可用于在测试仪器内的多个模块或卡之间以及/或者在多个测试 仪器之间对准I/O。
[0081] 这些代码模块可以以多种方式提供给用户。例如,代码模块可以在配置工具或开 发环境内提供,配置工具或开发环境可用于配置测试仪器。例如,用户可以在计算机系统 (例如图3C的计算机系统100)上安装软件,并且可以使用软件来配置测试仪器。在一个具 体的实施例中,代码模块对可以安装在开发环境内或与开发环境一起安装,开发环境例如 图形化编程开发环境(诸如National Instruments所提供的LabVIEW? )。
[0082] 在一个实施例中,代码模块可包括在具有通过连线连接的多个节点的一个或多个 图形化程序中。例如,可以有对应于测试仪器的主机的软件的第一图形化程序和对应于测 试仪器的PHE的第二图形化程序。另选地,测试仪器的功能性可以在单个图形化程序中完 全指定。图形化程序的互连的节点可以形象化地表示所述一个或多个图形化程序的功能 性。然而,代码模块可以提供在多个不同的开发环境中,而不限于图形化编程实施例。
[0083] 在一个实施例中,代码模块可以提供在开发环境内的一个或多个模板中。例如, 用户可以能够打开模板项目,该模板项目包括代码模块并且可以准备好用于配置测试仪器 (例如可以是可操作的而无需修改)。相应地,用户可以能够简单地修改已经存在的代码模 块来配置测试仪器以实现所期望的运转。代码模块可以在计算机系统的显示器上表现为单 独的模块化框(例如是互连的)。在一个实施例中,用户可以能够展开每个框来修改其功能 性(例如其中其可由节点表示,诸如sub-VI,节点展开为图形化编程实施例中的图形化程 序)。另选地或另外地,代码模块可以简单地包括在程序中,其中各部分对应于每个模块化 框。例如,模板可以包括用于主机的第一组代码和用于可编程硬件元件的第二组代码。这 些组代码的每一组可以具有与每个模块化框相对应的部分(例如其中每一部分被标记,诸 如通过颜色,其指示该部分或单独的节点对应于哪个模块化框)。
[0084] 在一些实施例中,代码模块(和/或代码模块对)可以提供在调色板(palette) 或库内。例如,用户可以选择他想在程序中包括哪些代码模块(或代码模块对)。用户可以 通过选择所期望的代码模块并手动将它们包括在所期望的程序中(例如通过将它们拖放 到图形化程序中,可能是从调色板,这遵从图形化编程实施例)来包括这些程序。另选地或 另外地,用户可以简单地选择所期望的代码模块,并且它们可以自动组装或集成到新的或 现有的程序中。例如,测试仪器向导(例如一系列的⑶I)可以显示在显示器上,在显示器 上用户可以选择测试仪器的所期望的功能性,例如通过选择所期望的功能性。作为响应,实 现所需的功能性的程序或配置可以被自动地创建或组装起来,例如通过自动地包括适当的 代码模块。因此,可以以多种方式指定或提供代码模块。
[0085] 如下面所讨论的,这些代码模块可以由用户定制。更具体地,用户可以能够选择保 持哪个代码模块、改变哪个代码模块、以及消除哪个代码模块,而不影响其它代码模块的功 能性或运转。由于代码模块可被提供在例如测试仪器的开发环境或配置工具中,用户可以 能够完全定制测试仪器的功能性,例如无需不得不编写很多代码。
[0086] 另外,可以提供应用编程接口(API)用于与多对代码模块交互。例如,可以由图4 的"高级应用软件"来使用该API与驱动程序级主机软件和PHE固件(例如对应于图5的 代码模块对)交互。在一些实施例中,该API可以在修改或定制之后保持不变并且可使用。
[0087] 图6--定制测试仪器
[0088] 图6示出用于定制测试仪器的方法。除了其它设备外,图6所示的方法可以与上 图所示的任何计算机系统或设备结合使用。在各种实施例中,所示出的方法要素中的一些 可以并行执行,以不同于所示出的顺序执行,或者可被省略。按照期望,也可以执行另外的 方法要素。如图所示,该方法可操作如下。
[0089] 在602中,可以提供多对代码模块,例如在用于配置或编程测试仪器的开发环境 内。如上面所讨论的,关于图5,这些代码模块可以按照多种不同的方式被提供。同样如所 讨论的,每对代码模块可以包括具有用于由测试仪器的处理器执行的程序指令的处理器侧 代码模块以及用于在测试仪器的可编程硬件元件上实现的PHE侧代码模块。因此,在每对 中,处理器侧代码模块和PHE侧代码模块可共同地实现测试仪器的功能。例如,处理器侧代 码模块可以由处理器执行以执行功能的第一部分,并且PHE侧代码模块可配置为实现在可 编程硬件元件上以执行该功能的对应的第二部分。
[0090] 如上面所讨论的,代码对可提供与硬件配置、数字信号处理、获取、生成或同步相 关联的功能性,除了其他可能性外。另外,可编程硬件元件可以与测试仪器的底层硬件交 互,所述底层硬件诸如ADC、DAC、数字I/O、中心频率(例如时钟硬件和/或本地振荡器)、 功率水平(例如模拟增益和/或衰减硬件)等。
[0091] 602中的多对代码模块可以指所包括的用于指定测试仪器的功能性的那些。因此, 可以有比602的多个代码模块对更多的未包括用于配置测试仪器的代码模块对。在一个实 施例中,用户可以已经从较大的代码模块对集合中选择了所述多个代码模块对。因此,602 中的代码模块对可以是可用代码模块总数的子集,例如可以用于配置特定的测试仪器。
[0092] 在604中,可以接收指定对一个或多个代码模块对的代码的修改的用户输入。例 如,用户输入可以修改在602中提供的并且/或者包括在测试仪器的当前配置中的一个或 多个代码模块对中的处理器侧代码模块和/或PHE侧代码模块。
[0093] 代码模块的定制或修改可以包括多种多样的动作。例如,用户可以去除代码模块 的部分或全部的一个或多个。另外地或另选地,按照期望,用户可以添加另外的功能性到一 个或多个代码模块。甚至进一步地,用户可以添加任何的代码模块外部的功能性,例如以提 供与由当前所选择的代码模块所提供的功能性不同的功能性。因此,按照期望,用户可以修 改代码模块对的一个或多个的PHE和/或软件部分,去除代码模块对的一个或多个的PHE 和/或软件部分的一些或全部,和/或添加除了由所述多个代码模块对提供的现有代码外 的新的PHE和/或软件代码。然而,在一些实施例中,代码模块的一部分(例如PHE侧代码 模块)可以是固定的,即它们不可以由用户改变,例如在定制期间。
[0094] 用户可以以各种各样的方式指定修改。例如,在通过图形化程序代码指定代码模 块时,用户输入可以指定图形化程序代码的定制,例如用户可以修改节点和/或节点之间 的连接来定制测试仪器的运转。另选地,可以在不同的开发环境中(例如修改代码模块的 文本代码)、通过测试仪器配置工具(例如使用配置向导或其他⑶I)等来指定用户输入。
[0095] 在一个特定的实施例中,定制可以指定测试仪器的自适应运转,例如使得其可以 响应于来自测试系统的信号(例如基于所接收信号的特性、所接收信号的内容等)来动态 地调整测试仪器的操作。下面参考图7提供关于这种自适应运转的进一步细节。
[0096] 在606中,可以生成对应于指定的代码模块对的程序指令和硬件描述,包括所述 一个或多个经修改的代码模块对。例如,处理器侧代码模块的软件可被编译用于由测试仪 器的处理器执行。例如,可以检测测试仪器的处理器的类型并且可以生成程序指令,以对应 于所检测到的处理器类型的指令集。在测试仪器内的各种不同位置中可以有处理器,例如 在主机内,其可以与PHE和底层硬件搭配(collocate)或者不搭配(例如在机架内或与机 架耦接,如图3B和3C的实施例所示)。另外,在测试设备的单独的卡或设备(例如图3B的 设备125和/或150)内可以有处理器。因此,软件可以由位于测试设备的各种不同区域中 的处理器中的一个或多个执行。
[0097] 另外,PHE侧代码模块可以转变为硬件描述级(HDL)代码(诸如Verilog),用于 在测试仪器的PHE上实现。与以上相似,PHE代码可以位于各种位置中,例如在测试设备的 单独设备(例如图3B的设备125和/或150)内,或者在其它位置中,例如机架50的背板。 在一个实施例中,可以生成用于编程PHE的门电路的网表(例如由HDL代码)。在图形化编 程的实施例中,生成HDL代码或网表可以以美国专利号6, 219, 628中所描述的方式执行,其 在上面通过引用全部并入于此。
[0098] 最后,在608中,测试仪器可以用程序指令并根据硬件描述来配置。更具体地,测 试仪器的PHE可以根据所生成的HDL代码或网表来编程,并且程序指令可以存储在测试仪 器的一个或多个存储器介质上,例如用于由测试仪器的处理器执行。要注意,程序指令可以 存储在测试仪器的主机部分中,所述主机部分可以包括在和测试仪器的PHE(例如以及底 层硬件)相同的外壳内也可以与测试仪器的PHE的外壳分开(例如是耦接到包含PHE和底 层硬件的机架的外部计算机系统的)。在任一情况下,测试仪器可以包括主机和PHE部分两 者,即使主机部分通过分开的计算机系统实现。
[0099] 测试仪器可以接着被配置,并且可以准备好如所配置地操作,例如来测试SUT。
[0100] 图7--某于来自SUT的信息来修改测试仪器橾作
[0101] 图7示出用于基于接收自SUT的信息来修改测试仪器操作的方法。除了其它设备 夕卜,图7所示的方法可以与上图所示的任何计算机系统或设备结合使用。在各种实施例中, 所示出的方法要素中的一些可以并行执行,以不同于所示出的顺序执行,或者可被省略。按 照期望,也可以执行另外的方法要素。如图所示,该方法可操作如下。
[0102] 在702中,可以提供处理器侧代码。处理器侧代码可以旨在于由测试仪器的处理 器来执行。另外,在704中,可以提供PHE侧代码。PHE侧代码可以旨在于由测试仪器的可 编程硬件元件实现。例如,处理器侧代码和PHE侧代码可以被提供为代码模块对,如上面关 于图6和图7所讨论的。然而,按照期望,可以以任何形式来提供代码。例如,代码可以被 提供为均匀代码(uniform code),而没有对代码的模块或部分的指示。例如,处理器侧代码 可以是整体的(monolithic),并且PHE侧代码也可以是整体的。无论如何,所提供的代码可 以指定测试仪器的功能性。
[0103] 在706中,可以接收定制(或以其他方式修改)处理器侧和/或PHE侧代码的用 户输入,以提供测试仪器的自适应运转。更具体地,用户输入可以指定功能性或运转,所述 功能性或运转允许测试仪器基于接收自SUT的信息来动态地或自动地调整其操作,例如在 SUT的测试期间。对测试仪器的操作的修改可以包括接收自SUT的信号的处理的修改、发送 到SUT的信号的修改、测试仪器的配置、SUT的配置、和/或任何所期望的修改。
[0104] 例如,定制可以指定,测试仪器基于SUT所接收信号的特性来自动地调整对该信 号进行接收或修改的方法。作为具体的例子,测试仪器可以自动地调整将SUT所接收信号 的增益调整到适当的电平(例如,当水平太低时提高增益,或者当水平太高时降低增益)。
[0105] 作为另一个例子,定制可以指定,测试仪器应当基于SUT所提供的信息(例如基于 在SUT所发送的信号内编码的内容)来修改其运转。例如,用户可能期望使SUT控制测试 的转换,例如其中SUT可以通过提供特定的激励信号来触发从第一测试模式到第二测试模 式的转换。另外,SUT可以能够对跳频进行响应或者启动跳频,例如在RF测试期间。可以 预见其它类型的自适应运转。
[0106] 另一个实例可以包括当SUT和测试仪器使用预定义的协议彼此通信时的情况。在 该情况下,可以有在两个系统之间来回传送的与数据一起的请求和确认信号。这可以允许 SUT请求响应或操作改变并实现智能测试。例如,为用于无线通信的半导体IC的SUT能够 在内部(例如内部硬件或软件)执行测试,如果它从测试仪器接收到正确的激励的话。例 如,SUT可以请求X频率、Z功率的信号,它可以使用该信号来执行自我检查。接着,SUT可 以通过请求Y频率、W功率的信号而继续,等等。
[0107] 另外的实施例可以包括在测试SUT并且该SUT在检查其误码率(BER)时的情况。 该测试可以以低数据速率开始,并且如果SUT检测到其BER非常好,则其可以从测试仪器请 求更高的数据速率。这个序列可以继续,直到SUT检测到差的BER,此时其可以请求测试仪 器降低数据速率。这个过程可以用作"重新分级(binning)" SUT处理的一部分,以确定它 的最大运行速度。
[0108] 可以以上面在604中所描述的方式来执行该定制;然而,还可以预见其它的定制。 例如,如上面所讨论的,可以不以代码模块或代码模块对来提供代码,而是可以以其它方式 来提供,诸如整体式代码。相应地,用户可以通过修改整体式代码来简单地定制代码。类似 于上述实施例,用户还可以使用一系列GUI (例如向导)来执行定制,所述一系列GUI则可 以根据用户的输入自动地修改代码。可以预见其它的定制。
[0109] 在708中,可以生成与处理器侧代码和PHE侧代码相对应的程序指令和硬件描述, 包括706的定制。该步骤可以以和606的类似的方式执行。
[0110] 710,可以使用程序指令和硬件描述来配置测试仪器。该步骤可以以和608类似的 方式执行。
[0111] 712,测试仪器可被操作来测试SUT。更具体地,测试仪器的处理器可以执行程序指 令,并且测试仪器的PHE可以根据硬件描述操作来测试SUT。在测试期间,可以从测试仪器 到SUT提供各种激励信号,并且可以从SUT到测试仪器提供各种响应或信号。
[0112] 在714中,在测试期间,可以从SUT接收信息。该信息可以对应于在上面706中所 指定的定制。例如,该信息可以对应于该SUT所提供的信号的特性、在该SUT所提供的信号 中编码的信息(诸如数据)、或定制所指定的任何其它信息。
[0113] 在716中,响应于该信息,根据在706中所指定的自适应运转,测试仪器的操作可 以基于该信息而被自动地修改。
[0114] 要注意,尽管图7包括定制处理器侧代码和/或PHE侧代码以实现自适应运转的 步骤,但是自适应运转可以之前已经在代码中被指定也是可行的。相应地,可以不需要定制 以使测试仪器来以此处所描述的自适应方式运转。而且,尽管描述了两组代码,替代地可以 使用单个一组(例如处理器和/或PHE)。
[0115] 图8-14-测试仪器的示例件配置和修改
[0116] 图8-14示出测试仪器的示例性配置和修改。虽然以使用上层API描述了这些图, 但是一些实施例可以不实现API。因此,在不使用所描述的API的情况下仍然可以实现示例 性的配置和修改。
[0117] 图8示出测试仪器的示例性初始配置,例如,可以在模板内提供给用户的配置或 测试仪器的默认配置。图8示出了 PHE固件和物理硬件之间的典型连接。
[0118] 例如,用户可以使用配置主机软件API来在主机软件级别上指定特定的功率水平 和中心频率。该值接着可被发送到固件并最后向下到物理硬件。为了获取,数据进入到ADC 中,并接着由PHE中的获取引擎通过DSP固件(FW)捕获,并且接着可以通过获取主机软件 API读出。在生成侧上,API可以用于在软件级别上生成数据,该数据可以被传送到PHE中 的生成FW,接着到DSP FW,并且经由DAC最终到SUT。
[0119] 图9示出对图8的初始配置的示例性修改。在该实施例中,获取引擎和生成引擎 已经被去除。所有其它的软件/固件保持不变。在该修改的版本中,代替主机,数字I/O连 接器用于流处理(Streaming)ADC和DAC数据。这允许用户使用不同的设备进行数据获取 和生成,该不同的设备可以连接到数字I/O端口。
[0120] 图10示出对图8的初始配置的不同的修改。在该实施例中,可以由SUT控制硬件 的配置(例如遵从图7的方法)。当从主机API调用配置时,作为对将配置直接写到物理硬 件的代替,所述配置可以存储在一些自定义的FW中(例如在存储器介质中)。在一个实施 例中,用户可以在存储器中存储多个配置或操作模式。该方法允许将校准考虑在内。接着, 正被使用的配置可以由SUT控件例如在测试期间选择,按照期望,要么通过ADC所接收的数 据要么通过数字I/O端口。
[0121] 一个例子是自动增益控制电路(AGC)。用户可以存储多个不同的配置,例如用于 100个不同的功率水平。接着,自定义的FW可以查看ADC所接收的信号的功率,并且在运行 时挑出不同的配置以最大化ADC的动态范围。
[0122] 另一个例子是跳频。用户可以存储16个不同的配置,例如用于16个不同的中心 频率。接着,SUT可以请求新的中心频率,要么通过数据通路(通过解码ADC数据)要么通 过数字I/O端口。相应地,测试仪器的操作可以被自动地改变,例如在测试期间。
[0123] 图11示出对图8的初始配置的不同的修改。这个例子类似于前面的例子,除了已 经去除配置软件/固件外。因此,在该示例中,用户可以从PHE直接控制物理硬件(例如通 过SUT控件),但是现在不必要将校准考虑在内。
[0124] 图12示出对图8的初始配置的不同的修改。在该情况下,用户已经将自定义的数 字信号处理逻辑插入到的ADC和/或DAC的数据通路中。它们还可以具有用于配置自定义 DSP固件的自定义主机软件。
[0125] 图13示出对图8的初始配置的不同的修改。在该示例中,数据经由ADC被接收、 通过自定义的DSP处理被处理、并被发送出DAC。这可用于多个应用,其中一个是信道仿真 器。该自定义的DSP可以修改信号以具有通过某种信道广播该信号的影响。在该示例中, 系统可允许通过数字I/O端口或通过对等DM链路的数据组合,例如用于聚合来自多个设 备的数据进行MMO处理。
[0126] 图14示出对图8的初始配置的不同的修改。该示例可以用于与无线电接口或测 试无线电。ADC数据可以被解码、解包、解调等,并被发送到主机进行最终的处理。同样,对 于DAC,来自主机的消息数据可以被编码、调制、分包等,并且最终发送到DAC。
[0127] 图15A-18H-俥用图形化编稈的示例件修改
[0128] 图15A-18H示出可在测试仪器的定制和操作期间使用的主机和PHE侧图形化程 序。更具体地,这些图示出了用于RF OUT生成和RF IN获取的例子的主机代码和PHE代码。 首先示出的是未修改的构造框的方法。其次示出的是修改的版本,其中数据不再来自主机 用于生成,而是出入DIO端口(例如对应于图9)。
[0129] 图15A-15G示出与驱动程序级的软件相对应的图形化程序(例如在上述API之 下)。该图形化程序被分成对应于图8的框的7个部分。在该特定的示例中,所有的模块化 框展开并连接在一起显示。形象化地,每个部分可以由不同颜色的标签来表示。在另选的 实施例中,模块化框可以连接在一起显示(例如类似于图8),并且可以响应于用户输入而 展开为底层图形化代码(例如按照期望,基于每个框或基于全局地)。
[0130] 更具体地,图15A对应于会话初始化和到硬件的通信端口的打开。图15B对应于 配置,例如用于建立功率水平和中心频率。图15C对应于生成,例如用于将所期望的波形下 载到硬件,建立硬件响应于触发应当如何生成等。图IOT对应于同步,例如用于建立同步电 路系统,路由同步触发等。图15E对应于DSP,例如用于建立DSP (频移、数字增益、速率变化 等)。图15F对应于获取,例如用于获取波形并将其返回到用户。最后,图15G对应于关闭 会话并重新设置仪器。
[0131] 图16A-16F示出图15A-15G的图形化程序,除了生成和获取代码已被去除并替换 以用于建立自定义PHE固件的一些自定义代码之外,这很像图9所示的例子。在此示例中, 16A对应于会话初始化和到硬件的通信端口的打开。图16B对应于配置,图16C对应于同 步,图16D对应于DSP,以及图16F对应于关闭到硬件的通信端口和关闭会话。
[0132] 在该示例中,图15C(对应于生成)和15F(对应于获取)已经以用于建立自定义 PHE固件的自定义代码替换,如图16E所示。更具体地,该代码可用于建立DIO信号的方向, 清除用于DIO端口的FIFO,并启动出/入DIO端口的数据的传递。
[0133] 图17A-17I示出与固件级别的代码(例如用于在PHE上实现)相对应的图形化程 序。该图形化程序被分成几个部分,类似于图8的框。与上面类似,代码模块可以形象化地 指示和/或以各种方式显示。
[0134] 图17A对应于生成,例如从存储器取得波形,取决于设备的状态来修改等。图17B 和17H示出了图形化程序的执行同步的部分,例如选择触发源。图17C和17F对应于DSP, 例如数字增益、频移、速度改变、均衡等。图17D对应于数据传输,例如发送数据到DAC,并且 图17E对应于从ADC接收数据。图17G对应于获取,例如捕获波形到存储器中。图171对 应于配置,例如配置中心频率和功率水平。
[0135] 图18A-18H示出图17A-17I的图形化程序,除了获取和生成分段已被去除并且同 步分段已经被修改之外,但是DSP、DAC和ADC代码是相同的。在该示例中,图18A对应于用 于从DIO端口采样数据并将该数据存储在FIFO中的自定义代码。图18B对应于对经修改 的同步代码的自定义。图18C对应于DSP并且图18D对应于数据传输,类似于上述图17C 和 17D。
[0136] 图18E对应于从ADC接收数据并且图18F对应于DSP,类似于上述图17E和17F。 图18H对应于经修改的同步代码。图18G对应于通过数字I/O输出将波形数据发送出去。
[0137] 讲一步的实施例
[0138] 虽然关于测试仪器和测试SUT已经描述了上述实施例,它们可被扩展到任何设备 或仪器的配置或定制。因此,上述实施例不限于上述的特定环境和示例,并且可按照期望应 用于任何适当的系统。
[0139] 虽然已经非常详细地描述了以上实施例,但是对于本领域的技术人员来说,一旦 充分理解了上述公开内容,各种变型和修改将变得明显。权利要求旨在被解释为包括所有 这些变型和修改。
【权利要求】
1. 一种用于定制测试仪器的方法,包括: 存储用于由所述测试仪器的处理器执行的第一代码; 存储用于在所述测试仪器的可编程硬件元件上实现的第二代码; 在存储第二代码之前接收定制第二代码的用户输入,其中所述用户输入指定用于所述 测试仪器的自适应运转; 基于所述用户输入生成用于所述可编程硬件元件的硬件描述; 其中,在所述硬件描述在所述可编程硬件元件上的实现之后并且在对耦接到所述测试 仪器的测试中的系统SUT的测试期间,所述测试仪器被配置为确定在对所述SUT的测试期 间接收自所述SUT的信息;以及 其中所述测试仪器的操作基于由所述用户输入指定的所述自适应运转和在对所述SUT 的测试期间接收自所述SUT的所述信息而自动地修改。
2. 根据权利要求1所述的方法,其中第一代码和第二代码在一个或多个图形化程序部 分中指定,所述一个或多个图形化程序部分包括通过连线连接的多个节点,其中所述多个 节点形象化地表示所述一个或多个图形化程序部分的功能性,其中接收指定定制的用户输 入包括接收修改所述一个或多个图形化程序部分的用户输入。
3. 根据权利要求1所述的方法,其中所述测试仪器的所述操作基于接收自所述SUT的 信号的特性而自动地修改。
4. 根据权利要求1所述的方法,其中所述测试仪器的所述操作基于接收自所述SUT的 信号的内容而自动地修改。
5. 根据权利要求1所述的方法,其中所述操作的修改包括以下中的一个或多个: 接收自所述SUT的信号的处理的修改; 发送到所述SUT的信号的修改; 所述测试仪器的配置;和 所述SUT的配置。
6. -种用于定制测试仪器的方法,包括: 提供用于测试仪器的第一配置,其中第一配置包括存储用于由所述测试仪器的处理器 执行的第一代码和用于在所述测试仪器的可编程硬件元件上实现的第二代码; 接收定制用于所述测试仪器的第一配置的用户输入,其中所述用户输入指定对第二代 码的修改,其中对第二代码的所述修改指定用于所述测试仪器的自适应运转; 基于第一配置和所述用户输入来生成用于所述可编程硬件元件的硬件描述,其中,在 所述硬件描述在所述可编程硬件元件上的实现之后,所述测试仪器被配置为: 从耦接到所述测试仪器的测试中的系统SUT接收信息;和 基于所述信息而自动修改所述测试仪器的操作,其中所述自 动修改包括执行由定制用于所述测试仪器的第一配置的用户输入 指定的所述自适应运转。
7. 根据权利要求6所述的方法,其中第一配置包括多对代码模块,其中每对代码模块 包括第一代码模块和第二代码模块,第一代码模块具有用于由所述测试仪器的处理器执行 的程序指令,第二代码模块用于在所述测试仪器的可编程硬件元件上实现,其中,对于每对 代码模块,第一代码模块和第二代码模块共同地实现所述测试仪器中的功能,其中代码模 块对中的第一代码模块在所述处理器上可执行以执行功能的第一部分,并且其中所述代码 模块对中的第二代码模块被配置为在所述可编程硬件元件上实现以执行所述功能的对应 的第二部分。
8. 根据权利要求6所述的方法,其中第一配置在一个或多个图形化程序部分中指定, 所述一个或多个图形化程序部分包括通过连线连接的多个节点,其中所述多个节点形象化 地表示所述一个或多个图形化程序部分的功能性,其中接收指定定制的用户输入包括接收 修改所述一个或多个图形化程序部分的用户输入。
9. 根据权利要求6所述的方法,其中所述信息包括接收自所述SUT的信号的特性,其中 所述自动修改基于所述特性而执行。
10. 根据权利要求6所述的方法,其中从所述SUT接收信息包括: 从所述SUT接收信号;和 通过分析接收自所述SUT的所述信号的内容来确定所述信息; 其中所述自动修改是基于所述信号的所述内容的。
11. 一种非易失性计算机可访问存储器介质,存储用于定制测试仪器的程序指令,其中 所述程序指令可执行以进行以下操作: 提供由所述测试仪器的处理器执行的第一代码; 提供用于在所述测试仪器的可编程硬件元件上实现的第二代码; 在存储第二代码之前接收定制第二代码的用户输入,其中所述用户输入指定用于所述 测试仪器的自适应运转; 基于所述用户输入生成用于所述可编程硬件元件的硬件描述; 其中,在所述硬件描述在所述可编程硬件元件上的实现之后并且在对耦接到所述测试 仪器的测试中的系统SUT的测试期间,所述测试仪器被配置为确定在对所述SUT的测试期 间接收自所述SUT的信息;以及 其中所述测试仪器的操作基于在对所述SUT的测试期间接收自所述SUT的所述信息、 根据由所述用户输入指定的所述自适应运转而自动地修改。
12. 根据权利要求11所述的非易失性计算机可访问存储器介质,其中第一代码和第二 代码在一个或多个图形化程序部分中指定,所述一个或多个图形化程序部分包括通过连线 连接的多个节点,其中所述多个节点形象化地表示所述一个或多个图形化程序部分的功能 性,其中接收指定定制的用户输入包括接收修改所述一个或多个图形化程序部分的用户输 入。
13. 根据权利要求11所述的非易失性计算机可访问存储器介质,其中所述测试仪器的 所述操作基于接收自所述SUT的信号的特性而自动地修改。
14. 根据权利要求11所述的非易失性计算机可访问存储器介质,其中所述测试仪器的 所述操作基于接收自所述SUT的信号的内容而自动地修改。
15. 根据权利要求11所述的非易失性计算机可访问存储器介质,其中所述操作的修改 包括以下中的一个或多个: 接收自所述SUT的信号的处理的修改; 发送到所述SUT的信号的修改; 所述测试仪器的配置;和 所述SUT的配置。
16. -种非易失性计算机可访问存储器介质,存储用于定制测试仪器的程序指令,其中 所述程序指令可执行以进行以下操作: 提供用于测试仪器的第一配置,其中第一配置包括存储用于由所述测试仪器的处理器 执行的第一代码和用于在所述测试仪器的可编程硬件元件上实现的第二代码; 接收定制用于所述测试仪器的第一配置的用户输入,其中所述用户输入指定对第二代 码的修改,其中对第二代码的所述修改指定用于所述测试仪器的自适应运转; 基于第一配置和所述用户输入来生成用于可编程硬件元件的硬件描述,其中,在所述 硬件描述在所述可编程硬件元件上的实现之后,所述测试仪器被配置为: 从耦接到所述测试仪器的测试中的系统SUT接收信息;和 基于所述信息而自动修改所述测试仪器的操作,其中所述自动修改包括执行由定制用 于所述测试仪器的第一配置的用户输入指定的所述自适应运转。
17. 根据权利要求16所述的非易失性计算机可访问存储器介质,其中第一配置包括多 对代码模块,其中每对代码模块包括第一代码模块和第二代码模块,第一代码模块具有用 于由所述测试仪器的处理器执行的程序指令,第二代码模块用于在所述测试仪器的可编程 硬件元件上实现,其中,对于每对代码模块,第一代码模块和第二代码模块共同地实现所述 测试仪器中的功能,其中代码模块对中的第一代码模块在所述处理器上可执行以执行功能 的第一部分,并且其中所述代码模块对中的第二代码模块被配置为在所述可编程硬件元件 上实现以执行所述功能的对应的第二部分。
18. 根据权利要求16所述的非易失性计算机可访问存储器介质,其中第一配置在一个 或多个图形化程序部分中指定,所述一个或多个图形化程序部分包括通过连线连接的多个 节点,其中所述多个节点形象化地表示所述一个或多个图形化程序部分的功能性,其中接 收指定定制的用户输入包括接收修改所述一个或多个图形化程序部分的用户输入。
19. 根据权利要求16所述的非易失性计算机可访问存储器介质,其中所述信息包括接 收自所述SUT的信号的特性,其中所述自动修改基于所述特性而执行。
20. 根据权利要求16所述的非易失性计算机可访问存储器介质,其中从所述SUT接收 信息包括: 从所述SUT接收信号;和 通过分析接收自所述SUT的所述信号的内容来确定所述信息; 其中所述自动修改是基于所述信号的所述内容的。
21. -种用于定制测试仪器的方法,包括: 存储由所述测试仪器的处理器执行的第一代码; 存储用于在所述测试仪器的可编程硬件元件上实现的第二代码,其中第二代码基于接 收自测试中的系统的信息来指定用于所述测试仪器的自适应运转; 基于第二代码生成用于所述可编程硬件元件的硬件描述; 在所述可编程硬件元件上实现所述硬件描述; 所述测试仪器操作以测试耦接到所述测试仪器的SUT,其中所述操作包括所述处理器 执行第一代码和所述可编程硬件元件执行由所述硬件描述指定的功能性; 所述测试仪器确定在所述测试仪器操作以测试所述SUT期间接收自所述SUT的信息; 和 基于在所述测试仪器操作以测试所述SUT期间接收自所述DUT的所述信息,自动修改 所述测试仪器的操作; 其中在所述自动修改操作之后,所述测试仪器继续操作以测试所述SUT。
22. -种测试仪器,包括: 处理器; 耦接到所述处理器的存储器介质,其中所述存储器介质存储程序指令,所述程序指令 由处理器可执行以实现所述测试仪器的第一功能性; 耦接到所述处理器的可编程硬件元件,其中所述可编程硬件元件被配置为实现所述测 试仪器的第二功能性; 用于与测试中的系统SUT通信的一个或多个输入和输出端口; 其中所述处理器和存储器介质以及可编程硬件元件被配置为: 从耦接到所述测试仪器的SUT接收信息;和 基于所述信息自动修改所述测试仪器的操作。
【文档编号】G06F11/263GK104364766SQ201380019995
【公开日】2015年2月18日 申请日期:2013年2月15日 优先权日:2012年2月16日
【发明者】C·G·斯科罗德尔, C·F·格拉夫, C·T·尼施古奇, N·G·德索扎, D·J·巴科尔, T·D·玛格鲁德尔 申请人:美国国家仪器有限公司