Networked test system
Claim Score by NHIP
Abstract
An automatic test system that can be configured to perform any of a number of test processes. The test system contains multiple functional modules that are interconnected by a network. By using software to configure data flow between functional modules, combinations of modules can be made, thereby creating virtual instruments. As test requirements change, the test system can be reconfigured to contain other virtual instruments, eliminating or reducing the need to add instruments to meet changing test requirements. To ensure adequate performance of the test system, a proposed configuration may be simulated, and if a virtual instrument does not provide a required level of performance, the test system may be reconfigured.

Term
2.1 yearsto projected expiry
Projected expiry 30 October 2028, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1An automatic test system for testing a unit under test (UUT), comprising:a) a network;b) at least one first functional module, each comprising: i) a UUT interface, the first functional module being adapted to generate or receive a test signal through the UUT interface;ii) a network interface coupled to the network, the network interface being adapted to transfer data characterizing the test signal between the network and the first functional module;c) a plurality of second functional modules, each comprising: i) data processing circuitry adapted to perform a function on the data characterizing the test signal generated or received by the at least one first functional modules;ii) a network interface coupled to the network, the network interface being adapted to transmit or receive the data characterizing the at least one test signal over the network, whereby any of the plurality of second function modules may exchange data with the at least one first functional module.
- 10Broadest claimClaim Score 62, broad(NHIP)A method of operating an automatic test system of the type having a first functional module, a second functional module and a third functional module interconnected by a network, the method comprising:a) acquiring with the first functional module at least one analog signal from a unit under test and producing one or more digital outputs;b) within each of the second functional module and the third functional module: i) receiving over the network at least one digital output of the one or more digital outputs;and ii) processing the at least one digital output, the processing in the third functional module being different than the processing in the second functional module.
- 14A method of operating a computing device to configure automatic test equipment to operate with a desired performance, the method comprising the acts:a) providing, in a format readable by the computing device, network communication characteristics for each of a plurality of functional modules;b) specifying, in a format readable by the computing device, a network configuration interconnecting the plurality of functional modules;c) computing, in the computing device, performance of the automatic test system with the specified network configuration and network communication characteristics;d) comparing the computed performance to the desired performance;and e) in response to the computed performance being less than the desired performance, modifying at least one of the functional modules in the plurality of functional modules and/or the specified network configuration.
Independent claims3
111 paragraphs in 4 sections, as filed
BACKGROUND OF INVENTION
00011. Field of Invention
0002This invention relates generally to electronic assemblies and more specifically to testing electronic assemblies.
00032. Discussion of Related Art
0004A need to test electronic assemblies frequently arises in connection with the manufacture or repair of electronic systems. An assembly may be tested by applying a pattern of stimulus signals to the assembly and comparing signals generated in response to an expected pattern of signals. In complex systems, numerous stimulus signals may be applied to an assembly and numerous response signals be measured during a test. To perform testing in an acceptable period of time, automatic test equipment is frequently used. The automatic test equipment can be programmed to quickly generate stimulus signals in a desired pattern and compare the response signals to an expected pattern.
0005To be able to generate and measure test signals of many different forms, test systems are frequently constructed with multiple instruments. Each instrument may execute a process that is a part of a full test. Frequently, the test processes executed by instruments include generation of stimulus signals, measurement of response signals and processing that either defines the stimulus signals or analyzes the responses. For example, a digital instrument may be programmed to generate a sequence of digital values at a test point of a unit under test (“UUT”) and measure one or more digital responses. The digital instrument may then analyze the responses to determine whether the UUT responded as expected to the stimulus signals.
0006One or more analog instruments may also be included in the test system, with each instrument generating or measuring an analog signal. For example, one analog instrument may act as a digital meter outputting a value that represents a voltage at a test point of a UUT. Another analog instrument may act as a scope, capturing samples of an analog signal at a test point and graphically displaying a representation of that signal. Yet other analog instruments may act as timing triggers, identifying a programmed pattern of signals and outputting an indication when that pattern is detected.
0007Each test system may include multiple instruments, with the specific instruments incorporated in the test system depending on the characteristics of units expected to be tested with that test system. The instruments may operate in a coordinated fashion under control of circuitry that is programmed to control the instruments to collectively perform any desired test. Outputs from the instruments may be passed to a processing element that determines from individual instruments whether the UUT is functioning, or, if the UUT is defective, determines the nature of the defect.
0008Many test facilities, whether operated for maintenance or manufacture of units, test multiple types of units with tests including different processes. Accordingly, a test system may be configured with more instruments than needed to test a single unit so that as test needs are identified, instruments needed to perform all processes of any test will be available. A downside of such an approach is the cost of procuring multiple instruments is incurred.
SUMMARY OF INVENTION
0009An improved test system is provided with multiple functional modules that can be assembled into virtual instruments that perform processes of physical instruments. Each functional module may perform a function that is part of a process performed by a virtual instrument. The functional modules may be interconnected by a network, allowing data to be exchanged between the functional modules. By appropriately interconnecting the functional modules, the test system may generate, measure and analyze test signals as in a conventional test system. However, the functional modules can be reconfigured to be a part of multiple different virtual instruments at different times, reducing the aggregate amount of hardware needed to implement a large number of instruments. Further, in any given configuration, the output of a functional module may be provided as an input to more than one other functional module. In this way, one functional module may replace multiple copies of functional circuitry in multiple physical instruments, thereby further reducing the total hardware required.
0010To provide a desired level of performance for the overall test system, the test system may be configured by specifying connection characteristics of the network interconnecting the functional modules to ensure the network reliably carries data between functional modules forming a virtual instrument. Further, a user may select between functional modules that perform similar functions, but with different levels of performance, to further alter the performance of the virtual instruments.
0011In one aspect, the invention relates to an automatic test system for testing a UUT. The test system includes a network and at least one first functional module that interfaces to the UUT. The first functional module is adapted to generate or receive a test signal through a UUT interface. The first functional module has a network interface coupled to the network, which transfers data characterizing the test signal between the network and the first functional module. The test system also includes a plurality of second functional modules. Each second functional module includes data processing circuitry adapted to perform a function on the data characterizing the test signal generated or received by the at least one first functional module. The second functional modules have network interfaces coupled to the network that transmit or receive the data characterizing the at least one test signal over the network. Because of the network connection, any of the plurality of second function modules may exchange data with the at least one first functional module.
0012In another aspect, the invention relates to a method of operating an automatic test system of the type having a first functional module, a second functional module and a third functional module interconnected by a network. The method involves acquiring with the first functional module at least one analog signal from a unit under test and producing one or more digital outputs. Within each of the second functional module and the third functional module, at least one or more digital outputs is received over the network and processed. Processing in the third functional module is different than the processing in the second functional module.
0013In yet a further aspect, the invention relates to a method of operating a computing device to configure automatic test equipment to operate with a desired performance. As part of the method, network communication characteristics are provided in a format readable by the computing device each of a plurality of functional modules. A network configuration interconnecting the plurality of functional modules is specified in a format readable by the computing device. The computing device computes performance of the automatic test system with the specified network configuration and network communication characteristics. The computed performance is compared to the desired performance, and in response to the computed performance being less than the desired performance, modifying at least one of the functional modules in the plurality of functional modules and/or the specified network configuration.
BRIEF DESCRIPTION OF DRAWINGS
0014The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
0015<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram of a prior art test system;
0016<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram of a test system according to an embodiment of the invention;
0017<figref idref="DRAWINGS">FIG. 3</figref> is a flowchart illustrating a process of configuring a test system according to an embodiment of the invention;
0018<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram of a test system according to an alternative embodiment of the invention; and
0019<figref idref="DRAWINGS">FIG. 5</figref> is a sketch of a functional module according to an alternative embodiment of the invention.
DETAILED DESCRIPTION
0020The inventors have appreciated that an improved test system may be constructed with virtual instruments. Each virtual instrument may be formed from one or more functional modules interconnected by a network. The functional modules may perform functions that are performed by a physical instrument in a conventional test system as it executes a test process.
0021Processes performed by a physical instrument in a conventional test system may be duplicated by the interconnected functional modules exchanging digital data over the network. Each functional module may have a network interface, allowing the functional modules to be interconnected over a common network. Consequently, the functional modules can be combined into virtual instruments, with some functional modules forming a part of more than one virtual instrument. Additionally, the combinations of functional modules may be changed by reprogramming network connections between functional modules.
0022<figref idref="DRAWINGS">FIG. 1</figref> illustrates a conventional test system <b>110</b> such as it is known in the art. Test system <b>110</b> generates and measures test signals applied to UUT <b>180</b>.
0023Test system <b>110</b> includes multiple instruments, of which a signal generator <b>140</b>, analog instrument <b>142</b>, analog instrument <b>150</b> and digital instrument <b>160</b> are shown. The analog and digital instruments in test system <b>110</b> are controlled from control and processing unit <b>130</b>. In test system <b>110</b>, control and processing unit <b>130</b> may be a computer with a display <b>132</b> providing a user interface.
0024Control and processing unit <b>130</b> is connected to each of the instruments through a bus <b>120</b>. In a conventional test system, the instruments are often mounted in a rack, a card cage or similar structure with a backplane or other mechanism to interconnect the instruments. Such as assemblies frequently use standardized buses, such as VXI, VME, GPBI or PXI buses or networks, such as Ethernet. These buses carry digital data, such as the results of analyzing measurements made on UUT <b>180</b> or command signals to the individual instruments. However, these buses generally are not regarded as providing real time control in the context of automatic test equipment. Rather, each of the instruments is generally regarded as a self-contained unit that performs a test process. Each instrument incorporates feedback paths or other components for real time control that are used in performance of the test process executed by the instrument.
0025Each of the instruments is coupled through switch matrix <b>170</b> to a test point on UUT <b>180</b>. Switch matrix <b>170</b> can interconnect each of the instruments to test points on UUT <b>180</b> so that the test system <b>110</b> may be configured with the required instrument connected to each test point. If multiple processes are to be performed on the same signal, switch matrix <b>170</b> can connect multiple instruments to the same test point on UUT <b>180</b>. For example, <figref idref="DRAWINGS">FIG. 1</figref> shows analog instruments <b>142</b> and <b>150</b> both connected to receive analog signal a<sub>1 </sub>from UUT <b>180</b>. Each of the instruments is constructed to perform a test process. For example, RF signal generator <b>140</b> may generate an RF signal having characteristics, such as frequency and amplitude, specified by digital values communicated by control and processing unit <b>130</b> over bus <b>120</b>.
0026Analog instrument <b>142</b> is an example of an instrument that performs a function on an analog signal a<sub>1</sub>. In the simplified representation of <figref idref="DRAWINGS">FIG. 1</figref>, analog instrument <b>142</b> includes analog-to-digital converter (A/D) <b>144</b> that converts analog signal a<sub>1 </sub>to a digital signal d<sub>1</sub>. The digital signal d<sub>1 </sub>is provided as an input to digital processing circuitry <b>146</b>. A second digital input d<sub>2 </sub>is provided to digital processing circuit <b>146</b> from memory <b>148</b>. Digital processing circuit <b>146</b> performs a function on the digital inputs and outputs a result that may be used within control and processing unit <b>130</b> to determine whether UUT <b>180</b> responded as expected.
0027In the simplified block diagram of <figref idref="DRAWINGS">FIG. 1</figref>, the processing performed in digital processing circuit <b>146</b> is represented by the function F<sub>1</sub>. Function F<sub>1 </sub>may represent any function that may be performed by an analog instrument in a test system as part of the test process executed by the instrument. For example, function F<sub>1 </sub>may represent a comparison function such that digital processing circuit <b>146</b> outputs a value indicating whether analog signal a<sub>1 </sub>matches the signal represented by digital signal d<sub>2 </sub>stored in memory <b>148</b>.
0028Analog instrument <b>150</b> also includes an analog-to-digital converter (A/D) <b>152</b>. In the configuration pictured in <figref idref="DRAWINGS">FIG. 1</figref>, A/D <b>152</b> also receives as an input analog signal a<sub>1 </sub>Because analog instrument <b>150</b> receives as an input the same signal a<sub>1 </sub>as analog instrument <b>142</b>, A/D <b>152</b> outputs a digital signal d′<sub>1 </sub>that is the same as the signal d<sub>1 </sub>output by A\D <b>144</b> in analog instrument <b>142</b>. Digital signal d′<sub>1 </sub>is then provided as an input to digital processing circuit <b>154</b>. In this example, digital processing circuit <b>154</b> implements a function F<sub>3 </sub>on the digital signal d′<sub>1</sub>. The function F<sub>3 </sub>may represent any function performed by an analog instrument. For example, analog instrument <b>150</b> may measure a characteristic of analog signal a<sub>1</sub>, such as its voltage or frequency. For such an instrument, digital processing circuit <b>154</b> processes the digital signal d<sub>1 </sub>to determine the desired characteristic. Analog instrument <b>150</b> may then output that measured characteristic to control and processing unit <b>130</b> over bus <b>120</b>.
0029Digital instrument <b>160</b> provides a further example of the types of physical instruments that have been included in prior art test systems. Digital instrument <b>160</b> includes digital processing circuit <b>162</b> that receives control signals from control and processing unit <b>130</b> over bus <b>120</b>. In response to those control signals, digital processing circuit <b>162</b> may read a digital signal d′<sub>2 </sub>from memory <b>164</b> and process d′<sub>2 </sub>to generate a digital signal, s<sub>1</sub>, applied to a test point on UUT <b>180</b> through switch matrix <b>170</b>. Though digital signal d′<sub>2 </sub>is used within digital instrument <b>160</b>, it may have the same value as digital signal d<sub>2 </sub>used with in analog instrument <b>142</b>.
0030<figref idref="DRAWINGS">FIG. 1</figref> illustrates attributes of conventional test systems that may be improved according to embodiments of the invention. For prior art test system <b>110</b> to perform different or additional functions, further analog or digital instruments may be added to test system <b>110</b> instead of or in addition to the instruments shown. Because each instrument is generally a self-contained unit that performs a process, the cost of adding an instrument may be relatively high and therefore undesirable. Further, because each instrument is designed to be self-contained, some instruments have components that duplicate functions performed in other instruments. For example, both analog instruments <b>142</b> and <b>150</b> contain circuitry that converts analog signal a<sub>1 </sub>to a digital signal d<sub>1</sub>.
0031<figref idref="DRAWINGS">FIG. 2</figref> shows a test system <b>200</b> that can be reconfigured to create “virtual instruments” that achieve the same effect of adding additional or different physical instruments without changing the underlying hardware. Test system <b>200</b> may also reduce the total amount of hardware required to implement multiple virtual instruments by allowing some circuitry to perform functions associated with multiple virtual instruments.
0032In test system <b>200</b>, multiple functional modules are interconnected by a network <b>210</b>. Network <b>210</b> may be any suitable network that allows functional modules to source and/or receive data on the network so that the functional modules can communicate over the network. Examples of suitable networks include Ethernet, Fibre Channel or 1394. In the illustration of <figref idref="DRAWINGS">FIG. 2</figref>, the network is shown as a multidrop network. However, the topology of network <b>210</b> is not a limitation of the invention. For example, a network with a hub and point-to-point connections may be used.
0033In the embodiment illustrated in <figref idref="DRAWINGS">FIG. 2</figref>, the functional modules include RF signal generator <b>220</b>, functional module <b>222</b>, analog-to-digital converter (A/D) <b>224</b>, functional module <b>226</b> and functional module <b>228</b>. Other functional modules include interface module <b>212</b>, control module <b>214</b>, memory module <b>216</b> and processing module <b>218</b>.
0034In this example, RF signal generator <b>220</b> may be a signal generator that generates an RF signal in response to input parameters and may be similar to RF signal generator <b>140</b> (<figref idref="DRAWINGS">FIG. 1</figref>).
0035Functional modules <b>222</b>, <b>226</b> and <b>228</b> may be modules that each performs a function associated with testing a unit. Because a test system may contain functional modules that perform any desired function, the functional modules are illustrated generally as performing functions F<sub>1</sub>, F<sub>2 </sub>and F<sub>3</sub>. Functions F<sub>1</sub>, F<sub>2 </sub>and F<sub>3 </sub>may represent any suitable functions relating to generating, measuring or analyzing a test signal.
0036A/D <b>224</b> may be an analog to digital converter as conventionally used in a test system, though any suitable device for producing a digital representation of an analog signal may be used. In the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, A/D <b>224</b> is connected to UUT <b>180</b> without the use of a switch matrix. In comparison to instruments that are larger and more costly because they contain data acquisition, signal generation and processing circuitry, there is less reason to switchably connect functional modules that perform only data acquisition or signal generation to UUT <b>180</b> through a switch matrix. Each test point may be connected to data acquisition or signal generation functional modules without the use of a switch matrix with little or no increase in the cost and size of the overall test system in comparison to a conventional system using instruments and a switch matrix. Constructing a test system without a switch matrix can simplify design and manufacture of a test system. Further, because a switch matrix can also be a source of signal distortion, constructing a test system without a switch matrix may improve signal integrity, thereby leading to more accurate testing. Of course, there are embodiments in which use of a switch matrix may be desirable, and the invention is not limited in this respect.
0037Control module <b>214</b> may be a computer workstation or other suitable device that may be programmed to provide control signals to functional modules such as <b>220</b>, <b>222</b>, <b>224</b>, <b>226</b> and <b>228</b>. For example, control module <b>214</b> may be programmed to perform any of the control functions of control and processing unit <b>130</b> (<figref idref="DRAWINGS">FIG. 1</figref>). In addition, control module <b>214</b> may be programmed to configure the functional units to exchange and process data to implement desired functions of test system <b>200</b>.
0038External interface <b>212</b> may be a display such as is conventionally attached to a computer workstation or a printer. External interface <b>212</b> may serve the same function as display <b>132</b> (<figref idref="DRAWINGS">FIG. 1</figref>) or otherwise may enable interfacing to external devices or a human user in connection with receiving or providing information.
0039Test system <b>200</b> may also include memory module <b>216</b>. Memory module <b>216</b> may be a memory module of any suitable construction. Because of the networked construction of tester <b>200</b>, any of the functional modules may read or write data to memory module <b>216</b>. Accordingly, memory module <b>216</b> may store any data used within the test system and may contain one or more types of computer memory, which could be volatile or non-volatile.
0040Test system <b>200</b> also includes a processing module <b>218</b>. Processing module <b>218</b> may be any suitable processing module, such as a single board computer or an array processor. In the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, processing module <b>218</b> may be programmed to perform any desired processing on data received over network <b>210</b>. For example, processing module <b>218</b> may be programmed to compute an FFT of a data series or may be programmed to perform correlation analysis on two signals.
0041The functional modules may be packaged in any suitable way. For example, they may be individual boards or assemblies in a test system. However, each module could be a chip on a board or provided in any other suitable way. Also, it is not necessary that every functional module be separated as shown. For example, in the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, interface <b>212</b>, control module <b>214</b>, memory module <b>216</b> and processing module <b>218</b> are shown as separate units. Each of these modules may be implemented as a separate board or other assembly inserted into a rack or card cage of suitable construction. However, because the units are interconnected through network <b>210</b>, no specific physical configuration of the units is required. In some embodiments, some or all of the units, such as external interface <b>212</b>, control module <b>214</b>, memory module <b>216</b> and processing module <b>218</b>, may be implemented in the same physical unit. For example, a computer workstation may provide an external interface, control, memory and processing capabilities and may be connected to network <b>210</b> through a single network interface.
0042For simplicity of illustration, <figref idref="DRAWINGS">FIG. 2</figref> shows an embodiment with only functional modules used to implement processes performed by a test system configured with instruments as in <figref idref="DRAWINGS">FIG. 1</figref>. However, different or additional functional modules may be incorporated in test system <b>200</b>.
0043Regardless of the number and type of functional modules included in test system <b>200</b>, each of the functional modules includes a network interface <b>240</b><sub>1 </sub>. . . <b>240</b><sub>9</sub>. By interconnecting the functional modules through network <b>210</b>, the functionality of any of the instruments in test system <b>110</b> may be duplicated.
0044Interconnections between functional modules may be provided in any suitable way. In the pictured embodiment, interconnections are provided through software programming of the network interfaces <b>240</b><sub>1 </sub>. . . <b>240</b><sub>9</sub>. For example each network interface may be programmed to implement one or more network connections, sessions or other form of association with another functional module. As a first functional module develops data used by a second functional module, the first functional module may transmit the data over the network using the association established with the second function module. The second functional module may monitor network for transmissions made through an association to which the second functional module belongs. The second functional module may then identify data it is to receive and process.
0045Network protocols that allow the creation of connections, sessions or other forms of associations are known. A known network protocol may be used to establish network paths between functional modules. However, any suitable network protocol may be used, including a custom protocol. Network protocols that support associations are frequently packet-based and may use header information transmitted with each packet to identify an association for a packet so that all modules connected to the network can identify specific packets to process.
0046In some embodiments, a packet-based network protocol that supports the creation of associations between functional modules is used on network <b>210</b> and interconnections between functional modules are defined by programming the functional modules to communicate using those associations. However, any suitable network protocol may be used.
0047Information on an association also may be used within a functional module receiving data over a network to determine how to process data in a packet once received. For example, functional module <b>222</b> is shown to receive two digital signals, d<sub>1 </sub>and d<sub>2</sub>. Functional module <b>222</b> may have at least two associations, one to receive-digital signal d<sub>1 </sub>and another to receive digital signal d<sub>2</sub>. Network interface <b>240</b><sub>2 </sub>may be programmed to process data in packets associated with the digital signal d<sub>1 </sub>differently than data in packets associated with digital signal d<sub>2 </sub>so that these digital signals may be processed as required by other circuitry in functional module <b>222</b>.
0048In operation, each of the functional modules may, based on programmed interconnections, receive information over network <b>210</b> used to control or execute functions of that module. Each module may also transmit over the network results of performing a function or may provide control information for other modules. In this way, functional modules may be interconnected in virtual instruments.
0049For example, RF signal generator <b>220</b> may receive control information through network interface <b>240</b><sub>1 </sub>specifying parameters of a signal to be generated. Parameters may, for example, specify the amplitude, frequency, modulation or other characteristics of a signal to be generated. The characteristics may be provided to RF signal generator <b>220</b> from control unit <b>214</b>. However, because each of the units, such as interface <b>212</b>, memory module <b>216</b> and processing module <b>218</b> are connected to RF signal generator <b>220</b> over network <b>210</b>, parameters may be provided to the RF signal generator by any of these modules. Additionally, each of the functional modules <b>222</b>, <b>224</b>, <b>226</b> and <b>228</b> is also coupled to RF signal generator <b>220</b> over network <b>210</b>. Accordingly, any of the functional modules may alternatively or additionally provide values to RF signal generator <b>220</b> specifying characteristics of the signal to be generated. At any given time, the specific functional module providing information to RF signal generator <b>220</b> may be specified by programming of network interconnections. Consequently, RF signal generator <b>220</b> on its own may act as an instrument or may be combined with other functional modules to act as a virtual instrument.
0050As another example, functional module <b>222</b> also receives values through interface <b>240</b><sub>2</sub>. In the embodiment illustrated, functional module <b>222</b> receives two inputs, which each may be a stream of digital values or information in any other suitable form. In the embodiment shown, functional module <b>222</b> receives digital signals d<sub>1 </sub>and d<sub>2 </sub>through network interface <b>240</b><sub>2</sub>. Functional module <b>222</b> is configured to perform a function F<sub>1 </sub>on the input values d<sub>1 </sub>and d<sub>2</sub>. Function F<sub>1 </sub>may represent one of the functions performed by instrument <b>142</b> (<figref idref="DRAWINGS">FIG. 1</figref>) or any other suitable function. For example, F<sub>1 </sub>may be a correlation or comparison function. Functional module <b>222</b> may output the result of function F<sub>1 </sub>over network <b>210</b> for use in another module or other modules connected to network <b>210</b>.
0051In the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, the digital signals d<sub>1 </sub>and d<sub>2 </sub>processed in functional module <b>222</b> are obtained over network <b>210</b> from other functional modules. In test system <b>200</b>, A/D <b>224</b> generates digital signal d<sub>1 </sub>by digitizing an analog signal a<sub>1 </sub>output by UUT <b>180</b>. In the example illustrated, d<sub>2 </sub>is read from memory module <b>216</b>, which may be programmed in the same way as memory <b>148</b> (<figref idref="DRAWINGS">FIG. 1</figref>). In this way, functional module <b>222</b> receives as inputs signals that replicate the inputs to functional circuitry <b>146</b> (<figref idref="DRAWINGS">FIG. 1</figref>). Accordingly, though functional module <b>222</b> contains only a subset of the circuitry in analog instrument <b>142</b> (<figref idref="DRAWINGS">FIG. 1</figref>), functional module <b>222</b> may nonetheless be configured along with memory module <b>216</b> and A/D <b>224</b> as a virtual instrument that performs the same function as analog instrument <b>142</b>.
0052<figref idref="DRAWINGS">FIG. 2</figref> also provides an example of the flexibility of a networked test system implementing virtual instruments. Though A/D <b>224</b> provides signal d<sub>1 </sub>to functional module <b>222</b>, there is no physical constraint that restricts A/D <b>224</b> for use only in conjunction with that functional module. As a result, the digital signal d<sub>1 </sub>output by A/D <b>224</b> may be readily used in other functional modules connected to network <b>210</b> to form different or additional virtual instruments. In the configuration shown in <figref idref="DRAWINGS">FIG. 2</figref>, functional module <b>228</b> also receives signal d<sub>1 </sub>as an input. Accordingly, functional module <b>228</b> can perform a function F<sub>3 </sub>on the digital signal d<sub>1 </sub>to form a virtual instrument that provides an output comparable to that provided by analog instrument <b>150</b> (<figref idref="DRAWINGS">FIG. 1</figref>). However, functional module <b>228</b> has less circuitry than analog instrument <b>150</b> because it can receive an input signal d<sub>1 </sub>over network <b>210</b> and does not require a dedicated A/D converter.
0053Similarly, functional module <b>226</b> may be part of a virtual instrument that generates a stimulus signal s<sub>1 </sub>that is equivalent to the stimulus signal s<sub>1 </sub>generated by digital instrument <b>160</b> (<figref idref="DRAWINGS">FIG. 1</figref>). However, functional module <b>226</b> may be implemented with less circuitry than instrument <b>160</b> because functional module <b>226</b> may receive inputs over network <b>210</b>, limiting the amount of circuitry required in functional module <b>226</b> to generate signal s<sub>1</sub>. For example, signal d<sub>2 </sub>may be provided over network <b>210</b> by any other functional module in test system <b>200</b>. In the example pictured, the function performed by digital instrument <b>160</b>, is duplicated because functional module <b>226</b> receives signal d<sub>2 </sub>over network <b>210</b> from memory <b>216</b>. By storing the signal d<sub>2 </sub>in memory <b>216</b>, dedicated memory associated with functional module <b>226</b> is avoided. Additionally, functional module <b>226</b> requires the output of processing circuitry to generate signal s<sub>1 </sub>as in digital instrument <b>160</b> (<figref idref="DRAWINGS">FIG. 1</figref>). Though functional module <b>226</b> is illustrated without such processing circuitry, functional module <b>226</b> may receive a processed output from processing unit <b>218</b> for use in generating s<sub>1</sub>. To allow these modules to operate as a virtual instrument, network <b>210</b> may be configured to exchange information between these modules.
0054As the foregoing examples illustrate, test system <b>100</b> includes functional modules that collectively perform all of the functions performed during execution of test processes by tester <b>110</b>. These functional modules can perform functions including those related to signal generation, signal capture, signal processing, other processing, control of the test system and interaction with a user. Network <b>210</b> may carry data and control information between any of the functional modules. By programming the functional modules to share data, the function of any instrument may be implemented in test system <b>200</b> by a combination of functional modules.
0055In some embodiments, network <b>210</b> may also be used to convey timing information between functional modules. Timing information may be conveyed as in conventional test systems operating under IEEE Standard 1588 or in any other suitable way. For example, each functional module may include a synchronized clock circuit that tracks time relative to a common reference time. Timing of events within test system <b>200</b> could therefore be achieved by transmitting event times as digital values on network <b>210</b>. In other embodiments, test system <b>200</b> may include timing controller <b>230</b> that provides triggering signals to the functional modules at times when events are to occur.
0056Regardless of how timing information is conveyed to each of the functional modules, the functional modules collectively may receive data, control and timing information used to generate, measure and analyze test signals at UUT <b>180</b> in the same way as test system <b>110</b> (<figref idref="DRAWINGS">FIG. 1</figref>). However, the functions of test system <b>200</b> may be altered in a simple and low cost manner by reprogramming the manner in which network <b>210</b> interconnects the functional modules. In many instances, test system <b>200</b> may be reprogrammed to perform different or additional test processes without additional functional modules. Even in instances in which an additional functional module is added to test system <b>200</b> to perform an additional process for a test, the size and cost of a functional module may frequently be less than the size and cost of an entirely new instrument.
0057In the embodiment such as the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, real-time control of the virtual instruments is achieved with information passed over network <b>210</b>. The performance of each virtual instrument may depend on how the network conveys information between functional modules. For example, in the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, all of the functional modules are interconnected through a network with a single segment. Accordingly, all of the functional modules may simultaneously compete for network bandwidth. If, at any time, the functional modules in the aggregate need to communicate an amount of information over network <b>210</b> that exceeds the network bandwidth, one or more of the functional modules may not receive either command or data information in time to perform a step of testing UUT <b>180</b>. If such a condition were to arise, test system <b>200</b> may not perform an accurate test of UUT <b>180</b>.
0058To avoid inaccurate test results or other performance problems associated with a networked test system, a test system configured from multiple functional modules interconnected by a network may be constructed to ensure that processing errors are unlikely to occur based on the performance of network <b>210</b>. <figref idref="DRAWINGS">FIG. 3</figref> illustrates a process that may be performed as part of configuring a test system using multiple functional modules interconnected by a network with network interconnection characteristics likely to provide a desired level of performance. For example, each virtual instrument may have a set of performance specifications that are similar to those provided for physical instruments. The process of <figref idref="DRAWINGS">FIG. 3</figref> may be used to identify a configuration of a networked test system that meets those performance specifications.
0059The process of <figref idref="DRAWINGS">FIG. 3</figref> may be performed at any suitable time. For example, the process of <figref idref="DRAWINGS">FIG. 3</figref> may be used at a factory when a test system is initially assembled for delivery to a user. Alternatively, a user of a test system may perform the process of <figref idref="DRAWINGS">FIG. 3</figref> when programming a test system to perform tests on a specific UUT.
0060The process of <figref idref="DRAWINGS">FIG. 3</figref> may be performed in any suitable way. In some embodiments, the process may be performed totally or partially by a computing device programmed to perform steps of the process.
0061The process of <figref idref="DRAWINGS">FIG. 3</figref> begins at block <b>310</b> where module capabilities are provided. For computer implemented processing, the capabilities are input at block <b>310</b> to the computer. In some embodiments, the manufacturer of each functional module may provide information on the capabilities of the module. That information may be provided in any suitable way, including electronically on computer readable media or recorded on paper or other similar media. If provided electronically, processing at block <b>310</b> may include downloading or uploading the electronic data defining module capabilities into a computer performing steps of the process of <figref idref="DRAWINGS">FIG. 3</figref>. In other embodiments, processing at block <b>310</b> may involve a user of the computer entering, such as through a keyboard or other user interface, module capabilities.
0062Module capabilities provided at block <b>310</b> may include any capabilities useful in simulating the performance of the network of interconnected modules forming a configured test system. As one example, module capabilities may include an acceptable latency, i.e., an amount of time a module can operate properly without receiving data over the network or being able to transmit data over the network. The module capabilities may also include a bandwidth, indicating the average amount of data per unit time a module transmits and/or receives over a network. However, the specific module capabilities provided are not a limitation of the invention and different or additional capabilities may be specified.
0063Once module capabilities are provided, processing proceeds to block <b>312</b>. At block <b>312</b>, interconnection characteristics are specified. In the illustrated embodiment, the characteristics specified include physical interconnections between the functional modules. In the embodiment of <figref idref="DRAWINGS">FIG. 2</figref>, all of the functional modules are physically interconnected through network <b>210</b>, which is shown with a single segment. This configuration represents one possible physical interconnection of functional modules. In other embodiments, physical interconnections between modules may be made with multiple network segments. The segments may be interconnected so that a module physically connected to one segment may communicate with modules connected to any other segment. However, modules physically connected to the same segment may exchange data over that segment without loading any other segment. Accordingly, in some embodiments, specification of interconnection characteristics at block <b>312</b> may involve specifying a number of network segments and the modules physically connected to each segment.
0064Though, different or additional characteristics may be specified at block <b>312</b>. For example, some networks operate according to a protocol that allows bandwidth to be preferentially allocated for certain types of transmissions. In some embodiments network bandwidth may be expressly allocated a priori. As one example of an express allocation, a network protocol may specify that certain transmissions occur at certain intervals. The size of those intervals, the rate at which they recur and the amount of data transmitted during each such interval may all be specified as a way to allocate bandwidth. In other embodiments, network bandwidth may be allocated dynamically as functional modules communicate based on parameters specified in advance to prioritize certain types of transmissions. By assigning priorities to certain types of network transmissions or certain functional modules, the bandwidth allocation is changed.
0065If a bandwidth allocation has been supplied, the network protocol may specify operation of network interfaces such as <b>240</b><sub>1 </sub>. . . <b>240</b><sub>9 </sub>to ensure that those functional modules allocated additional bandwidth receive preferential access to the network, which can, in turn, alter the performance of virtual instruments containing those functional modules. Such preferential access, for example, may be used for data transmitted to or from functional modules that cannot tolerate high latency or that require large amounts of data. As a specific example, a functional module transmitting a real-time data signal, such as digital signal d<sub>1 </sub>output by A/D <b>224</b>, may be allocated more network bandwidth on network <b>210</b> than transmissions to or from a functional module, such as functional module <b>228</b>, that analyzes data after it has been collected.
0066Interconnection characteristics may be specified at block <b>312</b> in any suitable way, including, for example, manually by a human or in an automated or semi-automated fashion by a computer programmed to implement steps of the process of <figref idref="DRAWINGS">FIG. 3</figref>. For example, when steps of the process of <figref idref="DRAWINGS">FIG. 3</figref> are performed in a computer, processing at block <b>312</b> may involve a user specifying module interconnections graphically through a graphical user interface to that computer. Allocation of bandwidth at block <b>312</b> may also involve other forms of user input, such as inputting numeric values representing percentages of available network bandwidth that are allocated to specific types of network communications or transmission to or from specific functional modules.
0067Processing at blocks <b>310</b> and <b>312</b> results in characteristics of the functional modules in a test system and the network interconnecting those functional modules being available for use in simulating performance of a networked tester. The specific characteristics that may be specified at blocks <b>310</b> and <b>312</b> serve as examples of the types of data that may be used to simulate a networked test system. Different or additional information may be specified, depending on the configuration of the test system and the specific technology used to implement it. For example, if a test system may be implemented with a choice of networks, type, processing at block <b>310</b> or <b>312</b> may involve specifying the type to be used to interconnect the functional modules. Accordingly, the process of <figref idref="DRAWINGS">FIG. 3</figref> is not limited to the specific example characteristics shown and may include receiving input specifying any characteristics of the functional modules, network or other aspects of the test system to be constructed.
0068Once information is provided on the network, functional modules and other characteristics of the test system to be configured, processing proceeds to block <b>314</b>. At block <b>314</b>, the performance of each of the virtual instruments created by interconnection of functional modules is computed. For example, <figref idref="DRAWINGS">FIG. 2</figref> illustrates a virtual instrument formed by the output of A/D <b>224</b> being provided as an input to functional module <b>222</b> in conjunction with data retrieved from memory <b>216</b>. The output of the virtual instrument is provided by functional module <b>222</b> to control module <b>214</b>. The performance of those functional modules as interconnected may be simulated to determine one or more performance characteristic of the virtual instrument formed by the interconnection of those functional modules. For example, prediction of performance at block <b>314</b> may result in a computation of the maximum sustainable rate at which samples taken by A/D <b>224</b> may be communicated for processing in functional module <b>222</b>, which can be used to indicate the data acquisition rate of the virtual instrument. As another example, a performance prediction at block <b>314</b> may involve computation of the latency between a sample taken at A/D <b>224</b> and the provision of an output to control module <b>214</b>, which may be used to indicate latency of the virtual instrument.
0069The performance predictions made at block <b>314</b> may be made in any suitable way. In an embodiment in which functional modules of a test system are interconnected through a conventional network, commercially available network simulation software developed for that network may be used to predict performance of each of the virtual instruments. However, any other simulation technique or any suitable method may be used to predict performance of the virtual instruments.
0070Processing then proceeds to decision block <b>316</b>. At decision block <b>316</b>, the performance predictions at block <b>314</b> are compared to specifications for each of the virtual instruments. The performance specifications may be provided in any suitable way. For example, a test engineer may analyze units to be tested and craft a performance specification of instruments needed to generate, measure and analyze test signals that represent desired test conditions for the unit. The performance specifications may be stored in a database or other suitable data structure accessible to a computer programmed to perform steps in the process of <figref idref="DRAWINGS">FIG. 3</figref>. Though, in embodiments in which processing at decision block <b>316</b> is performed manually, the performance specifications may be stored in a human readable form. Accordingly, the manner in which the performance specifications are generated and stored is not a limitation on the invention and any suitable mechanism may be used.
0071Regardless of how the performance specifications are generated or stored, if the instruments meet the performance specifications set for a test system, processing may branch to termination point <b>340</b>. If processing reaches termination point <b>340</b>, the interconnection characteristics specified at block <b>314</b> may be used to interconnect functional modules as specified at block <b>310</b> to create a test system meeting the instrument specifications. Such a test system may then be configured by programming the functional modules of the test system to operate with the identified configuration.
0072Conversely, if as determined at decision block <b>316</b>, one or more of the instruments does not meet the specifications, processing proceeds from decision block <b>316</b> to decision block <b>318</b>. At decision block <b>318</b>, a determination is made of whether a reconfiguration of the networked test system is possible.
0073The processing at decision block <b>318</b> may apply any suitable criteria to identify whether reconfiguration is possible. The test system can be reconfigured by changing any of the interconnection characteristics of the test system. For example, if the interconnection characteristics include bandwidth allocation, reconfiguration may be performed by changing that allocation. As another example, if all of the functional modules are connected with a single network segment, it may be possible to reconfigure the networked test system by providing multiple network segments, with a subset of the functional modules connected to each network segment.
0074Alternatively, if the networked test system is already configured with multiple network segments, it may be possible to further subdivide the network into additional segments. It also may be possible to reconfigure the test system by changing the allocation of functional modules to network segments. For example, two functional modules that exchange large amounts of data with each other, but not with other functional modules, may be assigned to a single network segment without other functional modules connected to that segment.
0075Regardless of the manner in which the network can be reconfigured, if reconfiguration is possible, processing loops back to block <b>312</b>. At block <b>312</b>, the interconnection characteristics specified are changed to indicate a reconfiguration of the networked test system.
0076New characteristics, representing a reconfiguration, may be generated in any suitable way. In some embodiments, the characteristics specified at block <b>312</b> may be changed randomly. In other embodiments, the interconnection characteristics specified at block <b>312</b> may be changed in an iterative process. In an iterative process, a new set of interconnection characteristics may be selected to reallocate network bandwidth from communications between modules interconnected in virtual instruments that meet their performance specifications to communication between modules interconnected in virtual instruments that do not meet their performance specifications. Similarly, the network segmentation may be changed to group functional modules forming a virtual instrument that does not meet performance specifications in single network segment and reducing the number of other functional modules connected to that segment.
0077Regardless of how the interconnection characteristics are specified at block <b>312</b>, the process of <figref idref="DRAWINGS">FIG. 3</figref> may loop through block <b>312</b>, block <b>314</b>, decision block <b>316</b> and decision block <b>318</b> until either interconnection characteristics are specified so that all virtual instruments meet the performance specification or no further reconfiguration is possible. If interconnection characteristics result in all of the virtual instruments meeting specification, processing branches from decision block <b>316</b> to termination point <b>340</b> for processing as described above.
0078If no interconnection characteristics can be identified that meet the performance specification, processing may branch from decision block <b>318</b> to decision block <b>320</b>. At decision block <b>320</b>, the process branches depending on whether upgrades are available for the networked test system.
0079In the illustrated embodiment, or “upgrade” may be an additional functional module that can be added to the test system. An “upgrade” may alternatively or additionally be a higher performance functional module that can replace a functional module already incorporated in the test system. For example, a functional module that can tolerate greater latency may be considered an upgrade for a functional module performing a similar function but is incapable of tolerating the higher latency. Alternatively, a functional module that can output data at a faster rate may be an upgrade for a module that performs a similar function but is limited in the rate at which it can provide data over network <b>210</b>.
0080Regardless of the exact definition used for an upgrade, processing at decision block <b>320</b> may use any suitable criteria for determining whether an upgrade is possible. The criteria used may be technology related or business related. For example, an upgrade may be deemed to be possible if technology is available to construct a higher performance module. Alternatively, an upgrade may be deemed to be possible if a higher performing module is available at the site of the test system for use in the test system or if a higher performing module could be purchased or if the user is willing to purchase an upgraded module.
0081Regardless of the specific type of upgrades that are available or the specific definition of what upgrades are possible, if an upgrade is possible, processing proceeds to block <b>322</b>. At block <b>322</b>, the module capabilities as specified at block <b>310</b> are updated to reflect the upgraded functional module. Processing at block <b>322</b> may include specifying module capabilities for a newly added functional module or may include substituting module capabilities of a higher performing module for a lower performing module being replaced.
0082Once the performance characteristics are altered to reflect the upgrade, processing loops back to block <b>312</b> where interconnection characteristics are again specified. Processing then again loops through blocks <b>312</b> and <b>314</b> and decision block <b>316</b> and <b>318</b> until interconnection characteristics meeting the required specifications are identified or it is determined that no further reconfigurations of the networked test system are possible. If no reconfigurations are possible, processing will again proceed to decision block <b>320</b> where further upgrades may be identified. If no further upgrades are possible, the process will branch to termination point <b>330</b>.
0083If processing reaches termination point <b>330</b>, no interconnection characteristics can be identified to meet all performance specifications. The specific steps taken in response to reaching termination point <b>330</b> may depend on the intended application of the test system. In some instances, it may be acceptable to modify the desired specifications. In other instances, processing at termination point <b>330</b> may entail designing or otherwise identifying new functional modules. Alternatively, processing at termination point <b>330</b> may involve identifying a different type of network to use in constructing a test system from functional modules.
0084Turning to <figref idref="DRAWINGS">FIG. 4</figref> an alternative embodiment of a networked test system is shown as an example of a test system that may be constructed using a configuration identified by the process of <figref idref="DRAWINGS">FIG. 3</figref>. The embodiment of <figref idref="DRAWINGS">FIG. 4</figref> may result from reconfiguring a test system according to the process of <figref idref="DRAWINGS">FIG. 3</figref>. However, the test system of <figref idref="DRAWINGS">FIG. 4</figref> may be designed in any suitable way. Test system <b>400</b> includes a network <b>410</b> interconnecting multiple functional modules. In the embodiment pictured, test system <b>400</b> includes an RF signal generator <b>220</b>, and functional modules <b>222</b>, <b>224</b>, <b>226</b> and <b>228</b> similar to functional modules in test system <b>200</b>. In addition, test system <b>400</b> includes functional modules such as control module <b>214</b> and memory module <b>216</b>.
0085In the embodiment of <figref idref="DRAWINGS">FIG. 4</figref>, network <b>410</b> has been configured with multiple segments, here illustrated as segments <b>410</b>A and <b>410</b>B. Separate processing units <b>418</b>A and <b>418</b>B are connected to network segments <b>410</b>A and <b>410</b>B, respectively. Functional modules <b>222</b>, <b>224</b> and <b>228</b> are connected to network segment <b>410</b>A. Functional module <b>226</b> and RF signal generator <b>220</b> are connected through module <b>410</b>B.
0086With this configuration, information may pass between functional modules <b>222</b>, <b>224</b> and <b>228</b>, processing module <b>418</b>A and memory <b>216</b> over network segment <b>410</b>A without loading network segment <b>410</b>B. Because the communications on network segment <b>410</b>A do not load network segment <b>410</b>B, data may pass between modules connected to network segment <b>410</b>B, such as functional module <b>226</b>, RF signal generator <b>220</b>, processing module <b>410</b> and control module <b>214</b>, without competing for network bandwidth with those modules interconnected on network segment <b>410</b>A. Accordingly, the total bandwidth available for communications, such as between controller <b>214</b> and RF signal generator <b>220</b>, is greater than if all of the functional modules of test system <b>400</b> were interconnected on the same network. Similarly, total bandwidth available for communications between A/D <b>224</b> and functional module <b>222</b> over network segment <b>410</b>A is greater than if all of the functional modules of test system <b>400</b> were connected through the same network segment.
0087Despite the separate network segments in the configuration of <figref idref="DRAWINGS">FIG. 4</figref>, functional modules connected to one network segment may communicate with functional modules connected to another network segment. In the illustrated embodiment, a bridging device is incorporated in network <b>410</b> to allow data to pass between the network segments. In the example of <figref idref="DRAWINGS">FIG. 4</figref>, router <b>450</b> serves as a bridging device. Consequently, data may pass from a functional module connected on network segment <b>410</b>A and a functional module connected on network segment <b>410</b>B. For example, control module <b>214</b> may send a command to functional module <b>222</b>.
0088<figref idref="DRAWINGS">FIG. 4</figref> also illustrates one possible way in which an upgrade may be provided to a network test system. In test system <b>400</b>, two processing modules, <b>418</b>A and <b>418</b>B are shown. Processing module <b>418</b>A is connected to network segment <b>410</b>A and processing module <b>418</b>B is connected to network segment <b>410</b>B. By upgrading test system <b>400</b> to include two processing modules, the rate at which data is processed may be increased. If a virtual instrument did not meet a specification because data was processed too slowly, adding an additional processing module coupled to other functional modules of that virtual instrument could increase the performance of the virtual instrument.
0089Alternatively, incorporating a second processing module may reduce the amount of data traveling over a network segment to a processing module. Thus, network bandwidth may be made available for transmission to or from other functional modules over that network segment, which may improve the overall system performance.
0090<figref idref="DRAWINGS">FIG. 5</figref> illustrates an embodiment of a functional module that may be used in a network test system such as test system <b>200</b> (<figref idref="DRAWINGS">FIG. 2</figref>) or test system <b>400</b> (<figref idref="DRAWINGS">FIG. 4</figref>). In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the functional module is a digital instrument <b>510</b>. In the illustrated embodiment, digital instrument <b>510</b> has an I/O line that may be connected to a digital test point on a unit under test. A test signal may be driven on the I/O line by driver <b>542</b> or sensed by receiver <b>544</b>.
0091Format circuit <b>540</b> provides an input to driver <b>542</b>, which specifies the signals for driver <b>542</b> to drive on the I/O line. Format circuit <b>540</b> receives an input from timing control circuit <b>546</b>, such that formatter <b>540</b> specifies both values for the signals to drive and the times at which driver <b>542</b> should be active. Format circuit <b>540</b> also controls the recording of information from receiver <b>544</b> and can indicate whether the I/O line contains an expected value at an expected time.
0092Timing is provided by timing controller <b>546</b> that may be controlled through a separate timing interface <b>560</b>. Signals provided by timing controller <b>546</b> may be in any suitable format. For example, timing controller <b>546</b> may output multiple signals that each trigger an event. These signals may be asserted periodically in a cyclical pattern to define cycles of operation of functional module <b>510</b>.
0093The operation of format circuit <b>540</b> in each cycle of operation of digital instrument <b>510</b> may be specified by inputs to digital instrument <b>510</b> received over network interface <b>530</b>. When digital instrument <b>510</b> is used in a networked test system, such as test system <b>200</b> or test system <b>400</b>, the inputs received through network interface <b>530</b> may be generated by any other functional module.
0094Received inputs may be stored in FIFO <b>520</b>. Format circuit <b>540</b> may read one value from FIFO <b>520</b> for each cycle of operation. FIFO <b>520</b> may compensate for variability in transmission of data over a network to which digital instrument <b>510</b> is connected. During some intervals, digital instrument <b>510</b> may receive data at a rate faster than format circuit <b>540</b> uses it. In those intervals, the data is buffered in FIFO <b>520</b> until format circuit <b>540</b> uses it. In other intervals, digital instrument <b>510</b> may receive data at a slower rate than format circuit <b>540</b> uses it. In those intervals, format circuit <b>540</b> may nonetheless have data for each cycle because data values can be read from FIFO <b>520</b>.
0095Similarly, FIFO <b>522</b> may serve as a buffer for outputs generated by format circuit <b>540</b>. As format circuit <b>540</b> generates outputs, they are stored in FIFO <b>522</b>. If network bandwidth is available for transmission of those outputs, the outputs will be transmitted from FIFO <b>522</b> through network interface <b>530</b>. However, during intervals in which network bandwidth is not available, outgoing data generated by format circuit <b>540</b> will be buffered in FIFO <b>522</b> until the data can be transmitted over the network.
0096<figref idref="DRAWINGS">FIG. 5</figref> illustrates how bandwidth and latency requirements impact the performance of a functional module. Format circuit <b>540</b> reads data from FIFO <b>520</b> at a rate that allows a value to be driven or received on the I/O line at periodic intervals. Similarly, format circuit <b>540</b> may provide a value to FIFO <b>522</b> at a rate consistent with the rate at which values on the I/O line are sampled. The combined rate at which format circuit reads data from FIFO <b>520</b> and writes data to FIFO <b>522</b> may be taken as an indication of the bandwidth required by digital instrument <b>510</b>.
0097The length of FIFOs <b>520</b> and <b>522</b> provide an indication of the latency that digital instrument <b>510</b> can tolerate. If propagation delays over a network to which digital instrument <b>510</b> is connected prevent data from being added to FIFO <b>520</b> during an interval that is sufficiently long that FIFO <b>520</b> will run out of data, format circuit <b>540</b> will lack data to operate in a cycle. The amount of time that digital instrument <b>510</b> can operate without new data being added to FIFO <b>520</b> is one indication that the maximum latency that digital instrument <b>510</b> can tolerate. Similarly, if delays in network transmission preclude data from being read from FIFO <b>522</b> for an extended period of time, format circuit <b>540</b> will generate more data than FIFO <b>522</b> can store. If this condition occurs, some data generated by format circuit <b>540</b> will be lost. Accordingly, the length of time that digital instrument <b>510</b> can operate without data being removed from FIFO <b>522</b> provides another indication of the amount of latency that digital instrument <b>510</b> can tolerate.
0098Making FIFOs <b>520</b> and <b>522</b> larger is one way to increase the tolerable latency for digital instrument <b>510</b>. Increasing FIFO length is one example of a method to construct higher performing instruments for an upgrade of a functional module. However, any suitable method for increasing the performance of a functional module may be used to provide an upgrade.
0099Having thus described several aspects of at least one embodiment of this invention, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
0100Such alterations, modifications, and improvements are intended to be part of this disclosure, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description and drawings are by way of example only.
0101The above-described embodiments of the present invention can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
0102Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer.
0103Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface including keyboards, and pointing devices, such as mice, touch pads, and digitizing tables. As another example, a computer may receive input information through speech recognition or in other audible format.
0104Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or a wide area network, such as an enterprise network or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
0105Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors that employ any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and/or conventional programming or scripting tools, and also may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine.
0106In this respect, the invention may be embodied as a computer readable medium (or multiple computer readable media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, etc.) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement the various embodiments of the invention discussed above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various aspects of the present invention as discussed above.
0107The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects of the present invention as discussed above. Additionally, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that when executed perform methods of the present invention need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present invention.
0108Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
0109Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and is therefore not limited in its application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
0110Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
0111Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” or “having,” “containing,” “involving,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.
Contents4
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9746559B2 | Cited by | United States of America | Applicant |
| CN103759760A | Cited by | China | Search report |
| US10203413B2 | Cited by | United States of America | Applicant |
| US9739886B2 | Cited by | United States of America | Applicant |
| US2019098656A1 | Cited by | United States of America | Search report |
| US9286197B2 | Cited by | United States of America | Applicant |
| US10073765B2 | Cited by | United States of America | Applicant |
| US11153898B2 | Cited by | United States of America | Search report |
| WO2009145769A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9607239B2 | Cited by | United States of America | Applicant |
| CN103209040A | Cited by | China | Search report |
| US8296342B2 | Cited by | United States of America | Applicant |
| US10739458B2 | Cited by | United States of America | Applicant |
| US10175037B2 | Cited by | United States of America | Applicant |
| US10281259B2 | Cited by | United States of America | Applicant |
| US2011029956A1 | Cited by | United States of America | Pre-grant |
| US8745337B2 | Cited by | United States of America | Applicant |
| US2013047001A1 | Cited by | United States of America | Pre-grant |
| CN102759668A | Cited by | China | Search report |
| US2009172310A1 | Cited by | United States of America | Pre-grant |
| US11035955B2 | Cited by | United States of America | Applicant |
| CN116773972A | Cited by | China | Search report |
| US9628775B2 | Cited by | United States of America | Applicant |
| US8549476B2 | Cited by | United States of America | Applicant |
| US10060722B2 | Cited by | United States of America | Applicant |
| US10067231B2 | Cited by | United States of America | Applicant |
| US11112501B2 | Cited by | United States of America | Applicant |
| US10523316B2 | Cited by | United States of America | Applicant |
| WO2018203999A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2011055166A1 | Cited by | United States of America | Pre-grant |
| US9618620B2 | Cited by | United States of America | Applicant |
| US11815600B2 | Cited by | United States of America | Applicant |
| US9684078B2 | Cited by | United States of America | Applicant |
| US2005102580A1 | Cites | United States of America | Pre-grant |
| US2005163272A1 | Cites | United States of America | Pre-grant |
| US2005193298A1 | Cites | United States of America | Pre-grant |
| US2008010568A1 | Cites | United States of America | Pre-grant |
| US5638383A | Cites | United States of America | Pre-grant |
| US5991537A | Cites | United States of America | Pre-grant |
| US6028439A | Cites | United States of America | Pre-grant |
| US6058260A | Cites | United States of America | Pre-grant |
| US6107818A | Cites | United States of America | Pre-grant |
| US6591385B1 | Cites | United States of America | Pre-grant |
| US6779140B2 | Cites | United States of America | Pre-grant |
10 members in 5 offices
Members10
| Document | Office | Kind | |
|---|---|---|---|
| WO2008042113A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2008098272A1 | United States of America | A1 | |
| WO2008042113A3 | World Intellectual Property Organization (WIPO) | A3 | |
| KR20090069169A | Republic of Korea | A | |
| CN101523232A | China | A | |
| JP2010505115A | Japan | A | |
| US7908531B2 | United States of America | B2 | |
| CN101523232B | China | B | |
| KR101414079B1 | Republic of Korea | B1 | |
| JP5688220B2 | Japan | B2 |
58 transactions on the USPTO file
Allowed after 3 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 3
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Mail Examiner Interview Summary (PTOL - 413)MEXIN | MEXIN | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
18 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20080098272
- Application
- 11540812
Titles
- English
- Networked test system
Patent term adjustment
- A delay
- +420 daysthe office missed an examination deadline
- B delay
- +358 dayspendency past three years
- Applicant delay
- −16 days
- Net adjustment
- 762 days
Classification
- CPC, 4
- G01R31/31907
- G01R31/3183
- G06F11/2294
- G01R31/319
- IPC, 2
- G01R31 28
- G06F11 00