US20020045997A1 - Method and apparatus for adaptively learning test measurement delays on an individual device test for reducing total device test time - Google Patents
Method and apparatus for adaptively learning test measurement delays on an individual device test for reducing total device test time Download PDFInfo
- Publication number
- US20020045997A1 US20020045997A1 US09/259,866 US25986699A US2002045997A1 US 20020045997 A1 US20020045997 A1 US 20020045997A1 US 25986699 A US25986699 A US 25986699A US 2002045997 A1 US2002045997 A1 US 2002045997A1
- Authority
- US
- United States
- Prior art keywords
- test
- delay time
- time
- initial
- accordance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/30—Marginal testing, e.g. by varying supply voltage
- G01R31/3016—Delay or race condition test, e.g. race hazard test
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/319—Tester hardware, i.e. output processing circuits
- G01R31/3193—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
- G01R31/31937—Timing aspects, e.g. measuring propagation delay
Definitions
- the present invention pertains generally to automated testing techniques, and, more particularly, to a method for adaptively learning test measurement delays on an individual device test for the purpose of reducing the total device test time.
- Automated equipment is used to perform a wide variety of tasks that might otherwise be performed manually at a slower rate and/or greater cost. Automation of a task typically incurs the overhead of a systematic delay before each performance of the actual task due to systematic delays in the automated equipment as it seeks a ready state.
- automated test equipment is used for setting up and performing tests on each circuit board of a run of circuit boards. A run is a testing sequence of the same type of assembly with no intervening different types of assemblies.
- a typical automated circuit tester includes a measurement circuit, a bed-of-nails fixture, and a set of programmable relay matrices and internal measurement busses.
- the circuit under test When testing a circuit under test, the circuit under test is seated on the fixture, which probes nodes of the component under test. Before measurements may be safely obtained without risk of any errors in the measurements due to the tester itself, the automated circuit tester must achieve a ready state in which all desired measurement paths and associated components are fully operational and in the correct position or configuration. Typically, automated testers include multiple components that must be configured and/or waited upon before the tester can be guaranteed to be in a ready state to perform the actual task at hand. Often there exists no method of determining whether a given tester component is in a ready state. For example, in a tester that comprises a programmable relay matrix, there is an inherent delay caused by the programming of the matrix followed by a delay caused by the actuation of each of the relays.
- a typical tester will wait the maximum rated delay time for the relay as specified by the relay manufacturer. If the relay open/close actuation wait times are anything less than the specified maximum relay open/close actuation times, incorrect measurements could occur due to incomplete connections (i.e., relays not yet being closed when the measurements are made). Because the actual actuation time of the slowest operating relay component in the tester may in fact be far less than the maximum specified actuation time, the test time overhead due to the systematic delay of the tester is greater than it need be, thereby yielding less production efficiency than achievable. In the testing of a long run of boards, the systematic delay overhead can add up to a significant amount of lost time.
- the test system is being set up in parallel with the relay open/close times, as coding techniques, software compilers, and native controllers improve in speed, the dominant time spent in making a simple component under test 108 measurement will be waiting for the interconnect relays to physically open/close. As a result, the measurement test time is governed by the physical connection of the circuit under test to the measurement instruments.
- the present invention improves over prior art circuit automated testing techniques in several ways.
- the invention can be used to adapt to systematic delays in setting up the test configuration circuit, including delays in tester components lying in the measurement paths such as relay actuation times, achieving a steady state after turning on a DC power source, and any other type of delay that occurs between the initiation of the test configuration circuit setup until the test configuration circuit is in a ready state to allow measurements of a component under test to be taken.
- the measurement delay times associated with executing a test on an automated tester are adaptively learned by setting a current delay time to an initial delay value, waiting the current delay time, and executing the test in which measurements are obtained by the automated tester. A determination is made based on the measurements as to whether the test passed or failed. If the test fails, because it may be due to a “false failure” condition due to the current delay time not having been long enough for the automated tester to have achieved a ready state, the current delay time is then reset to a different delay time, and the test is reexecuted after waiting the different delay time.
- the different delay time is set to the maximum specified delay time as specified by the component manufacturer for the slowest component that lies in the measurement paths in order to ensure that if the test fails after a retry, that the failure is not due to incomplete measurement path connections or the tester not having yet achieved a ready state when the measurements are taken.
- FIG. 1 is a block diagram of an automated in-circuit test setup
- FIG. 2( a ) is a prior art two-wire test configuration circuit
- FIG. 2( b ) is a prior art six-wire test configuration circuit
- FIG. 3 is a flowchart of a method in accordance with the invention.
- FIG. 4 is a flowchart of one embodiment of an adaptive delay learning algorithm in accordance with the invention.
- FIG. 5 is a flowchart of one embodiment of a delay time determination method
- FIG. 6 is a flowchart of an alternative method for determining the initial delay time.
- the present invention describes an adaptive learning algorithm that reduces the amount of delay before making test measurements in an automated test that requires a delay of any type (e.g., a device connection delay, a settling time delay, a measurement delay, etc.) to be completed before a measurement is made in order to remove the possibility that a tester component lying in the measurement path has not achieved a ready state.
- a delay of any type e.g., a device connection delay, a settling time delay, a measurement delay, etc.
- any automated measurement test e.g., in-circuit test, functional test, etc.
- a delay e.g., device connection delay, settling time delay, measurement delay, etc.
- a tester component e.g., a reed relay, a mercury wetted relay, a solid-state switch, a mechanical switch, any device that requires a wait for a mechanical action to be performed, etc.
- a tester component e.g., a reed relay, a mercury wetted relay, a solid-state switch, a mechanical switch, any device that requires a wait for a mechanical action to be performed, etc.
- An example of an automated test is the performance of an in-circuit test.
- In-circuit testing which verifies the proper electrical connections of the components on the printed circuit (PC) board, is typically performed using a bed-of-nails fixture or robotic flying-prober.
- a robotic flying-prober is set of probes that may be programmed to move which replaces the bed-of-nails for measuring a particular component under test.
- the bed-of-nails fixture/robotic flying-prober probes the nodes on the circuit under test printed on a printed circuit (PC) board that are associated with a particular component of the circuit that is currently under test, applies a set of stimuli, and takes measurements of the responses.
- the measurement responses are used to calculate a value for the component under test.
- the calculated value is compared to predetermined specified test limits to determine whether the test passed or failed.
- FIG. 1 is a schematic block diagram of an automated test system 2 .
- test system 2 includes a controller 4 , test configuration circuit 6 , fixture 8 , and measurement circuit 10 .
- a PC board containing the circuit under test 50 is shown mounted on fixture 8 .
- Fixture 8 known in the art as a bed-of-nails fixture, is customized for each PC board layout and includes a plurality of probes 12 that electrically connect to nodes of the circuit under test 50 when the circuit under test 50 is properly seated on the fixture 8 .
- Probes 12 are coupled, via wires (not shown) within the fixture 8 , to interface pins 14 .
- Test configuration circuit 6 includes a matrix 16 of relays 18 which is programmable via controller 4 over control bus 22 to open and/or close each relay 18 in the matrix 16 to achieve any desired connection between the interface pins 14 and a set of internal measurement busses 20 .
- Internal measurement busses 20 are electrically connected to nodes of measurement circuit 10 The particular nodes of measurement circuit 10 which are connected to the set of measurement buses 20 may be hardwired within the measurement circuit 10 , or alternatively, may be configurable via another programmable matrix (not shown) of relays.
- Controller 4 receives test setup instructions from test process 24 to program the matrix 16 (and other relay matrices, if they exist) to achieve a set of desired connection paths between the circuit under test 50 and measurement circuit 10 .
- Adaptive delay learning process 26 attempts to reduce the amount of delay between initiation of the test configuration setup and when the test configuration circuit is in a ready state.
- FIG. 2( a ) is one instance 100 of a prior art measurement circuit 10 .
- Measurement circuit 100 is known as a “two-wire” measurement circuit.
- Measurement circuit 100 includes operational amplifier (op-amp) 102 having a positive terminal 116 coupled to ground and a negative input terminal 118 coupled to an input node I 110 .
- a reference resistor R ref 112 is coupled between output node V O 114 and input node I 110 of op-amp 102 .
- a component under test 108 having an unknown impedance Z x is coupled between input node I 110 and a source input node S 106 upon which a known reference voltage V s is delivered by a voltage stimulus source 104 .
- measurement circuit 100 assumes that the current through the unknown impedance Z x of the component under test 108 is equal to the current through reference resistor R ref 112 and that op-amp 102 maintains a virtual ground at negative input terminal 118 .
- theoretical impedance calculation is:
- a precision DC voltage stimulus source 104 and a DC detector at output node V O 114 is employed to determine the resistive component of the output voltage when testing resistive analog components such as resistors.
- the use of a precision AC voltage stimulus source 104 and a phase synchronous detector at output node V O 114 is employed to determine the reactive components of the output voltage when testing reactive analog components such as capacitors and inductors.
- a temperature dependent output voltage i.e., a thermal offset
- source voltage errors i.e., a source voltage error
- guarding errors i.e., a guarding error
- current measurement errors i.e., current measurement errors.
- Compensation techniques such as guarding and multi-wire measurements, which consist of active or passive sensing and or enhancement measurements, are used to compensate for the effects of these three types of error sources.
- Measurements are typically taken at the output node V 0 114 of the measurement circuit 100 . Additional measurements are often taken to reduce guard errors and compensate for lead impedances. For example, in a 6-wire measurement test configuration circuit shown in FIG. 2( b ), connections are made to connect the source node S 106 , input node I 110 , source sense node A 107 , input sense node B 111 , lead sense node L 128 to the circuit under test 50 so that measurements can be made on those buses in order to compensate for the above-mentioned error sources.
- the paths from the component under test 108 to the measurement circuit 10 is set up by programming the relay matrix 16 to configure the relays 18 to electrically connect the bed-of-nails fixture 8 probes 12 that are electrically connected to the nodes on the circuit under test 50 to the measurement circuit 10 via the internal measurement busses 20 .
- the internal measurement busses include an S bus and an I bus which are respectively electrically connected to the S node 106 and I node 110 .
- the internal measurement busses include the S bus and I bus, and additional busses A bus, B bus, L bus, and G bus.
- Connections of the internal measurement busses 20 from the circuit under test 50 to the measurement circuit 10 is performed at the beginning of the test for the component under test 108 , during the test setup. After the connections have been made, the actual test measurements of the component under test 108 may be obtained by the measurement circuit 10 after waiting for the inherent delays of the connections to be completed. At the conclusion of the test, the relay connections are all initialized to a known state in preparation for the start of the next test.
- FIG. 3 is an operational flowchart of the adaptive delay learning process 26 of the invention.
- a current delay value is set 302 to an initial delay value.
- the initial delay value may be a value set by a test engineer based on experience or empirical test data, or may be arrived at via a search and/or optimization algorithm, discussed in more detail hereinafter.
- test setup is initiated 304 .
- this step includes the programming of the test configuration circuit 6 in order to program the relay matrix 16 to open and/or close the relays 18 to set up the measurement paths from the circuit under test 50 to the measurement circuit 10 . Execution of the test is then delayed 306 by the current delay time.
- the test is then executed 308 , wherein measurements of the circuit under test 50 are taken. A determination is made 310 , based on the measurements, as to whether the test passed or failed. If the test passed, the test is complete, and a new circuit under test 50 may be tested. If the test failed, the current delay time is set 312 to a different delay time, preferably an increment longer than the previous current delay time. In the illustrative embodiment, the different delay time is the maximum manufacturer specified delay time of the slowest component that lies in any measurement path in the system. The execution of the test is delayed 316 by the updated current delay time. Once the current delay time has elapsed, the test is reexecuted 318 , and a determination is made 320 as to whether the test passed or failed.
- test can end at this point, using the results of the reexecuted test as the final test results. This would be especially appropriate if the updated current delay time had been updated to the maximum manufacturer specified delay time of the slowest component that lies in any measurement path in the system since that would ensure that a failing test result could not be due to any systematic delay of the automated tester.
- an optional step is to update the initial delay value by setting 322 the initial delay value to a new delay value.
- the new delay value may be the current delay time that resulted in the passing status of the test, or may be a delay time less than or up to the pre-determined maximum delay time.
- the retry on failure branch of the test (including setting the current delay time to a different delay time, waiting the current delay time, and reexecuting the test after the current delay time has elapsed) can be optionally repeated until either said test passes or it is determined 324 that the different delay time is equal to or greater than the pre-determined maximum delay time.
- This step combined with the initial delay value updating step 322 , operates to quickly optimize the initial delay value if each succeeding different delay times in step 312 is chosen to be a small increment of the preceding different delay time.
- Another step that may be performed is a periodic 301 audit function 303 in which the initial delay value is reset.
- the initial delay value may be reset to a value set by a test engineer based on experience or empirical test data, or may be arrived at via a search and/or optimization algorithm, discussed in more detail hereinafter.
- FIG. 4 is a flowchart of one embodiment 400 of an adaptive measurement delay learning algorithm used by test system 2 of FIG. 1 in determining the amount of delay to use to ensure that the test configuration circuit 6 has achieved a ready state.
- a current relay wait time is set 402 to an initial relay wait time at the beginning of a run of boards to be tested, preferably using a value less than the manufacturer specified maximum delay time of the relays.
- Test setup is initiated by opening and/or closing 403 appropriate relays in the relay matrix to complete the measurement paths.
- In-circuit measurements of a component under test on the circuit under test 50 are obtained 406 after waiting the current relay wait time 404 .
- a component under test value is calculated 408 using the measurements just obtained and compared 410 with predetermined test limits. If the calculated value for the component under test is within the predetermined test limits, the passing result is indicated 412 and a new test may be performed after resetting 436 the relays.
- the maximum relay wait time as specified by the measurement component manufacturer is forced to elapse 414 , and then the in-circuit measurements are reobtained 416 .
- the value of the component under test is then recalculated 418 using the measurements just obtained and compared to the predetermined test limits 420 to determine whether the initial failure of the component under test was a valid failure. If the calculated value of the component under test using the remeasured measurements is still not within the predetermined test limits, then the failure condition as detected on the first measurement readings was valid, and the test process 24 indicates 422 that the component under test failed the test and a new test may be performed after resetting 436 the relays.
- the test process 24 indicates 424 that the component under test passed the test, and the relay wait time is increased 426 by a predetermined value.
- the predetermined value may be a standard increment set by the test design engineer, or may be determined according to an algorithm such as a linear unidirectional search, linear bidirectional search, or bidirectional search with varying step size described hereinafter.
- the increased relay wait time is compared 428 to the maximum relay wait time, and limited 430 to the maximum relay wait time if it exceeds the maximum relay wait time.
- the relays are reset 436 for the next test.
- the increased relay wait time is then used as the relay wait time for subsequent tests.
- An optional audit function may be implemented in the adaptive measurement delay learning algorithm 400 in which the relay wait time is reset 434 if a predetermined period (e.g., a predetermined number N of consecutive tests in the current run of boards) passed 401 .
- a predetermined period e.g., a predetermined number N of consecutive tests in the current run of boards
- FIG. 5 is a flowchart of one embodiment 500 of a wait time determination method in accordance with the invention.
- the current delay time is initially set 502 to the maximum relay wait time as specified by the manufacturer.
- Test setup is then initiated 503 .
- Measurements are taken 506 after waiting 504 the current delay time, and the component under test value is calculated 508 and compared 510 to the predetermined test limits.
- test setup is reset 501 , and steps 502 through 510 are repeated using a new board since, because the maximum relay wait time was used, it is known that the failure of the test is not due to systematic delays in the test configuration circuit 6 .
- the test setup is reset 511 and the current delay time is changed 512 .
- the amount of delay by which the current delay time is changed depends on the implementation.
- Various algorithms may be used including decreasing by a fixed step as determined by the design engineer, or alternatively determined according to an algorithm such as a linear search algorithm in which the step size by which the current delay time is decreased is a fixed a value, or a bidirectional search with varying step sizes in which the step size is decreased by a fixed value, and if it fails the step size is increased by a fraction of the previous fixed value, and if it passes then decreased by a fraction of the previous fixed value, and if it fails then increased by a fraction of the previous fixed value, etc.
- test setup is initiated 513 and the measurements are reobtained 516 from the circuit under test 50 after waiting 514 the changed current delay time.
- the value of the component under test is then recalculated 518 using the measurements just obtained and compared 520 to the predetermined specified test limits. If the value is not within the predetermined test limits, the current delay time is changed again and steps 511 through 520 are repeated. If, however, the value of the component under test is within the predetermined test limits, then the current delay time may be used in place of the maximum delay time and the initial delay value is set 522 to the current delay time.
- FIG. 6 Another method for determining the initial delay value is illustrated in FIG. 6.
- This method 600 is based on a sampling algorithm. According to this method, a current delay time is initialized 602 to zero. The test configuration circuit setup is then initiated 604 . After a predetermined fixed sample time has elapsed 606 , the current delay time is incremented 608 by the fixed sample time and measurement readings are obtained 610 from the circuit under test 50 . A determination is made 612 as to whether the test passed based on the measurement readings. If the test passed, the initial delay value is set 614 to the current delay time. If the test failed, steps 606 through 612 are repeated until either the test passes or the current delay time is greater than or equal to the predetermined maximum delay time. If the current delay time becomes greater than or equal to the predetermined maximum delay time, the circuit under test contains a real failure, so the process is repeated using a new circuit under test.
Abstract
Description
- The present invention pertains generally to automated testing techniques, and, more particularly, to a method for adaptively learning test measurement delays on an individual device test for the purpose of reducing the total device test time.
- Automated equipment is used to perform a wide variety of tasks that might otherwise be performed manually at a slower rate and/or greater cost. Automation of a task typically incurs the overhead of a systematic delay before each performance of the actual task due to systematic delays in the automated equipment as it seeks a ready state. For example, in the large-scale production of electronic circuits, automated test equipment is used for setting up and performing tests on each circuit board of a run of circuit boards. A run is a testing sequence of the same type of assembly with no intervening different types of assemblies. A typical automated circuit tester includes a measurement circuit, a bed-of-nails fixture, and a set of programmable relay matrices and internal measurement busses. When testing a circuit under test, the circuit under test is seated on the fixture, which probes nodes of the component under test. Before measurements may be safely obtained without risk of any errors in the measurements due to the tester itself, the automated circuit tester must achieve a ready state in which all desired measurement paths and associated components are fully operational and in the correct position or configuration. Typically, automated testers include multiple components that must be configured and/or waited upon before the tester can be guaranteed to be in a ready state to perform the actual task at hand. Often there exists no method of determining whether a given tester component is in a ready state. For example, in a tester that comprises a programmable relay matrix, there is an inherent delay caused by the programming of the matrix followed by a delay caused by the actuation of each of the relays. Because no method exists for visually or otherwise determining whether a relay has opened or closed, a typical tester will wait the maximum rated delay time for the relay as specified by the relay manufacturer. If the relay open/close actuation wait times are anything less than the specified maximum relay open/close actuation times, incorrect measurements could occur due to incomplete connections (i.e., relays not yet being closed when the measurements are made). Because the actual actuation time of the slowest operating relay component in the tester may in fact be far less than the maximum specified actuation time, the test time overhead due to the systematic delay of the tester is greater than it need be, thereby yielding less production efficiency than achievable. In the testing of a long run of boards, the systematic delay overhead can add up to a significant amount of lost time. In addition, even though the test system is being set up in parallel with the relay open/close times, as coding techniques, software compilers, and native controllers improve in speed, the dominant time spent in making a simple component under
test 108 measurement will be waiting for the interconnect relays to physically open/close. As a result, the measurement test time is governed by the physical connection of the circuit under test to the measurement instruments. - Accordingly, a need exists for a system and method for adaptively learning the systematic delays of an automated tester in order to reduce the total testing time.
- The present invention improves over prior art circuit automated testing techniques in several ways. The invention can be used to adapt to systematic delays in setting up the test configuration circuit, including delays in tester components lying in the measurement paths such as relay actuation times, achieving a steady state after turning on a DC power source, and any other type of delay that occurs between the initiation of the test configuration circuit setup until the test configuration circuit is in a ready state to allow measurements of a component under test to be taken.
- In accordance with the method of the invention, the measurement delay times associated with executing a test on an automated tester are adaptively learned by setting a current delay time to an initial delay value, waiting the current delay time, and executing the test in which measurements are obtained by the automated tester. A determination is made based on the measurements as to whether the test passed or failed. If the test fails, because it may be due to a “false failure” condition due to the current delay time not having been long enough for the automated tester to have achieved a ready state, the current delay time is then reset to a different delay time, and the test is reexecuted after waiting the different delay time. In the preferred embodiment, the different delay time is set to the maximum specified delay time as specified by the component manufacturer for the slowest component that lies in the measurement paths in order to ensure that if the test fails after a retry, that the failure is not due to incomplete measurement path connections or the tester not having yet achieved a ready state when the measurements are taken.
- The invention will be better understood from a reading of the following detailed description taken in conjunction with the drawing in which like reference designators are used to designate like elements, and in which:
- FIG. 1 is a block diagram of an automated in-circuit test setup;
- FIG. 2(a) is a prior art two-wire test configuration circuit;
- FIG. 2(b) is a prior art six-wire test configuration circuit;
- FIG. 3 is a flowchart of a method in accordance with the invention;
- FIG. 4 is a flowchart of one embodiment of an adaptive delay learning algorithm in accordance with the invention;
- FIG. 5 is a flowchart of one embodiment of a delay time determination method; and
- FIG. 6 is a flowchart of an alternative method for determining the initial delay time.
- The present invention describes an adaptive learning algorithm that reduces the amount of delay before making test measurements in an automated test that requires a delay of any type (e.g., a device connection delay, a settling time delay, a measurement delay, etc.) to be completed before a measurement is made in order to remove the possibility that a tester component lying in the measurement path has not achieved a ready state. Although the illustrative embodiment described herein is in the context of an analog in-circuit test where the connecting devices are relays, it will be appreciated by those skilled in the art that the invention may be equally applied to any automated measurement test (e.g., in-circuit test, functional test, etc.) which relies on the completion of a delay (e.g., device connection delay, settling time delay, measurement delay, etc.) to ensure that a tester component (e.g., a reed relay, a mercury wetted relay, a solid-state switch, a mechanical switch, any device that requires a wait for a mechanical action to be performed, etc.) that lies in, or is required to configure, the measurement path and is used in the retrieval of a measurement is in a ready state.
- An example of an automated test is the performance of an in-circuit test. In-circuit testing, which verifies the proper electrical connections of the components on the printed circuit (PC) board, is typically performed using a bed-of-nails fixture or robotic flying-prober. A robotic flying-prober is set of probes that may be programmed to move which replaces the bed-of-nails for measuring a particular component under test. The bed-of-nails fixture/robotic flying-prober probes the nodes on the circuit under test printed on a printed circuit (PC) board that are associated with a particular component of the circuit that is currently under test, applies a set of stimuli, and takes measurements of the responses. The measurement responses are used to calculate a value for the component under test. The calculated value is compared to predetermined specified test limits to determine whether the test passed or failed.
- FIG. 1 is a schematic block diagram of an
automated test system 2. As illustrated,test system 2 includes acontroller 4, test configuration circuit 6,fixture 8, andmeasurement circuit 10. A PC board containing the circuit undertest 50 is shown mounted onfixture 8.Fixture 8, known in the art as a bed-of-nails fixture, is customized for each PC board layout and includes a plurality ofprobes 12 that electrically connect to nodes of the circuit undertest 50 when the circuit undertest 50 is properly seated on thefixture 8.Probes 12 are coupled, via wires (not shown) within thefixture 8, to interfacepins 14. Test configuration circuit 6 includes amatrix 16 ofrelays 18 which is programmable viacontroller 4 overcontrol bus 22 to open and/or close eachrelay 18 in thematrix 16 to achieve any desired connection between theinterface pins 14 and a set ofinternal measurement busses 20.Internal measurement busses 20 are electrically connected to nodes ofmeasurement circuit 10 The particular nodes ofmeasurement circuit 10 which are connected to the set ofmeasurement buses 20 may be hardwired within themeasurement circuit 10, or alternatively, may be configurable via another programmable matrix (not shown) of relays.Controller 4 receives test setup instructions fromtest process 24 to program the matrix 16 (and other relay matrices, if they exist) to achieve a set of desired connection paths between the circuit undertest 50 andmeasurement circuit 10. Adaptivedelay learning process 26, discussed in detail hereinafter, attempts to reduce the amount of delay between initiation of the test configuration setup and when the test configuration circuit is in a ready state. - FIG. 2(a) is one
instance 100 of a priorart measurement circuit 10.Measurement circuit 100 is known as a “two-wire” measurement circuit.Measurement circuit 100 includes operational amplifier (op-amp) 102 having apositive terminal 116 coupled to ground and anegative input terminal 118 coupled to an input node I 110. Areference resistor R ref 112 is coupled betweenoutput node V O 114 and input node I 110 of op-amp 102. A component undertest 108 having an unknown impedance Zx is coupled between input node I 110 and a sourceinput node S 106 upon which a known reference voltage Vs is delivered by avoltage stimulus source 104. Assuming an ideal op-amp circuit,measurement circuit 100 assumes that the current through the unknown impedance Zx of the component undertest 108 is equal to the current throughreference resistor R ref 112 and that op-amp 102 maintains a virtual ground atnegative input terminal 118. Thus, in an ideal op-amp circuit, theoretical impedance calculation is: - Z x=−R ref(V S/VO) (Equation 1)
- The use of a precision DC
voltage stimulus source 104 and a DC detector atoutput node V O 114 is employed to determine the resistive component of the output voltage when testing resistive analog components such as resistors. The use of a precision ACvoltage stimulus source 104 and a phase synchronous detector atoutput node V O 114 is employed to determine the reactive components of the output voltage when testing reactive analog components such as capacitors and inductors. - Device measurements are often complicated by error sources introduced by printed circuit (PC) board topology configurations which introduce impedances in parallel with the component under
test 108. Additionally, bed-of-nails fixture wiring and probes that are used to probe the nodes on the circuit undertest 50 for in-circuit measurements, system relays, and system busses that connect the component undertest 108 into themeasurement circuit 100 can also cause measurement problems. The bus wires represent impedances in series with the component undertest 108. These are classes of lead impedance errors. Thermal electromagnetic forces (EMFs) of the system relays can appear as temperature-dependent voltage sources. The bimetallic contacts of a relay forms a basic thermocouple device. When these contacts are heated, either by current flow or via other heat sources with the system, a temperature dependent output voltage (i.e., a thermal offset) is generated. These are classes of voltage offset errors. The error sources described above can be categorized into three main types of error sources: (1) source voltage errors; (2) guarding errors; and (3) current measurement errors. Compensation techniques such as guarding and multi-wire measurements, which consist of active or passive sensing and or enhancement measurements, are used to compensate for the effects of these three types of error sources. - Measurements are typically taken at the
output node V 0 114 of themeasurement circuit 100. Additional measurements are often taken to reduce guard errors and compensate for lead impedances. For example, in a 6-wire measurement test configuration circuit shown in FIG. 2(b), connections are made to connect thesource node S 106, input node I 110, sourcesense node A 107, inputsense node B 111, leadsense node L 128 to the circuit undertest 50 so that measurements can be made on those buses in order to compensate for the above-mentioned error sources. - In order to take a set of measurements, the paths from the component under
test 108 to themeasurement circuit 10 is set up by programming therelay matrix 16 to configure therelays 18 to electrically connect the bed-of-nails fixture 8 probes 12 that are electrically connected to the nodes on the circuit undertest 50 to themeasurement circuit 10 via the internal measurement busses 20. In the example of FIG. 2(a), the internal measurement busses include an S bus and an I bus which are respectively electrically connected to theS node 106 and Inode 110. In the example of FIG. 2(b), the internal measurement busses include the S bus and I bus, and additional busses A bus, B bus, L bus, and G bus. Connections of the internal measurement busses 20 from the circuit undertest 50 to themeasurement circuit 10 is performed at the beginning of the test for the component undertest 108, during the test setup. After the connections have been made, the actual test measurements of the component undertest 108 may be obtained by themeasurement circuit 10 after waiting for the inherent delays of the connections to be completed. At the conclusion of the test, the relay connections are all initialized to a known state in preparation for the start of the next test. - FIG. 3 is an operational flowchart of the adaptive
delay learning process 26 of the invention. As shown, a current delay value is set 302 to an initial delay value. The initial delay value may be a value set by a test engineer based on experience or empirical test data, or may be arrived at via a search and/or optimization algorithm, discussed in more detail hereinafter. After the current delay time is set to the initial delay time, test setup is initiated 304. In the illustrative embodiment, this step includes the programming of the test configuration circuit 6 in order to program therelay matrix 16 to open and/or close therelays 18 to set up the measurement paths from the circuit undertest 50 to themeasurement circuit 10. Execution of the test is then delayed 306 by the current delay time. The test is then executed 308, wherein measurements of the circuit undertest 50 are taken. A determination is made 310, based on the measurements, as to whether the test passed or failed. If the test passed, the test is complete, and a new circuit undertest 50 may be tested. If the test failed, the current delay time is set 312 to a different delay time, preferably an increment longer than the previous current delay time. In the illustrative embodiment, the different delay time is the maximum manufacturer specified delay time of the slowest component that lies in any measurement path in the system. The execution of the test is delayed 316 by the updated current delay time. Once the current delay time has elapsed, the test is reexecuted 318, and a determination is made 320 as to whether the test passed or failed. The test can end at this point, using the results of the reexecuted test as the final test results. This would be especially appropriate if the updated current delay time had been updated to the maximum manufacturer specified delay time of the slowest component that lies in any measurement path in the system since that would ensure that a failing test result could not be due to any systematic delay of the automated tester. - If the test passed after
reexecution 318 of the test, this may indicate that the initial delay value is too short for the current test configuration. Accordingly, an optional step is to update the initial delay value by setting 322 the initial delay value to a new delay value. The new delay value may be the current delay time that resulted in the passing status of the test, or may be a delay time less than or up to the pre-determined maximum delay time. - If the test failed after
reexecution 318 of the test, the retry on failure branch of the test (including setting the current delay time to a different delay time, waiting the current delay time, and reexecuting the test after the current delay time has elapsed) can be optionally repeated until either said test passes or it is determined 324 that the different delay time is equal to or greater than the pre-determined maximum delay time. This step, combined with the initial delayvalue updating step 322, operates to quickly optimize the initial delay value if each succeeding different delay times instep 312 is chosen to be a small increment of the preceding different delay time. - Another step that may be performed is a periodic301
audit function 303 in which the initial delay value is reset. Again, the initial delay value may be reset to a value set by a test engineer based on experience or empirical test data, or may be arrived at via a search and/or optimization algorithm, discussed in more detail hereinafter. - FIG. 4 is a flowchart of one
embodiment 400 of an adaptive measurement delay learning algorithm used bytest system 2 of FIG. 1 in determining the amount of delay to use to ensure that the test configuration circuit 6 has achieved a ready state. As shown, a current relay wait time is set 402 to an initial relay wait time at the beginning of a run of boards to be tested, preferably using a value less than the manufacturer specified maximum delay time of the relays. Test setup is initiated by opening and/or closing 403 appropriate relays in the relay matrix to complete the measurement paths. In-circuit measurements of a component under test on the circuit undertest 50 are obtained 406 after waiting the currentrelay wait time 404. A component under test value is calculated 408 using the measurements just obtained and compared 410 with predetermined test limits. If the calculated value for the component under test is within the predetermined test limits, the passing result is indicated 412 and a new test may be performed after resetting 436 the relays. - If the calculated value for the component under test is not within the predetermined test limits, the maximum relay wait time as specified by the measurement component manufacturer is forced to elapse414, and then the in-circuit measurements are reobtained 416. The value of the component under test is then recalculated 418 using the measurements just obtained and compared to the
predetermined test limits 420 to determine whether the initial failure of the component under test was a valid failure. If the calculated value of the component under test using the remeasured measurements is still not within the predetermined test limits, then the failure condition as detected on the first measurement readings was valid, and thetest process 24 indicates 422 that the component under test failed the test and a new test may be performed after resetting 436 the relays. - If, however, the component under test is within the predetermined test limits on the second measurements reading, a “false failure” condition has occurred. In this case, the
test process 24 indicates 424 that the component under test passed the test, and the relay wait time is increased 426 by a predetermined value. The predetermined value may be a standard increment set by the test design engineer, or may be determined according to an algorithm such as a linear unidirectional search, linear bidirectional search, or bidirectional search with varying step size described hereinafter. The increased relay wait time is compared 428 to the maximum relay wait time, and limited 430 to the maximum relay wait time if it exceeds the maximum relay wait time. The relays are reset 436 for the next test. The increased relay wait time is then used as the relay wait time for subsequent tests. - An optional audit function may be implemented in the adaptive measurement
delay learning algorithm 400 in which the relay wait time is reset 434 if a predetermined period (e.g., a predetermined number N of consecutive tests in the current run of boards) passed 401. - As described previously, many methods that are known in the art may be used to determine the initial delay time. FIG. 5 is a flowchart of one
embodiment 500 of a wait time determination method in accordance with the invention. The current delay time is initially set 502 to the maximum relay wait time as specified by the manufacturer. Test setup is then initiated 503. Measurements are taken 506 after waiting 504 the current delay time, and the component under test value is calculated 508 and compared 510 to the predetermined test limits. If the calculated value of the component under test is not within the predetermined test limits, the test setup is reset 501, and steps 502 through 510 are repeated using a new board since, because the maximum relay wait time was used, it is known that the failure of the test is not due to systematic delays in the test configuration circuit 6. - If the value of the component under test is within the predetermined test limits, then the test setup is reset511 and the current delay time is changed 512. The amount of delay by which the current delay time is changed depends on the implementation. Various algorithms may be used including decreasing by a fixed step as determined by the design engineer, or alternatively determined according to an algorithm such as a linear search algorithm in which the step size by which the current delay time is decreased is a fixed a value, or a bidirectional search with varying step sizes in which the step size is decreased by a fixed value, and if it fails the step size is increased by a fraction of the previous fixed value, and if it passes then decreased by a fraction of the previous fixed value, and if it fails then increased by a fraction of the previous fixed value, etc. (e.g., successive approximation). Once the delay time is changed in
step 512, test setup is initiated 513 and the measurements are reobtained 516 from the circuit undertest 50 after waiting 514 the changed current delay time. The value of the component under test is then recalculated 518 using the measurements just obtained and compared 520 to the predetermined specified test limits. If the value is not within the predetermined test limits, the current delay time is changed again and steps 511 through 520 are repeated. If, however, the value of the component under test is within the predetermined test limits, then the current delay time may be used in place of the maximum delay time and the initial delay value is set 522 to the current delay time. - Another method for determining the initial delay value is illustrated in FIG. 6. This
method 600 is based on a sampling algorithm. According to this method, a current delay time is initialized 602 to zero. The test configuration circuit setup is then initiated 604. After a predetermined fixed sample time has elapsed 606, the current delay time is incremented 608 by the fixed sample time and measurement readings are obtained 610 from the circuit undertest 50. A determination is made 612 as to whether the test passed based on the measurement readings. If the test passed, the initial delay value is set 614 to the current delay time. If the test failed,steps 606 through 612 are repeated until either the test passes or the current delay time is greater than or equal to the predetermined maximum delay time. If the current delay time becomes greater than or equal to the predetermined maximum delay time, the circuit under test contains a real failure, so the process is repeated using a new circuit under test. - It will be appreciated from the above description that the present invention improves over prior art testing techniques by reducing the systematic delay time for each iteration of an automated test. Over a long run of devices to be tested, the overall savings in test time can be quite significant.
- Although the invention has been described in terms of the illustrative embodiments, it will be appreciated by those skilled in the art that various changes and modifications may be made to the illustrative embodiments without departing from the spirit or scope of the invention. It is intended that the scope of the invention not be limited in any way to the illustrative embodiment shown and described but that the invention be limited only by the claims appended hereto.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/259,866 US6377901B1 (en) | 1999-03-01 | 1999-03-01 | Method and apparatus for adaptively learning test measurement delays on an individual device test for reducing total device test time |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/259,866 US6377901B1 (en) | 1999-03-01 | 1999-03-01 | Method and apparatus for adaptively learning test measurement delays on an individual device test for reducing total device test time |
Publications (2)
Publication Number | Publication Date |
---|---|
US20020045997A1 true US20020045997A1 (en) | 2002-04-18 |
US6377901B1 US6377901B1 (en) | 2002-04-23 |
Family
ID=22986753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/259,866 Expired - Fee Related US6377901B1 (en) | 1999-03-01 | 1999-03-01 | Method and apparatus for adaptively learning test measurement delays on an individual device test for reducing total device test time |
Country Status (1)
Country | Link |
---|---|
US (1) | US6377901B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090105983A1 (en) * | 2007-10-23 | 2009-04-23 | Texas Instruments Incorporated | Test definer, a method of automatically determining and representing functional tests for a pcb having analog components and a test system |
US7890288B1 (en) * | 2007-11-05 | 2011-02-15 | Anadigics, Inc. | Timing functions to optimize code-execution time |
US20170038420A1 (en) * | 2015-08-09 | 2017-02-09 | The United States Of America As Represented By The Secretary Of The Navy | Sensitive, dangerous, vulnerable, or expendable installed equipment item(s) safe programmable and expandable resource electronic test equipment apparatuses and related methods for testing and interfacing with multiple classes or types of systems under test with or without the sensitive, dangerous, vulnerable, or expendable item(s) installed |
CN106447192A (en) * | 2016-09-27 | 2017-02-22 | 美的智慧家居科技有限公司 | Feedback test method and device for intelligent device |
CN110480678A (en) * | 2019-07-19 | 2019-11-22 | 南京埃斯顿机器人工程有限公司 | A kind of industrial robot collision checking method |
US10751846B2 (en) * | 2017-06-05 | 2020-08-25 | Fanuc Corporation | Machine tool and standby time changing method |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020246B2 (en) * | 2003-06-30 | 2006-03-28 | Intel Corporation | Time domain reflected signal measurement using statistical signal processing |
US7072462B2 (en) * | 2003-06-30 | 2006-07-04 | Intel Corporation | Estimation of DSL telephone loop capability using CAZAC sequence |
US20040267678A1 (en) * | 2003-06-30 | 2004-12-30 | Gao Xiao M | Fuzzy logic impedance mismatch network for DSL qualification |
US7073109B2 (en) * | 2003-09-30 | 2006-07-04 | Agilent Technologies, Inc. | Method and system for graphical pin assignment and/or verification |
US7528622B2 (en) | 2005-07-06 | 2009-05-05 | Optimal Test Ltd. | Methods for slow test time detection of an integrated circuit during parallel testing |
US8112249B2 (en) | 2008-12-22 | 2012-02-07 | Optimaltest Ltd. | System and methods for parametric test time reduction |
US8689066B2 (en) | 2011-06-29 | 2014-04-01 | International Business Machines Corporation | Integrated circuit test optimization using adaptive test pattern sampling algorithm |
US9835680B2 (en) * | 2015-03-16 | 2017-12-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method, device and computer program product for circuit testing |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3931506A (en) * | 1974-12-30 | 1976-01-06 | Zehntel, Inc. | Programmable tester |
US4724378A (en) * | 1986-07-22 | 1988-02-09 | Tektronix, Inc. | Calibrated automatic test system |
US4792932A (en) * | 1987-01-16 | 1988-12-20 | Teradyne, Inc. | Time measurement in automatic test equipment |
US5305238A (en) * | 1992-11-03 | 1994-04-19 | Key Tronic Corporation | Data input monitor and indicator for managing work pace and rest periods |
US5444390A (en) * | 1994-02-02 | 1995-08-22 | Texas Digital Systems, Inc. | Means and method for sequentially testing electrical components |
US6263463B1 (en) * | 1996-05-10 | 2001-07-17 | Advantest Corporation | Timing adjustment circuit for semiconductor test system |
US6002868A (en) * | 1996-12-31 | 1999-12-14 | Compaq Computer Corporation | Test definition tool |
US6064948A (en) * | 1998-03-02 | 2000-05-16 | Tanisys Technology, Inc. | Tester systems |
US6070260A (en) * | 1998-09-17 | 2000-05-30 | Xilinx, Inc. | Test methodology based on multiple skewed scan clocks |
-
1999
- 1999-03-01 US US09/259,866 patent/US6377901B1/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090105983A1 (en) * | 2007-10-23 | 2009-04-23 | Texas Instruments Incorporated | Test definer, a method of automatically determining and representing functional tests for a pcb having analog components and a test system |
US7890288B1 (en) * | 2007-11-05 | 2011-02-15 | Anadigics, Inc. | Timing functions to optimize code-execution time |
US20170038420A1 (en) * | 2015-08-09 | 2017-02-09 | The United States Of America As Represented By The Secretary Of The Navy | Sensitive, dangerous, vulnerable, or expendable installed equipment item(s) safe programmable and expandable resource electronic test equipment apparatuses and related methods for testing and interfacing with multiple classes or types of systems under test with or without the sensitive, dangerous, vulnerable, or expendable item(s) installed |
US10168382B2 (en) * | 2015-08-09 | 2019-01-01 | The United States Of America, As Represented By The Secretary Of The Navy | Sensitive, dangerous, vulnerable, or expendable installed equipment item(s) safe programmable and expandable resource electronic test equipment apparatuses and related methods for testing and interfacing with multiple classes or types of systems under test with or without the sensitive, dangerous, vulnerable, or expendable item(s) installed |
CN106447192A (en) * | 2016-09-27 | 2017-02-22 | 美的智慧家居科技有限公司 | Feedback test method and device for intelligent device |
US10751846B2 (en) * | 2017-06-05 | 2020-08-25 | Fanuc Corporation | Machine tool and standby time changing method |
CN110480678A (en) * | 2019-07-19 | 2019-11-22 | 南京埃斯顿机器人工程有限公司 | A kind of industrial robot collision checking method |
Also Published As
Publication number | Publication date |
---|---|
US6377901B1 (en) | 2002-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6377901B1 (en) | Method and apparatus for adaptively learning test measurement delays on an individual device test for reducing total device test time | |
US4012625A (en) | Non-logic printed wiring board test system | |
CN110268277B (en) | Functionality tester for printed circuit boards, and related systems and methods | |
CN108693825B (en) | Detection method and device for PLC input/output module | |
US6363507B1 (en) | Integrated multi-channel analog test instrument architecture providing flexible triggering | |
JP2865664B2 (en) | Inspection method and inspection system for inspecting control device having electric circuit | |
US7324982B2 (en) | Method and apparatus for automated debug and optimization of in-circuit tests | |
EP1039389B1 (en) | Method and apparatus for adaptively learning test error sources to reduce the total number of test measurements required in real-time | |
US20030182601A1 (en) | System and method for integrating hardware switching operations into test executive software | |
US6963814B2 (en) | Systems, devices, and methods for acceptance testing a fieldbus component configuration program | |
RU2727334C1 (en) | Automated control system for electrical values of electronic equipment | |
RU2534387C1 (en) | Computer-aided testing method for electric circuits of sophisticated engineering products and device for its implementation | |
JP2009288064A (en) | Semiconductor test apparatus and method | |
JP3995079B2 (en) | Test equipment | |
RU2801061C1 (en) | Device for automated control of the functioning of relay blocks | |
Truebenbach | Instruments for automatic test | |
JP2005122497A (en) | Test circuit preparing method using analog function description | |
JP6798834B2 (en) | Inspection equipment, inspection system, inspection method, and inspection program | |
JPS6329277A (en) | Testing device for logic integrated circuit | |
JP2023047634A (en) | Test system and test method | |
JP2595263B2 (en) | Automatic test pattern creation method | |
US9791506B1 (en) | Cross-platform device testing through low level drivers | |
US7117274B2 (en) | Graphical user interface and approach therefor | |
Page et al. | An Automated Temperature Controller for the Advanced Hall Effect Experimental Data Aquisition System | |
Powell et al. | Advances in reverse engineering are becoming a vastly more powerful tool in electronic repair of commercial and DoD systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIST, STEVEN K.;CROOK, DAVID T.;REEL/FRAME:010074/0322 Effective date: 19990519 |
|
AS | Assignment |
Owner name: HEWLETT-PACKARD COMPANY, COLORADO Free format text: MERGER;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:010759/0049 Effective date: 19980520 |
|
AS | Assignment |
Owner name: AGILENT TECHNOLOGIES INC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD COMPANY;REEL/FRAME:010977/0540 Effective date: 19991101 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20100423 |