Abstract:
A method of connecting one or more testing devices to ports of a DUT through a switching network, to execute a testing procedure includes generating a switching network map defining connections within the switching network to implement electrical paths through the switching network. Each of the electrical paths is representative of a connection of one of the testing devices to one of the I/O ports of the DUT. The method further includes receiving commands that uniquely specify an electrical path connecting a particular testing device to a particular I/O port of the DUT. The method compares each command to the switching network map to identify a corresponding electrical path through the switching network, and implements that path associated the command through the network. The method further includes sequentially implementing the electrical paths corresponding to the one or more commands in a predetermined order.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     Not Applicable 
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH 
     Not Applicable 
     REFERENCE TO MICROFICHE APPENDIX 
     Not Applicable 
     BACKGROUND OF THE INVENTION 
     The present invention relates to generating signal paths through a switching network, and more particularly, to generating signal paths from a variety of test sources, through a switching network, to a Device Under Test (DUT), as a function of commands that are written in a language associated with, and descriptive of, the DUT. Such testing is also referred to herein as “device oriented testing.” 
     FIG. 1 shows an exemplary prior art testing system  10  for testing an electrical device  12  (also referred to herein as DUT). Such systems allow automatic testing of electrical devices in an efficient, repeatable manner, with little or no input from the person running the test. Such a testing system  10  has great utility for an electrical device manufacturer who produces a large number of devices each day that must be tested for functionality prior to being shipped. In general, such testing systems  10  include a plurality of testing devices  14  (also referred to herein as testing resources) that generate test signals to be applied to the DUT  12 , and/or receive response signals from the DUT  12 . The testing devices  14  that produce test signals also typically measure the signals as they are generated and record test signal measurements, and the testing devices  14  that receive the response signals measure the response signals and record the response measurements. The testing devices  14  are electrically coupled to a switching network  16 , which is electrically coupled to the DUT  12 . A controller  18  is electrically coupled to the switching network, and provides control signals to the switches (also referred to herein as relays) to selectively connect testing devices  14  to individual input/output (I/O) ports of the DUT  12 . The switching network thus allows each I/O port of the DUT to be tested by multiple testing devices  14 . 
     In typical prior art systems, the controller  18  is a computer system, and a test technician (also referred to herein as “the user”) fashions test procedures for the DUT in code written on the computer. For example, the test technician may determine that one portion of the test procedure for a particular DUT  12  should be to connect a first testing device to each of the I/O ports of the DUT  12 . For the first I/O port of the DUT  12 , the technician must determine which relays of the switching network  16  must be closed to create a path from the testing device to the first I/O port. The technician then executes code on the computer that causes the computer to send control signals to the switching network  16 , closing the relays that create a path from the testing device to the first I/O port. Once the first testing device completes the test of the first I/O port, the technician executes code that eliminates the path created by the previous step, and then executes further code to create a path from the first testing device to the second I/O port. This procedure repeats until all I/O ports of the DUT  12  have been connected to and tested by the first testing device. 
     One disadvantage to this procedure for testing a DUT is that it places a significant burden on the testing technician, especially when the DUT  12  has a large number of I/O ports, and when the switching network is complex and includes a large number of relays. For each path from a testing device to a DUT I/O port, the technician must determine which relays must be closed to implement the path, then write and execute code that closes those relays. Further, any changes in the testing procedure involves keeping track of which relays are already closed, which of those must be opened, and which open relays must be closed, in order to create the new path. 
     Another disadvantage to this procedure is that it adds a significant probability of incurring errors during testing. Because the test technician must resolve each path manually, occasionally the wrong path will be created due to an inevitable programming error, and the procedure will consequently not test that which was intended. 
     It is an object of the present invention to substantially overcome the above-identified disadvantages and drawbacks of the prior art. 
     SUMMARY OF THE INVENTION 
     The foregoing and other objects are achieved by the invention which in one aspect comprises a method of sequentially connecting one or more testing devices to I/O ports of a DUT through a switching network, so as to execute a predetermined testing procedure associated with the DUT. The method includes generating a switching network map defining one or more connections within the switching network necessary to implement each of a plurality of electrical paths from an input of the switching network to an output of the switching network, wherein each of the plurality of electrical paths is representative of a connection of one of the testing devices to one of the I/O ports of the DUT. The method further includes receiving one or more commands, wherein each of the commands uniquely specifies an electrical path connecting a particular testing device to a particular I/O port of the DUT. For each of the one or more commands, the method compares the command to the switching network map so as to identify a corresponding electrical path through the switching network, and implements the corresponding electrical path associated the command through the switching network. The method further includes sequentially implementing the electrical paths corresponding to the one or more commands in a predetermined order. 
     Another embodiment of the invention further includes assigning a unique path name to each of the electrical paths, such that each commands specifies a particular electrical path via the path name. 
     Another embodiment of the invention further includes sequentially implementing the electrical paths associated with the one or more commands through the switching network in an order corresponding to a chronological order of the one or more commands. 
     Another embodiment of the invention further includes opening and closing selected switching devices within the switching network. 
     Another embodiment of the invention further includes programming a computer system to issue the commands in the predetermined order. 
     Another embodiment of the invention further includes connecting one or more testing devices to multiple DUT sites via the switching network. 
     Another embodiment of the invention further includes associating each of the electrical paths with a name that is (i) descriptive of the path and (ii) related to DUT. 
     Another embodiment of the invention further includes 
     In another aspect, the invention comprises a system for sequentially connecting one or more testing devices to I/O ports of a DUT through a switching network, so as to execute a predetermined testing procedure associated with the DUT. The system includes a switching network map defining one or more connections within the switching network necessary to implement each of a plurality of electrical paths from an input of the switching network to an output of the switching network, wherein each of the plurality of electrical paths is representative of a connection of one of the testing devices to one of the I/O ports of the DUT; 
     a controller for (i) receiving one or more commands, wherein each of the commands uniquely specifies an electrical path connecting a particular testing device to a particular I/O port of the DUT, (ii) comparing each of the commands to the switching network map so as to identify a corresponding electrical path through the switching network, and implementing the corresponding electrical path associated the command through the switching network, and (iii) sequentially implementing the electrical paths corresponding to the one or more commands in a predetermined order. 
     In another embodiment of the invention, the switching network includes at least two sub-networks electrically coupled so as to form the plurality of electrical paths. 
     In another embodiment of the invention, the sub-networks include an SCM and a DUT board. 
     In another embodiment of the invention, each of said one or more commands includes a pin name that is (i) descriptive of the path and (ii) related to DUT. 
    
    
     BRIEF DESCRIPTION OF DRAWINGS 
     The foregoing and other objects of this invention, the various features thereof, as well as the invention itself, may be more fully understood from the following description, when read together with the accompanying drawings in which: 
     FIG. 1 shows an exemplary prior art testing system for testing an electrical device; 
     FIG. 2 shows a block diagram view of one preferred embodiment of a device oriented testing system according to the present invention; 
     FIG. 3 shows another example of the device oriented testing system shown in FIG. 2; 
     FIG. 4 shows an exemplary SCM map corresponding to the SCM of FIG. 3; 
     FIG. 5 shows an exemplary DUT board map corresponding to the DUT board of FIG. 3; and, 
     FIG. 6 includes a table that shows several exemplary connections to the DUT via the present system. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     FIG. 2 shows a block diagram view of one preferred embodiment of a device oriented testing system  100 , including an array of testing resources  102 , a System Configuration Module  104  (referred to herein as “SCM”), a DUT board  106  and a DUT  108 . The testing resources  102  include waveform sources  110  that generate and measure time dependent voltage and current waveforms, referred to herein as “SMS” sources. An individual SMS source may be referred to herein as SMSN, where N is an integer (e.g., SMS 1 , SMS 5 , etc.). The testing resources  102  further include analog pin sources  112  (referred to herein as “APN,” where N is an integer, e.g., AP 2 , AP 7 , etc.) that provide generic forcing and measuring of voltage and current signals. The testing resources  102  also include radio frequency sources  114  (referred to herein as “RFN,” where N is an integer) that provide RF forcing and measuring of RF signals. The testing resources  102  may also include digital pin sources  116  (referred to herein as “DPN,” or simply “N”, where N is an integer) that provide discrete, digital signals, although such digital signals are preferably provided at the input of the DUT board  106 , as shown in FIG.  2 . 
     The SCM  104  includes input ports  118 , output ports  120 , and connections from the input ports  112  to the output ports  114 . In input ports  118  are electrically coupled to the testing resources  102 , and the output ports  120  are electrically coupled to the DUT board  106 . The connections are electrical paths through the SCM  104 , and may include direct wires, printed circuit traces, cables, transmission lines, and other means known to those in the art for implementing electrical paths. The connections may also include passive components (e.g., resistors), and active components (e.g., operational amplifiers). In alternate embodiments, the connections may implement the electrical paths indirectly, for example via fiber optics or acoustics, as long as the underlying signal is transmitted. The connections may be hardwired or switched. A switched connection depends upon the state of one or more relays (or other switching devices known to those in the art) in the path. A switched connection becomes active when all the switching devices are closed (i.e., electrically conductive). A switched connection becomes inactive when one or more of the switching devices in the path is opened (i.e., not electrically conductive). A connection that spans from an input port  112  to an output port  114  is referred to as a “complete path.” A connection that spans only a portion of the SCM  104  is referred to as a “partial path.” The concept of a partial path is useful in that two or more partial paths may be electrically coupled to form a complete path. An internal point at the beginning or the end of a partial or complete path is referred to herein as a “node.” Nodes may represent fan-in and fan-out points of signals within a connection. The connections in the SCM  104  are preferably named. In the simplest case, the connection shares the name of one of the I/O ports of the DUT  108 . In other cases, the connection name includes a string of partial path names within the SCM  104 . For example, if a complete connection includes three partial paths A, B and C, the name of the complete path may be A.B.C. 
     The DUT board  106  is similar to the SCM  104  in that it includes input ports  122 , output ports  124 , and connections from the input ports  122  to the output ports  124 . The characteristics of the DUT board connections are similar to the characteristic of the SCM connections described herein. On significant difference is that the DUT board  106  defines input resources across multiple DUT sites at the output. For example, in a case where the system  100  is testing a pair of DUTs, each DUT is referred to as a “site.” For each I/O port (also referred to herein as “I/O pin”) of the DUT  108 , the DUT board  106  provides substantially identical signals to each of the sites, either by duplicating resources, or by sharing a resource via relay or other switching means known to those in the art. The input ports  122  of the DUT board  106  are electrically coupled to the output ports  120  of the SCM  104 . The output ports  124  of the DUT board  106  are electrically coupled to the I/O pins of the DUT  108 . 
     The testing system  100  further includes a controller  126  for controlling the connections through the SCM  104  and the DUT board  106 . The controller  126  controls these connections by manipulating the individual switching devices within the connections, as described herein. The controller  126  preferably includes a computer or workstation, although other means for controlling switching devices know in the art may also be used. For example, the switching devices could be controlled via a simple state machine built into an ASIC device, or via a micro-controller, or even via a simple bank of switches. The controller  126  preferably includes a unique relay table associated with the SCM  104 , and another unique relay table associated with the DUT board  106 . Each of these relay tables defines the names of the switching devices within the associated switching network (i.e., either the SCM  104  or the DUT board  106 ), and defines what electrical signals are required to open and close each switching device. 
     FIG. 3 shows another example of the device oriented testing system  100  shown in FIG.  2 . In the example shown in FIG. 3, named connections through the SCM  104  and the DUT board  106  are explicitly shown. FIG. 3 also shows the DUT board  106  providing output signals to dual sites. Each I/O port of a DUT  108  is labeled DN, where N is an integer. For each I/O port of the DUT  108  (e.g., D 0 ), two sites are shown, labeled Site  1  and Site  2 . FIG. 3 further shows an intermediate set of signal ports  130  between the SCM  104  and the DUT board  106 . In a preferred embodiment of the invention, these intermediate signal ports  130  are in the form of “pogo pins” that provide the electrical interface between the SCM  104  and the DUT board  106 . 
     The controller  126  also preferably includes an SCM map  140  that defines the connections on the SCM  104  and the pogo pins that are available to the DUT board  106 . In general, the SCM map  140  is a switching network map that defines one or more connections through the SCM. An exemplary SCM map  140 , associated with the SCM  104  of FIG. 3, is shown in FIG.  4 . The “To” column defines the name of the pogo pin available to the DUT board  106 . The “Conn Name” column defines the name given to the specific connection from the pogo pin back to the tester resource. This name can be left out if there is only one connection (as is the case for the RF pins in this example). Note that the connection names are not unique across different pogo pins. This allows them to be easily used in multi-site applications. Internally, the “To” name is used to make each connection name unique. The “From” column defines the tester resource  102  that is used for a particular connection. In some embodiments, a popup menu of possible tester resources could be available to a user to specify the resources in this column. The “Connect” column defines the activities that need to occur in order for the specified connection to be made. In the exemplary system of FIG. 3, all of the connections are made by throwing a single relay, e.g., the AP connection of S_SMS 1  is established by closing the K 3  relay. The “Disconnect” column defines the activities that need to occur in order for the specified connection to be disconnected, and has the same format as does the “Connect” column. The “Def” column is a checkbox that indicates which of the SCM connections are exported to the DUT board by default. Connections which are not checked must be explicitly specified by the user in order to be available. 
     The controller  126  also preferably includes an DUT board map  150  that defines the connections on the DUT board  106  and the outputs that are available to the DUT sites. Similar to the SCM  104  in FIG. 4, an exemplary DUT board map  150 , associated with the DUT board  106  of FIG. 3, is shown in FIG.  5 . The “To” column contains the name of the target I/O pin of the DUT  108 . The “PPID”, “X”, “Y”, “Shape”, and “Type” columns contain attribute information relating to the I/O pins. The “Conn Name” column defines the name given to the specific connection from the device pin back to the SCM. This name may be omitted if there is only one connection, as is the case for I/O pins D 3  and D 4  in this example. As in the SCM map  140 , the connection names for the DUT board map  150  need only be unique within a particular DUT pin (e.g., each connection name for D 0  must be different, but D 0  and D 1  can, and should, use the same connection names for the same connections). The “Res/Site” column defines how the resources are shared between sites. One preferred embodiment includes three possible choices: 1. per site indicates that the resource is duplicated for each site; 2. relayed indicates that the resources is connected to each site in turn via relays; and 3. split indicates that the resource is fanned out to each site. The system  100  utilizes this “Res/Site” information to ascertain how to most efficiently implement the test. The “site” column indicates which site is being defined. The “Connect” column defines the activities that need to occur in order for the specified connection to be made. In this example, as with the SCM  104 , all of the connections are made by throwing a single relay. Both the relays required to make the connection, any relays required to disconnect other resources should be specified here. The “Disconnect” column defines the activities that need to occur in order for the specified connection to be disconnected. It has the same format as does the “Connect” column. The “From” column defines the SCM output to which a particular I/O pin is connected. In some embodiments, a popup menu of possible SCM outputs could be available to a user to specify the resources in this column. Note that the digital resources are provided automatically. The “Paths” column is used to define the paths that are made available to the DUT I/O pin. The column defaults to the paths marked in the “Def” column from the SCM map  140 , but can be edited to different values in some embodiments. Note that the “DP” in the Paths column refer to the connection that goes directly to the tester channel, not through any matrix, and the “DP” in the Connection Name column is just the name of the connection which can go direct to the tester channel via the “DP” or go through the DP Matrix using the Central Parametric Measurement Unit (“CPMU”). The CPMU is a central instrument that can measure voltages and currents more accurately than the Per Pin Measurement Units (“PPMU”) on the individual pin cards. 
     Using the information in the SCM map  140  and the DUT board map  150 , the system  100  can refer to connections through the SCM  104  and the DUT board  106  by names that are logically associated with, and descriptive of, the DUT  108 . For example, the table in FIG. 6 shows several exemplary connections to the DUT  108 . The first three rows of the table in FIG. 6 represent three equivalent ways to specify the connection of a digital pin source to a DUT I/O port. As the comment for the first row explains, when less than the fully qualified name is specified, the system  100  uses predetermined defaults to establish a complete path from the digital pin source to the DUT I/O port. Equivalently, as shown in the third row, the fully qualified name may be used to define the same connection. Thus, a user may specify a connection from a digital pin source to a DUT pin by simply designating the DUT pin name. The system  100  uses the SCM map  140  and the DUT map  150  to determine, based upon the designated DUT pin name, which switching devices should be opened and which switching devices should be closed to effect the associated connection. Another example is shown in row  5  of the table in FIG. 6, in which a connection from the test source SMS 1 , through a 10 Mhz filter on the SCM  104 , and through an X 1  path on the DUT board  106  to site  1  of D 0 , is specified with the pin name D 0 .F — 10 Mhz. Since the exemplary architecture shown in FIG. 3 services a dual site DUT, specifying D 0 .F — 10 Mhz also establishes a connection from the test source SMS 3 , through a 10 Mhz filter on the SCM  104 , and through an X 1  path on the DUT board  106  to site  2  of D 0 . The utility of the system  100  is that the person developing the test procedure for the DUT  108  (hereinafter referred to as “the user”) does not have to be cognizant of which relays must be exercised in the SCM  104  and the DUT board  106  to effect a particular connection. In comparable prior art systems, in order to establish a connection, the user would have to determine which relays were in the path of the connection, and write code that when executed, would exercise those switching devices and establish the connection. By contrast, the user of the present invention merely specifies a pin name that is descriptive of the desired connection, and the system  100  automatically exercises the switching devices necessary to effect the connection. 
     Another useful aspect of the present invention is the nature of the output of the SCM  104 . In particular, because the SCM  104  can network multiple testing resources  102  to a particular SCM output, each SCM output may be viewed as hybrid testing resource. For example, consider the SCM output S_SMS 1  in FIG.  3 . This single SCM output can provide a  10  MHz filtered version of SMS 1 , a 100 MHz filtered version of SMS 1 , and a direct connection to analog pin AP 1 . Again, the user does not need to be cognizant of how the SCM  104  connects the desired source to the SCM output, but rather only needs to specify a descriptive output name to effect the desired connection through the SCM  104 . 
     The controller  126  further provides a user interface to allow a user to designate a series connections, from test resources  102  to the DUT  108 , to be established by specifying pin names associated with those connections. The user also preferably specifies a connection sequence along with the connection names. The connection sequence defines the order in which the controller should establish the specified connections, and whether prior connections should be disconnected before any particular connection is established. In one preferred embodiment, the user provides the pin names that designate connections, along with the connection sequence, by submitting instructions or commands to the controller  126  that uniquely specify connections from the test resources to the DUT.  108 . 
     The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are therefore to be considered in respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of the equivalency of the claims are therefore intended to be embraced therein.