# Patent

## Title
Automated waveform analysis using a parallel automated development system

## Abstract

A mixed signal testing system capable of testing differently configured units under test (UUT) includes a controller, a test station and an interface system that support multiple UUTs. The test station includes independent sets of channels configured to send signals to and receive signals from each UUT being tested and signal processing subsystems that direct stimulus signals to a respective set of channels and receive signals in response thereto. The signal processing subsystems enable simultaneous and independent directing of stimulus signals through the sets of channels to each UUT and reception of signals from each UUT in response to the stimulus signals. Received signals responsive to stimulus signals provided to a fully functional UUT (with and without induced faults) are used to assess presence or absence of faults in the UUT being tested which may be determined to include one or more faults or be fault-free, i.e., fully functional.

## Background
FIELD OF THE INVENTION
The present invention relates generally to providing automated test equipment (ATE) and more specifically automated test systems (ATS). The invention takes a novel approach by employing mixed signal parallel functional testing in lieu of a traditional top-down parametric based approach by tightly integrating the hardware instrumentation with the software toolset suite. This test philosophy involves parallel data processing using, but not limited to, high speed analog-to-digital conversion (ADC) capture channels mated with automated waveform analysis algorithms that permit deployment of a test program set (TPS) in a fraction of the time a traditional top down serial TPS would take.
BACKGROUND OF THE INVENTION
Automated test systems (ATS) are generally used for testing electronic assemblies. These electronic assemblies may take the form of a line replaceable unit (LRU) or shop replaceable unit (SRU). Typically, LRUs are higher level assemblies that contain a plurality of smaller SRUs. These test systems (also referred to as testers or test stations) are populated with various pieces of automatic test equipment (ATE) in the form of stand-alone (aka ‘rack and stack’) or modular (i.e., VXI, PXI, etc.) instrumentation. These test systems may be specialized (able to test one specific assembly or family of assemblies for a specific electronics platform) or general purpose (able to test a broad range of electronics) in nature.
The software that runs the ATS is typically referred to as a runtime system and test executive which provides a testing hierarchy in the form of a testplan, entry point(s) and teststeps. A test program set (TPS) implements the entry point(s) and teststeps and typically targets a specific assembly (also referred to as a unit under test or UUT). Each teststep typically executes and evaluates a single performance test. An entry point is a group of teststeps that share a common function such as transmit, receive, etc. The testplan specifies the entry points that are executed on the assembly. The test executive allows teststeps and/or entry points to be bypassed or looped, and handles the overall operation/flow of the TPS. Coding of a TPS can take months or even years to write and integrate depending on the complexity of the UUT.
Current test stations typically include a significant arsenal of instrumentation and specialized equipment connected through a mass terminated patch panel that can connect/disconnect a 1000 or more signals at once. While this approach permits coverage across a broad range of electronics assemblies, it does have drawbacks. Most test stations implement some form of mechanical switching to route signals to/from the equipment. As test stations age, these switching elements tend to degrade, resulting in operational intermittency, higher insertion loss and lower isolation which can affect test measurements. A mass terminated patch panel is rather large and expensive, and not suited for testing the input/output (I/O) count of smaller assemblies.
A smaller, more nimble tester is more appropriate for these types of assemblies. High speed analog-to-digital conversion (ADC) technologies have advanced to the point where parallel signal capture at sufficient bandwidth, resolution and density can reliably support test program set (TPS) development using a parallel digitizing approach. Simultaneous asset use using a parallel test approach allows testing of multiple signal nodes at once resulting in a substantial reduction in test program set (TPS) runtime when compared against the traditional serial functional test approach.
A TPS is typically developed using OEM data such as acceptance test procedure (ATP), theory of operation, manuals, schematics or other relevant data. Often electronics assemblies remain in service long beyond their design life. In instances where this is the case, the original support equipment may be nearing (or even beyond) the end of its planned lifecycle, unable to test these legacy assemblies. In other instances, the ability to test these assemblies may no longer exist, resulting in an ‘orphan’ assembly. This can be further compounded by the lack of original equipment manufacturer (OEM) data or even cases where the OEM is now a defunct entity. The absence of UUT data can substantially increase the TPS effort and in some cases prevent implementation of a TPS altogether. In these situations, the traditional top down TPS approach falls short and a different approach is necessary. The invention disclosed herein departs from the traditional serial TPS structure and implements a heuristic simultaneous parallel response in combination with a ‘known good’ or ‘golden’ UUT to establish an operating characteristic response baseline.
OBJECTS AND SUMMARY OF THE INVENTION
An object of at least one embodiment of the present invention is to provide an innovative means for testing a target unit-under-test (UUT) using a mixed signal parallel test methodology versus a traditional top-down serial test approach. The parallel test approach eliminates traditional switching within the signal path and all of the shortcomings associated with such traditional switching. The parallel approach may utilize a digitizing instrument implemented as a plurality of high speed analog-to-digital converter (ADC) channels each targeting a specific signal node of the target UUT. These nodes may be input or output signals or intermediate signals that are processed by the target UUT.
An object of at least one embodiment of the present invention is to provide to a test program set (TPS) developer a method for analyzing usable support documentation for the target unit-under-test (UUT) to derive circuit operation/behavior and to identify individual components that could degrade or fail. Following analysis, the TPS developer would implement stimulus waveforms that, when applied to the target UUT, would expose the faulty operation of the failed component(s) when captured with appropriate instrumentation.
It is another object of at least one embodiment of the present invention to create configuration files necessary for configuration of stimulus and acquisition (capture) instrumentation. Each file contains a collection of records pertaining to a particular instrument or function. On the stimulus side, a stimulus configuration file would be saved which would provide all of the necessary programming parameters for the instrumentation or equipment necessary for generating the stimulus waveforms to be applied to the target UUT. Similarly, on the acquisition side, an acquisition configuration file would be saved which would provide all of the necessary programming parameters for the instrumentation or equipment necessary for capturing the output UUT waveforms in response to the input stimulus waveforms. In a preferred embodiment, the stimulus configuration file would be automatically generated, for example, by the TPS developer and/or the invention application software.
It is yet another object of at least one embodiment of the present invention to capture UUT waveforms by a digitizing instrument and, either manually or automatically, analyze these waveforms in parallel by software supplied with the invention. A software algorithm for evaluating timing and amplitude at every sampled time interval and a user-specified tolerance would be applied to produce an allowed signal envelope which defines the normal operating conditions of the target UUT. Instead of focusing on traditional (individual) metrics, waveforms are organically evaluated allowing for parallel analysis resulting in improved detection and throughput.
It is yet another object of at least one embodiment of the present invention to sequentially induce simulated UUT faults, via modifying target UUT circuitry to temporarily include these faults or via software such as SPICE (Simulation Program with Integrated Circuit Emphasis) or similar simulation program. A digital logic simulator (Simeon, LASAR, HITS, etc.) may be implemented within the invention for more thorough coverage of logic tests and resultant fault callout messages. In a preferred embodiment, the fault insertion process is automated through use of a software application programming interface (API) to the simulation program which would allow a fault dictionary to be populated through virtual faults such as shorts and opens (as well as others known to those skilled in the art) to be induced programmatically.
The resulting digitized waveform(s) and fault dictionary data signal envelope(s) would be saved to a data file on the computer, and additionally, a text string denoting the actual fault that these waveforms correspond to along with the components and/or circuits to replace/repair. For ease of discussion, any references within this application relating to computer file storage shall be assumed to mean one or more non-transitory computer readable medium storage.
It is yet another object of at least one embodiment of the present invention to store a plurality of the data files, resultant digitized waveforms along with signal envelopes created from multiple or all of fault insertions to a common file directory resulting in an automated waveform analysis fault dictionary. Use of a fault dictionary based on a database of failing waveforms in lieu of diagnostic testing associated with the traditional top-down approach further improves test throughput. During actual test execution, a stimulus configuration file, resident in a common file directory, would be read by application software and automatically program/trigger stimulus instrumentation to produce required stimulus waveforms. Also during actual test execution, an acquisition configuration file, resident in the common directory, would be read by application software and automatically program/trigger the acquisition instrumentation to digitize target UUT output waveforms.
It is yet another object of at least one embodiment of the present invention to have application software sequentially process a plurality of responses representing component and/or circuit faults to find the closest or exact waveform(s) match in order to identify the failed component and to return the fault callout message to the operator. The UUT test waveform would be automatically aligned to each fault waveform in the automated waveform analysis fault dictionary using, for example, a mathematical alignment process to remove the possibility of false negatives resulting from asynchronous signal acquisition. Fault analysis signature waveform(s) would then be applied to the test waveform(s) to test for a match to a specific fault.
It is yet another object of at least one embodiment of the present invention to optimize the sequencing of the tests or evaluations which form the tests. Sequence optimization is achieved by having the application software keep a running count of the number of times each fault lookup was successfully matched to the UUT test waveform in the automated waveform analysis fault dictionary and maintain a sorted list based on those counts. The application software would utilize the sorted list to sequence the data files in such a manner to execute the test or evaluation with the highest running count first followed by tests or evaluations with decreasing running counts to permit a more efficient testing or evaluation order.
It is yet another object of at least one embodiment of the present invention to have a default callout entry stored in the automated waveform analysis fault dictionary which represents non-detectable callouts to return to the operator in the event that the automated waveform analysis fault dictionary does not contain a match for the UUT fault. If no match is found for the UUT, the individual error callout messages may be based upon the combinations of waveforms that failed. Under these circumstances, the failing condition is flagged as a conditional callout message—if the same condition is encountered again, the operator can confirm whether the prior default callout was proper, leaved it flagged as conditional or enter a different callout for the failing condition.
If a failing conditional callout is encountered several times without confirmation (such as three, or other value defined by the TPS developer), the conditional flag is removed and the callout status changed to permanent. In this sense, the TPS becomes a “measure once, analyze many” concept—it can ‘learn’ new callouts or faults that are added as entries to the fault dictionary without the need for program changes. The operator also has the ability to modify callouts as needed to address deficiencies in the original TPS. These changes are maintained in a separate file in the common file directory.
Classic forms of measurement instrumentation, such as counter, DMM, scope, etc., connected through switching networks are replaced with a single digitizing instrument in embodiments of the disclosed invention. Unique benefits over conventional automatic test equipment (ATE) are numerous, and include but are not limited to: elimination of legacy ATE instrumentation used for traditional measurement metrics reduces tester cost and results in a more compact footprint; reduction of the number of instrumentation types enhances supportability while reducing spares cost; elimination of mechanical switching reduces tester cost and intermittency issues, reduced TPS development time and cost due to tightly integrated software toolset suite; better fault detection through a more thorough evaluation of UUT waveform signals; simultaneous evaluation of mixed mode signals (analog/digital); and quicker TPS execution time due to re-sequencing of tests based on match frequency.
The invention will be described in detail with reference to some preferred embodiments of the invention illustrated in the figures in the accompanying drawings. However, the invention is not confined to the illustrated and described embodiments alone.



BRIEF DESCRIPTION OF THE DRAWINGS
Additional objects of the invention will be apparent from the following description of the preferred embodiment thereof taken in conjunction with the accompanying non-limiting drawings, in which:
FIG. 1 shows a simplified interconnect diagram for an embodiment of the invention;
FIG. 2 reflects the steps/flow of manually creating a test for an embodiment of the invention;
FIG. 3 depicts a portion of the graphic user interface (GUI) of the software toolset suite for stimulus configuration for use in the invention;
FIG. 4 depicts a portion of the GUI of the software toolset suite for configuring bounds rules for use in the invention;
FIG. 5 depicts a portion of the GUI of the software toolset suite for configuring bounds rules for use in the invention;
FIG. 6 reflects the steps/flow of creating a computer analyzed test for an embodiment of the invention; and
FIG. 7 reflects the steps/flow of running a test within an embodiment of the invention.



DETAILED DESCRIPTION OF THE INVENTION
The invention disclosed herein is believed to represent a radical departure from most if not all traditional test program set (TPS) approaches for automated testing of electronic and avionic assemblies. Rather than trying to be all encompassing, the test station architecture as disclosed represents a more economical test approach when all metrics are compared: lower test cost, lower interface test adapter (ITA) cost, faster development time (resulting in lower labor cost) and faster execution time (more throughput), just to name a few.
An interconnect diagram shown in FIG. 1 represents the basic approach to hardware within a proposed mixed signal test station 10 in accordance with the invention (also referred to herein at times as a tester or testing system). In a preferred embodiment, the instrumentation would be realized using modular-based elements such as the PXI form factor due to its scalable nature, small volume footprint and ubiquitous presence throughout the test instrumentation industry. This means that each component of the test station 10 described below may be a self-contained module with its own housing, and which enables easy assembly of test station 10 by securing the modules and connecting them together on a common platform or within a larger common housing. Other embodiments may implement rack and stack or other modular form factors, either in whole or in part as part of the hardware implementation of the test station 10.
Thus, the described components of the proposed mixed signal test station 10 may be contained in a single housing 34, represented by the dotted line. The housing 34 is provided with suitable power components and cooling components, as well as any other components needed for operation of the interior components of the test station 10 described below. Embodiments of the test station 10 with various hardware and software components described below, and any combinations thereof, are considered inventions herein.
A controller 12, preferably implemented as some form of laptop computer but not limited to such a controller, serves as the main repository of the suite of application software as well as any developed TPSs for the tester. Controller 12 generally serves as control unit to perform the control functions of the mixed signal test station 10, which include preparatory testing stages, such as generating test files using a fully functional UUT, and actual testing of UUTs having possible faults.
This controller 12 preferably interacts remotely with the instrumentation in the mixed signal test station 10 and in the case of PXI instrumentation may take the form of a system (aka ‘Slot 1’) controller with remote connectivity to the laptop computer via a MXIe (Multi-system Extension Interface Express) link which is used to extend the high speed architecture of the computer bus to that of the PXI backplane. The remote connectivity may take multiple forms (i.e., fiber optic or copper link) or any of the MXI variants currently in use (MXI, MXI-2, MXI-3, MXI-4, MXIe, MXIe x4, MXIe x8, etc.) or other PC bus extension topologies such as Ethernet, USB, Firewire or other appropriate high speed bus.
In a preferred embodiment, the laptop computer containing the controller 12 would be eliminated and the computer would be implemented as an embedded element running, for example, a WindowsTM operating system housed within the confines of the tester enclosure, i.e., within the housing 34 with access to user interfaces needed to manipulate the embedded element. Alternate embodiments of the controller element may implement other operating systems (i.e. Mac, Linux) in lieu of the WindowsTM software.
At the heart of the mixed signal tester 10 is a subsystem 14 employing digitizing instrumentation that permits simultaneous analog sampling across a plurality of channels 16, also referred to as a set of channels. In a preferred embodiment, each channel 16 would be capable of a minimum sampling rate of 2 Megasamples/second/channel (MS/s/ch) although this sampling rate could be scaled up/down as dictated by the test application requirements. The plurality of analog sampling channels 16 would also need to support independent channel signal scaling (multiple bipolar voltage ranges) such that the input signal amplitude could be optimized relative to the full scale range. In a preferred embodiment, a minimum dynamic range of 90 dB for each channel 16 is required which dictates a sampling resolution of at least 16 bits of depth. Instead of mechanical switching, each testable node within the target UUT circuit would utilize a dedicated digitizing channel.
In a preferred embodiment, radio frequency (RF) signals could be analyzed through use of an ultra high speed digitizing module, although cost constraints might currently prevent implementation on more than a few dedicated channels. An alternate embodiment for analyzing RF signals might employ signal downconversion such that the band of interest is downconverted to the baseband range of the analog sampling channels. In either RF embodiment, it would be desirable to have a dynamic range that exceeds 90 dB to allow analysis of signal levels that approach that of thermal noise (kTB). The use of discrete Fourier transforms (DFTs) or fast Fourier transforms (FFTs) would allow these signals captured in the time domain to be analyzed in the frequency domain.
In a general sense, the analog sampling channels 16 and the digitizing instrumentation 14 would typically be configured to sample analog signals from each UUT 8 connected to the test station 10 via the physical interface 6 and convert the sampled analog signals to digitized signals at a high speed. What exactly constitutes “high speed” sampling and ADC (analog to digital conversion) is variable, but readily understood by those skilled in the art to which this invention pertains by reviewing and understanding the disclosure herein. A set value of this high speed is therefore not believed to be necessary.
The software running on the tester computer, i.e., executed by controller 12, would likely be part of an integrated toolset suite of applications available to the controller 12, e.g., in non-transitory computer-readable medium storage, that consist of, but are not limited to: a test executive, automated waveform analyzer, TBASIC engine, test result logger, analog circuit modeler/simulator/analyzer, digital circuit modeler/simulator/analyzer, analog simulator post processor, analog fault dictionary with learning mode, digital simulator post processor, digital fault dictionary with learning mode, parameterized memory based arbitrary waveform generation (also referred to as ‘Arb’ or ‘AWG’) and multiple graphic user interfaces (GUI) for instrumentation. The digitizing instrumentation coupled with the invention's unique automated waveform analyzer software form a powerful development tool.
In a preferred embodiment, the mixed signal tester 10 also includes a subsystem 18 with a plurality of waveform generation channels 20, i.e., a second set of channels. The waveform channels 20, more commonly referred to as arbitrary waveform generators (also referred to as ‘Arb’ or ‘AWG’) can produce commonly used bipolar analog/RF signals such as sine, square, triangle, sawtooth, pulse, noise and others known to those skilled in the art. A preferred embodiment would have requirements similar to the digitizing instrumentation 14—a minimum dynamic range of 90 dB for each output channel 20 (at least 16 bits of resolution) at an update rate of 2 MS/s/ch. In alternate embodiments, the AWG channel(s) may employ significantly higher update rates to support generation of RF signals or may be replaced and/or augmented by synthesizers to permit the sourcing of RF signals. These AWG channels 20 are used to provide stimulus to the UUT to mimic the in-situ environment in which the UUT operates.
Also in a preferred embodiment, the tester also includes a digital subsystem 22 supporting a plurality of digital input/output (I/O) pins 24, also referred to herein as a set of channels. At a minimum, these I/O pins 24 support basic 5V TTL logic levels in addition to newer 3.3V, 2.5V, 1.8V, etc. digital variants. In a preferred embodiment, the I/O pins 24 support a nominal programmable logic level in the range of 1-40 volts at a minimum clock rate of 10 MHz. In the preferred embodiment, all sections of hardware instrumentation support triggering to allow signal coherency across the various instrumentation subsystems.
Target UUTs generally require a DC power for operation. The invention disclosed herein includes a plurality of programmable power supplies 28 aimed at supporting/testing target UUTs, collectively referred to as a DC power subsystem 26. The power supplies 28 are also referred to herein as a set of channels. These power supplies 28, in various voltage/current ranges utilize a minimum of 12 bit programmable resolution (which permits milliVolt or better programmability). Current limiting circuitry within the supplies allows selection of constant current operation or supply shutdown if the specified current limit value is reached. Remote sense lines may be provided to allow a precise voltage level to be supplied to the target UUT.
Most TPSs employ a plurality of safe-to-turn-on tests using a switched digital multimeter (DMM) in order to assure a voltage rail is not shorted which could potentially damage the UUT. Since the invention may optionally employ a DMM and switching, a novel approach of current limiting and voltage measurement to determine whether a voltage bus (or rail) is safe to have voltage applied and further reduces the reliance on mechanical switching when these elements are not present.
Alternate embodiments of the invention may provide for the inclusion of ancillary support elements, components, hardware or equipment 30 for electronics assemblies that require varying forms of stimulus to facilitate operation, provided by ancillary inputs and outputs 32, also referred to as a set of channels herein. While it is advantageous to make the mixed signal tester 10 as inclusive as possible, it may be more cost effective to evaluate a group of target UUTs from potential electronics platforms to find a common need for any ancillary support. This hardware may take the form of differential line drivers and/or receivers, static digital latch, complex digital logic (in the form of a field programmable gate array or FPGA), DMM, oscilloscope, form ‘C’ and/or general switching, and others known to those skilled in the art. Incorporation of commonly needed ancillary support components 30 into the tester can potentially broaden the audience of UUTs, reduce (or eliminate) the need for active interface test adapters (ITAs) and reduce the development effort necessary by migrating redundant design efforts at the TPS level into the tester. Other embodiments may implement ancillary support components 30 in the form of an active ITA, personality module or even an augmentation module to the tester.
The ancillary support components 30 may also be considered to include a radio frequency testing subsystem, including for example, the ultra high speed digitizing module mentioned above and/or the downconversion module, and a plurality of channels connected to the radio frequency testing subsystem. The radio frequency testing subsystem enables testing of radio frequency components and functional units of the UUT 8 when coupled to the mixed signal test station 10 via radio frequency signal transfer to and from the UUT 8 when coupled to the test station 10 using the channels 32.
The mixed signal tester 10 interfaces to the target UUT 8 through some form of physical interface 6. The physical interface 6 may simply be an interconnecting cable between the tester 10 and the target UUT 8 or may optionally include a holding fixture as dictated by the target UUT physical interface. Passive and/or active components may be implemented in the form of an optional personality card or module. A preferred embodiment would utilize adjustable card guides to allow a broad range of target UUTs to be used with the tester 10 without the need for additional fixtures.
The physical interface 6 is preferably connected to the mixed signal test station 10 and configured to support, or be connected to, a plurality of differently configured target UUTs. As such, the physical interface 10 can be connected to one UUT at each time, with it being connected to one particularly configured UUT at one time and then to a differently configured UUT once testing of the first UUT is finished. The physical interface 6 is highly versatile and facilitates testing of multiple and differently configured UUTs using the test station 10.
The TPS development effort for the disclosed invention can be either a solely manual approach (circuit analysis and fault insertion performed by the TPS developer), or a completely computer analyzed approach (circuit analysis and fault insertion using circuit simulation/analysis program) or a mixture of both. In a preferred embodiment, a SPICE (Simulation Program with Integrated Circuit Emphasis) or similar simulation program would be included as part of the software toolset suite to assist with TPS development. A digital logic simulator (Simeon, LASAR, HITS, etc.) would complement the SPICE simulator to provide coverage for digital circuitry as well.
The flowchart in FIG. 2 reflects how a single, exemplifying, non-limiting test would be created using the manual approach, step 50, i.e., a test preparation stage. A target UUT 8 would be reviewed as to the best manner in which to connect to the mixed signal tester 10, step 52. It is generally preferred to keep the ITA (or personality module) passive wherever possible so that ITA does not require self-test.
Input, output and bi-directional signals of the target UUT 8 would be mapped to appropriately matched connections or assets on the mixed signal tester 10, which mapping is a known technique to those skilled in the art to which this invention pertains. All schematic diagrams would be reviewed by the TPS developer to identify possible failure nodes where signals could connect to the digitizing channels of the tester, step 54. From the schematic diagrams, the TPS developer would formulate how the target UUT would connect to the tester 10 and determine if any additional passive or active hardware is necessary to recreate an environment in which the target UUT 8 would normally operate. Passive and active hardware could be implemented in the form of a removable personality module. Any holding fixtures, interconnect cabling and hardware would have to be designed, documented and fabricated to allow physical UUT/ATE hookup for TPS development.
Once the TPS developer has designed the required fixtures, cabling and hardware, the target UUT DC voltage requirements and stimuli would need to be identified. Most UUT require some form of stimuli for operation in addition to DC power—these stimuli vary greatly among UUTs and, although not intended to be an exhaustive list, can be analog (i.e., sine, sawtooth, triangle, video, etc.), digital (clocks, enables, counting sequence, address/data bus, etc.) or even RF (radio frequency—continuous wave, pulse modulated, etc.) in nature. The TPS developer would use the invention's software toolset suite to establish a set of stimulus configuration file(s) necessary to recreate the UUT's normal operating environment, step 56.
A screen capture of the software toolset suite to generate the stimulus configuration file(s) is depicted in FIG. 3. The configurations file(s) may take the form of several types of files, most notable of which are:
‘.mcr’ macro file—used to define all instrumentation setup
‘.dpg’ digital pattern generation file—used to define digital I/O vectors although other configuration files may be necessary to support ancillary support equipment.
Optional embodiments may include the ability to generate code for higher level programming languages such as ‘C’, TestBASICTM, etc. for macro debugging. After establishing the stimulus waveform configuration file(s) in step 56, the acquisition side of the tester must be programmed, step 58. The acquisition configuration file(s) have a default ‘.pdc’ extension as part of the storage file name. The .pdc defines all parameters relating to the acquisition portion of the tester—this includes the sampling rate, active channels (rows), etc.
The first pass of acquisition is a special case in that it is performed without any faults inserted to establish a baseline functional reference (aka ‘golden waveform’) and is also used to create a default condition based upon the non-faulted UUT responses, e.g., the waveforms. The baseline may be a single test or even a group of tests depending on the size and nature of the target UUT 8, collectively, the test or group of tests is referred to as at least one “first test”. In most instances, it is desirable to include fault diagnostics as part of the TPS. Limited TPSs that simply screen UUTs for fully functional operation (as called Go/No-Go testing) and indicate just a pass or fail indication are also possible with the disclosed invention. Such a type of testing, known to those skilled in the art to which this invention pertains, is used to screen UUTs as to whether they are usable (fully functional).
A fully functional UUT would be put through its paces and all the tests that would be necessary to screen the UUT would be integrated first. Once this is complete, integration of diagnostic tests (where faults are inserted) would commence (as described herein). Once a TPS is started, the approach (manual/automated) would not change mid-path (i.e., if started out manually (FIG. 2), automated fault insertion (FIG. 6) would not be used, and vice-versa).
During TPS development (that includes fault diagnostics), a fault, step 60 would be physically inserted into the UUT 8 to cause specific circuitry to fail.
Following fault insertion in step 60, the UUT would have all stimulus configuration files executed in step 62 such that all stimuli have been applied to provide a normal UUT operating environment followed by the execution of the acquisition configuration file(s) in step 64. After execution of the acquisition configuration file(s) in step 64, a fault signature is recorded. The rules (bounds) file (having a .bnd extension) is created from the acquired UUT waveform in step 66 within the invention's software toolset suite, as depicted in FIG. 4, that defines signal limits for each channel (row), callouts, alignment (correlation rules) and other criteria used to evaluate the plurality of captured signals. The first pass of acquisition is again a special case in that no callouts are used since it represents a passing condition (known good UUT).
FIG. 5 depicts passing and failing signal conditions. The passing signal (green) has upper and lower limits which are denoted by the area of hatched lines. The failing signal (red) contains a phase reversal resulting in sample point excursions into the hatched area denoted by the white ‘x’s. After the rules file is created in step 66, the fault inserted in step 60 is removed in step 68 and the process repeated for any additional faults that have been identified via a determination of the presence of any more faults in step 70. If another fault is sought to be used in the creation of the rules file in step 66, then the process returns to step 60 with this additional fault being inserted. The process then continues with steps 62, 64, 66, 68 and 70 in the form of a fault insertion and processing loop. Ideally, multiple and different faults are inserted.
Once there are no more faults as determined in step 70, a default rules file is created in step 72 based on non-faulted UUT responses, i.e., waveforms, and then the manual approach to test creation ends in step 74.
The TPS test approach embodied by the invention results in a repository of the plurality test files containing golden waveform(s), fault signature waveform(s) from inserted faults, associated stimulus/acquisition configuration files, rules (bounds) files and component callouts validated using a fully functional UUT coupled to the mixed signal test station 10. This repository is used to test UUT of the same type as the (known fully functional) UUT which is used to generate the test files. Generally, received signals responsive to stimulus signals provided to the fully functional UUT (with and without faults) are used to subsequently assess the presence or absence of faults in the UUT being tested. The UUT being tested may be determined to include one or more faults or be fault-free, i.e., fully functional.
The flowchart in FIG. 6 reflects how a single, exemplifying, non-limiting test is created using the computer analyzed (automated) approach. In this approach, after starting the test creation in step 76, the TPS developer would map input, output and bi-directional signals of the target UUT to appropriately matched connections on the mixed signal tester 10 in step 78 in the same manner as the manual approach, step 52. The target UUT circuit schematic would then be entered into a SPICE or similar circuit simulation software, step 80, to allow automated analysis of the circuit as well as fault insertion. The target UUT DC voltage requirements and stimuli would also need to be identified in step 82, in a manner similar to that of the manual approach, in step 54 wherein nodes to acquire output waveforms are identified. A fully functional UUT is not required for the computer analyzed (automated) approach because the waveforms are simulated/modeled via schematic entered in a simulator. However, as a practical matter, the passing (‘golden’) waveforms should be verified at a minimum on a fully functional UUT before the TPS is released for use.
In a preferred embodiment, the faults can be simulated or virtually induced via circuit simulation software automatically calculating the signals at each of the measured node points, effectively reducing or even eliminating the need to introduce physical faults within the target UUT. This is indicated by step 84 of calculating and applying stimulus waveforms. Whether the fault is simulated (virtually induced) or physically inserted in step 86, a fault signature needs to be defined through the use of a rules (bounds) file that defines signal limits for each channel (row), callouts, alignment (correlation rules) and other criteria used to evaluate the plurality of captured signals similar to what was done in the manual approach.
Step 88 provides for recording of the UUT output waveforms, while step 90 provides for creating a rules file for the fault with callout. After the rules file is created in step 90, if the fault was physically inserted, it would be removed (this step is not shown in FIG. 6 but is shown in FIG. 2) and the process repeated for any additional faults that have been identified via a determination of the presence of any more faults in step 92. If another fault is sought to be used in the creation of the rules file in step 90, then the process returns to step 86 with this additional simulated fault being inserted. The process then continues with steps 88, 90 and 92 in the form of a simulated fault insertion and processing loop.
When there are no more simulated faults to insert, it is important to determine the uniqueness of each rules file and whether a specific fault matches its specific rules file and no other. After all the rules files have been created, each simulated fault waveform is compared to each and every rules file to make sure that there is only one rules file which matches it. If more than one rules file is determined to be matching, one of two corrective actions may be taken.
First, if each group of matching rules files contains a reasonable small number of component callouts (i.e., two or three), the operator can specify to automatically consolidate those similar rules files into a single rules file and have the new rules file identify the group of component callouts to replace whenever this fault signature is matched in step 94. The maximum size of the component group may be specified by the operator.
Alternatively, each similar rules file can be manually examined to determine if the allowed X and Y axis tolerance values might be altered in such a way as to prevent other near-identical fault waveforms from matching. For example, the X axis tolerance may be made smaller (tighter) so that it is more unlikely for other similar faults to match an incorrect rules file. When no further consolidation is possible, the process ends at step 96.
In order to prevent ‘contamination’ of the fault dictionary, it is generally good practice to repeat the golden test(s) with a passing condition to insure the target UUT 8 was not damaged by the insertion of a physical fault. Such practices are generally described by a tester TPS style guide to insure TPS consistency among a group of TPS developers. Once all faults have been simulated or inserted, it may be necessary to create a default condition based upon the non-faulted UUT responses, i.e., waveforms, as was done in the manual approach.
The software toolset suite would also insure sufficient UUT component testing by comparing a reference bill of materials (BOM) for the target UUT. Often a TPS developer will create a TPS without knowing what percentage of components are addressed by fault callout messages. Upon initial undertaking of a TPS, the TPS developer would enter the BOM for the target UUT. As tests are generated, the software toolset suite would itemize the components specified in the fault callouts. A list of components not contained in any fault callout message would allow the TPS developer to keep track of the components which still need to be addressed as TPS development progresses and insure better test coverage and ultimately a more robust TPS. The software toolset suite would also employ statistical analysis of the captured data. Instead of a single one-shot capture which can result in a false sense of passing circuitry, the invention permits continuous triggering/alignment to determine a pass/fail ratio within any given rules file. This allows for real-time capture of any circuit anomalies and more rigorous testing of UUTs exhibiting intermittent failures.
The flowchart in FIG. 7 reflects how testing is performed, i.e., the testing stage using mixed signal test station 10, regardless of whether tests were created manually or via the computer aided approach. A single test is contained within a ‘.tst’ test file. The sequencing of tests is determined by a ‘.seq’ file which designates the order in which the tests are intended to run. The ‘.tst’ file contains all of the requisite information for execution of a single test by test station 10 and begins, after the start of testing in step 100, with the loading into controller 12 and execution, by a processing functionality resident in controller 12 and/or test station 10, of the specified stimulus configuration file (‘.mcr’ macro file containing all of the stimulus configurations and ‘.dpg’ digital pattern generation file information, if applicable), in step 102. At this point, the specified acquisition configuration file (‘.pdc’ file) is loaded into controller 12 and executed as well, step 104.
Following initial stimulus and acquisition setup, a rules file (‘.bnd’ file) is loaded into controller 12 that specifies the established rules for matching conditions/alignment/callouts, etc., step 106. Upon execution, the acquired waveforms are aligned to the rules specified in the ‘.bnd’ file, step 108. The aligned plurality of waveforms are then evaluated against the rules contained in the ‘.bnd’ file, step 110. If any evaluation matches as determined by a processor in the mixed signal test station 10 and/or controller 12, the testing terminates and the callout, which denotes the required corrective action, is extracted from the rules file and passed to operator, step 120 (via user interface 36). If the matching evaluation relates to the baseline (golden) waveform(s), a ‘UUT ACCEPTABLE’ or similar message rather than a callout containing suspect components would be passed to the operator by controller 12 to the user interface 36.
Multiple evaluations may take place within each test and each evaluation is contained within the ‘.bnd’ file. In a preferred embodiment, the order of evaluations is contained within a ‘.ndx’ file. The ‘.ndx’ file is a file that ranks the plurality of ‘.bnd’ files by the number of times each ‘.bnd’ file is matched and creates a hierarchy wherein the most probable ‘.bnd’ file is evaluated first. The ‘.ndx’ file may be automatically re-ordered (to change the evaluation order within a specific test for the following UUTs being tested) by software resident on computer-readable media at the mixed signal test station 10 and/or controller 12 according to the most frequent waveform matches, step 122. In this manner, the most likely failure evaluations within a specific test are analyzed first such that the execution time necessary for evaluation and overall testing can be reduced.
More specifically, in accordance with the invention, a method for evaluating units under test using a test station is envisioned wherein the evaluation sequence is optimized based on earlier results of testing and evaluating. A count of each matching waveform frequency, and thus the most likely failure evaluation, is conducted by the processing unit and a higher counted matching waveform indicates a higher risk of the evaluation failing. For subsequent evaluations, the order of evaluations in the tests is based on the risk of the evaluation failing since often it is desirable to see more quickly which evaluations a UUT fails.
As such, a plurality of evaluations in at least one test for testing the UUTs when each UUT is coupled to the test station is generated by the TPS developer. An initial sequence in which the evaluations are to be performed on a first article of the UUTs when coupled to the test station is generated or determined, e.g., by the TPS developer. This initial sequence is then put into the ‘.seq’ file when created and evaluations are performed on the UUT in accordance with this initial sequence. Each evaluation may be as in any of the embodiments described above, similar in performance to a test. For example, each evaluation may involve providing, using the waveform generating subsystem 18, stimulus signals to the UUT 8 via channels 20 and the physical interface 6, monitoring reception of analog sampling signals by the digitizing instrumentation 14 via analog sampling channels 16, and analyzing each of the received analog sampling signals relative to pre-obtained analog signals associated with the UUT 8 and which reflect the presence of a known fault in the UUT 8 to determine the pre-obtained analog signals which is a closest match to the received analog sampling signal.
The step of analyzing each received analog sampling signal relative to pre-obtained analog signals associated with the UUT 8 and which reflect the presence of a known fault in the UUT 8 does not require that a physical UUT actually have been used to derive the pre-obtained analog signals, and intentionally provided with component faults. Rather, it is possible to use a “virtual” UUT, i.e., one embodied in schematics. As such, the analysis, which is often performed by a processor, is of each of the received signals relative to pre-obtained signals actually received or expected to be received from a fully functional UUT of the same type as the UUT being tested after being provided with the same stimulus signals dependent on whether the UUT is a physical system or a virtual system. The expected received signals should be the same for the UUT whether a physical fully functional UUT is used for their derivation or a virtual (schematically implemented) fully functional UUT is used for their derivation.
The above tests and evaluations are in no way limited just to analog signals. These tests, and the evaluations forming the tests, may also involve the processing of input/output data to/from the UUT using digital subsystem 22, and/or utilize ancillary support equipment and/or sampling of RF signals produced by the UUT 8 using the higher speed sampling channels in one of the aforementioned embodiments. Generally, stimulus signals are provided to the UUT being tested, of one or more different signal types, and responsive received signals are analyzed relative to pre-obtained signals that are received or expected to be received when creating the test file using a fully functional UUT of the same type. As used herein, an evaluation may be considered the same as a test, with the exception that evaluations may be grouped together to form a test. In addition, since the term “evaluation” is subject to semantic interpretation, an evaluation may be any type of analysis that looks at one criteria of the signal (e.g., pulse rise time) or, in the alternative, it could look at a range of similar criteria (e.g., pulse rise time, pulse fall time, pulse width, pulse period, pulse duty cycle, etc.).
Upon the controller 12 determining which received sampled signal is a closest match to each pre-obtained signal, the identity of the known fault associated with the closest matching pre-obtained signal is retrieved, again using controller 12. In a preferred embodiment, the controller 12 would be coupled to some form of user interface 36 (e.g., display/keyboard/mouse/speakers/etc.) to convey the identity of the known fault and a possible corrective action to take or indicate that no fault is present in the connected UUT. The user interface 36 may provide a visual indication to the test personnel via a display system and/or an audible indication via a sound generating system functionality of the user interface 36.
Generally, mixed signal test station 10 is configured to generate a report of the testing by the processing unit of the UUT being tested in one of a variety of ways and formats, e.g., an audible report, a visual report, an electronic communication (e-mail or message) or a physical report, and the manner in which each of these can be generated is obvious to those skilled in the art to which this invention pertains in view of the disclosure herein. Thus, such report generation may be, but is not limited to, the generation of the visual display or audible indication of results of UUT testing via the user interface 36.
An alternate embodiment of the disclosed invention also includes tracking the frequency of each test failure similar to that of the ‘.bnd’ evaluations within each test. In this embodiment, the initial sequence of tests is revised based on the frequency that each test results in detection of a known fault notified to the operator via the user interface 36, e.g., via modification of the ‘.seq’ file. This minimizes unnecessary testing and as a result, tests that more frequently result in the detection of a known fault are ordered in the revised sequence of tests before tests that less frequently result in the detection of a known fault. This process can continue with repeated changes to the ‘.seq’ file during each TPS use on the mixed signal test station 10. In more specific embodiments, it is possible to maintain the original evaluation ordering file (‘.ndx’) as well as the original test sequence file (‘.seq’) on computer-readable memory storage medium.
The testing is then finished in step 118. If the evaluation in step 110 does not match and there are determined to be more rules files in step 112, the next rule is loaded/executed until there are no more rules to verify, a rules verification loop is thus formed by steps 106, 108, 110, 112. If this point is reached after the negative determination in step 112, a default rule is loaded in step 114, evaluated and the callout would be passed to the operator, step 116 before the testing finishes in step 118.
Generally, based on the flowchart in FIG. 7, a method for testing a UUT 8 in accordance with the invention includes generating a plurality of test files for testing the UUT using a UUT of that type that is known to be fully functional, the plurality of test files including at least one file containing data about a golden waveform, at least one file containing data about a fault signature waveform, stimulus/acquisition configuration files associated with the golden waveform and the fault signature waveform, at least one rules (bounds) file and at least one component callout, the test files being stored in at least one computer readable memory medium storage and constituting an automated waveform analysis fault dictionary. The UUT 8 being tested is coupled to the mixed signal test station 10 via physical interface 6.
The controller 12 selects one of the test files based on characteristics of the UUT 8 being tested, e.g., based on input from the test operator via a user interface 36 or automatically based on communications with the UUT 8 via the physical interface 6. For example, it is possible to configure the controller 12 and mixed signal test station 10 such that information about the UUT 8 being tested is obtained and provided to the controller 12 or processor at the test station 10, upon which a determination is made by the controller 12 or processor at the test station which one of the test files is designed for testing the UUT 8 based on the obtained information. A test file for the same type of UUT is sought. This determination may be made by reference to a list of UUTs for which each test file is suitable for use.
The selected test file is retrieved from computer readable memory medium storage associated with or accessible to the controller 12. A processing unit in the controller 12 performs testing of the UUT 8 by using tests, files, data, etc., in the retrieved selected test file. Visual display or audible indication of results of the testing of the UUT 8 coupled to the mixed signal test station 10 can be provided via the user interface 36.
In one embodiment, generating the test files entails, in test preparation stage when the UUT 8 being tested is not yet coupled to the test station, determining connections between available assets associated with the test station and the connections of the UUT 8 known to be fully functional, analyzing a circuit including the fully functional UUT 8 and identifying failure nodes where signals connect to the various channels of mixed signal test station 10. It is extremely important that the UUT 8 must be a fully functional, known good assembly before generating test files because otherwise a fault in the UUT being tested may not be detected, e.g., if it is the same fault as present in the UUT used to generate the test files. A set of stimulus configuration files to recreate an operating environment of the UUT 8 that is considered normal and determining a set of acquisition configuration files to acquire signals from the UUT 8 is also part of the test generation.
Each first test, or each of a series of first tests, of the fully functional UUT 8 without any faults inserted is accomplished by directing a stimulus waveform to the UUT 8, receiving a waveform in accordance with the stimulus/acquisition configuration files and generating a rules file from the received waveform to establish a baseline functional reference considered the golden waveform thus creating a default condition based upon the non-faulted UUT response, i.e., waveform. Depending on the complexity of the UUT 8, multiple (first) tests may be required to establish a golden set of waveforms that reflect the normal operating state of the UUT 8.
Following the initial golden waveform test(s), at least one additional test of the fully functional UUT 8 is performed or conducted by physically inserting a fault into a component of the UUT 8 and then directing the stimulus waveform(s) to the UUT 8, receiving the waveform in accordance with the stimulus/acquisition configuration files. Another rules file would be generated based on the received waveform of the intentionally faulted, but otherwise fully functional UUT 8, which should differ from the golden waveform(s) and tagged with information reflecting the fault inserted into the UUT 8.
An alternative technique to generating the test files manually entails determining connections between available assets or connections associated with the computer and the connections of the UUT 8 known to be fully functional, entering a circuit including a schematic of the UUT 8 into circuit simulation software, executing the circuit simulation software to analyze failure nodes where signals could connect to the various channels of mixed signal test station 10. The simulation software would ideally also identify locations of potential faults, determine a set of stimulus configuration files to recreate an operating environment of the UUT 8 that is considered normal, and determine a set of acquisition configuration files to acquire signals from the UUT 8.
The first test of the fully functional UUT 8 is analyzed or performed without any faults inserted by directing a stimulus waveform to the UUT 8, receiving a waveform in accordance with the stimulus/acquisition configuration files and generating a rules file from the simulated waveform to establish a baseline functional reference considered the golden waveform and create a default condition based upon the non-faulted UUT response.
As was the case with the manually inserted faults, multiple (first) tests may be required to establish a golden set of waveforms that reflect the normal operating state of the type of UUT 8 depending on its complexity. Following the initial golden waveform test(s), at least one additional test of the fully functional UUT 8 would be simulated by inducing a virtual fault within the UUT 8 and then directing the stimulus waveform(s) to the UUT 8. The resulting waveform simulation in accordance with the stimulus/acquisition configuration files would be recorded and another rules file would be created based on the simulated waveform from the virtual fault inserted in the UUT 8. A rules file would be generated based on the simulated waveform of the virtual fault within the UUT 8, which should differ from the golden waveform(s) and tagged with information reflecting the virtual fault used to analyze the UUT 8. The manner in which this tagging is implemented may be via a software routine to link data.
Generating test files involves the creation of stimulus configuration files that each store all programming parameters necessary to recreate a normal operating environment of a respective one of a plurality of different components and functional units of the fully functional UUT 8 by generating the stimulus waveforms to be applied to the UUT 8 which cause the UUT 8 to operate in accordance with its normal operating environment. The generated stimulus configuration files are included in each of the test files. Similarly, test file generation also involves the creation of acquisition configuration files that each store all programming parameters for a respective one of a plurality of different components and functional units of the UUT 8 that enable capture of output waveforms from the UUT in response to the input stimulus waveforms. The generated acquisition configuration files are also stored in each of the test files.
As mentioned above, with reference to the bill of materials (BOM), to ensure the presence of a test for each component or functional unit of the fully functional UUT 8, it is possible to generate at least one test for a first component or functional unit of the UUT 8, and determine whether there are any additional components or functional units of the UUT 8 for which at least one test has not been generated by referring to a list of components and functional units of the UUT 8 using the BOM. This determination may be a manual determination or may be programmed to be effected by the processor in the mixed signal test station 10 or controller 12. When it is determined that there is an additional component or functional unit of the UUT for which at least one test has not been generated, at least one test is then generated for the additional component or functional unit of the UUT 8. The additional component or functional unit presence determination step is repeated until it is determined that there are no outstanding components or functional units of the UUT 8 for which at least one test has not been generated (all of the components and functional units in the UUT 8 (via the BOM) have associated callouts. Thus there is at least one test for every component and functional unit on the list of components and functional units of the UUT 8.
Mentioned above is a rules file, e.g., steps 66, 72 and 90 for creation thereof using a fully functional UUT and step 106 for use thereof for testing the same type of UUT but not known whether it is fully functional or has faults. Such a rules file is an integral component of embodiments of the invention used to enable and execute waveform analysis processes. A single rules file typically contains all of the information necessary for the analysis process to make a determination of whether the current set of test waveforms has sufficient similarity to the acquired waveforms belonging to a specific predetermined fault to merit that determination.
That is, if one of the current set of waveforms is similar to a waveform arising from a fully functional UUT 8 with a predetermined fault, similar to an extent above a threshold, then it is considered that the current (functionality-unknown) UUT 8 is not acceptable and user interface 36 alerts the operator with a callout indicating the predetermined fault. Thus, by analyzing output waveforms from a UUT 8 being tested, upon input of a known waveform, relative to waveforms output from a UUT of the same type as UUT 8 (and known to be fully functional, possibly even the same UUT when it was earlier known to be fully functional) when subjected to different, known faults, the presence of any one of those faults in the UUT 8 being tested can be detected.
Typically, the rules file will be one of a plurality of rules files (denoting most, if not all, of the possible faults of an electronic circuit) and will be stored in a directory, or directories, of rules that will be accessible to the analysis process. Each rules file is embodied in computer-readable memory storage media accessible by a processor when executing a computer program designed to access the rules files. The use of files and directories is a preferred embodiment of rules storage for this invention, but other storage arrangements, such as databases will be obvious to those skilled in the art.
Specifically, the rules file each includes, but is not limited to:
a) Data value parameters supporting and describing the waveform envelope that the test waveform(s) should exist within, such parameters including, but not being limited to, X axis values, upper and lower Y axis values, basis waveform values, rule limiter position values and tolerance position values;
b) Process value parameters defining the values which either existed when the rule was created and used in the rule creation, or to be used to guide how the rule is compared to the test waveform during testing, such parameters including, but not being limited to, error count threshold values, tolerance threshold values, data precision, maximum rule truncation allowed, passing alignment threshold, maximum rule shift allowed, and fulltime alignment flag;
c) structure tables defining the matrix of which rule(s) to apply to a test waveform set which may consist of multiple waveforms; and
d) data defining the condition (‘golden’ or faulty) that the rule waveform represents and/or a corrective action to apply should the test waveform be deemed similar to the rule waveform.
By design, each rules file independently supports a unique circuit fault and may describe entirely different circumstances of how to process its comparison to the test waveform. In an alternative embodiment, each rules file may contain many instances of different faults and their associated support values. In this case, each waveform in the rules file would be analyzed against the test waveform and when a positive comparison is made, the fault callout for that specific waveform in the rules file would be returned to the operator.
One of the advantages provided by embodiments of the invention is that it provides for simultaneous asset use using a parallel test approach. Since all channels of all instrumentation assets, e.g., sets of channels 16, 20, 24, 28, 32, can be operated/analyzed simultaneously the typical signal bottleneck is eliminated. This approach allows testing of multiple signal nodes of a single UUT resulting in a substantial reduction in test program set (TPS) runtime when compared against the traditional serial functional test approach.
To this end, the physical interface 6 shown in FIG. 1 may be an interface system having a number of interface components and by providing multiple interface components, the interface system can be configured to support a plurality of UUTs. Since most UUTs have unique interface requirements, the physical interface 6 would be tailored for each specific UUT 8 that would connect to the test mixed signal station 10. More specifically, a respective stimulus signal can be provided each of the waveform generation channels 20, digital subsystem 10 pins 24, DC power channels 28 or ancillary support component channels 32. One or more respective analog/digital/RF/ancillary signal inputs can be received from the signal nodes of the UUT 8 by the digitizing instrumentation channels 16, digital subsystem 10 pins 24 or ancillary support inputs 32. The test station 10, by design, enables simultaneous and parallel testing (capture/analysis) of the plurality of signal nodes within the UUT 8. This analysis is as described above to ascertain whether one of the received signal inputs are indicative of a fault within the UUT 8.
Since the physical interface 6 may be custom tailored, it can be provided with interface components to enable it to interface with a shop replaceable unit (SRU) and a line replaceable unit (LRU) which comprises a plurality of smaller scale SRUs. Such interface components are known to those skilled in the art to which this invention pertains, as well as what is constituted by an SRU and an LRU.
As used herein, the controller 12 is an example of a processor, processing unit or processing system. These terms connote electrical hardware and associated software that enable the hardware to perform functions including but not limited to computational, communications, data management, data storage functions. One skilled in the art would readily understand what the physical components of such a unit are in view of the disclosure herein.
Among other functions performed by the controller 12, it can perform simultaneous processing of tests. To this end, the controller 12 can be configured to cause a waveform generating subsystem channel 20, digital subsystem 10 pin 24, DC power channel 28 or ancillary support component channels 32 to simultaneously provide stimulus signals to the UUT 8 when coupled to the test station via the physical interface 6. The controller 12 can also monitor analog/digital/RF/ancillary signal inputs from the UUT 8 using the digitizing instrumentation channels 16, digital subsystem 10 pins 24 or ancillary support inputs 32 which pass through the physical interface 6. The controller 12 then analyzes, simultaneously, each of the received input signals relative to pre-obtained input signals associated with the UUT 8 and which reflect the presence of a known fault in the UUT 8 to determine the pre-obtained input signals which is a closest match to the received input signal. Upon determining which of the received input signals is a closest match to each pre-obtained input signal, the controller 12 retrieves the identity of the known fault associated with the closest matching pre-obtained input signal, e.g., from a memory component within or associated with the controller 12. The controller 12 then outputs the identity of the detected fault via the user interface 36.
Controller 12 is also capable of sequential processing in which the controller 12 is configured to cause the various stimulus subsystems 18, 22, 26, 30 to sequentially provide stimulus signals to the UUT 8 when coupled to the test station 10 via the physical interface 6, and monitor reception of input signals by the various sampling subsystems 14, 22, 30 and the physical interface 6. Controller 12 also analyzes each received input signal relative to pre-obtained input signals associated with the UUT 8 and which reflect the presence of a known fault in the UUT 8 to determine which pre-obtained input signal is a closest match to the received input signal. Upon determining which received input signal is a closest match to the pre-obtained input signals, the controller 12 retrieves the identity of the known fault associated with the closest matching pre-obtained input signal, e.g., from a memory component within or associated with the controller 12. As before, the user interface 36 conveys the identity of the known fault(s) to the operator.
A typical scenario for use of all of the embodiments of the mixed signal testing system disclosed above is where the tester handles both stimulus and response signals. However, this is not required. It is contemplated that the invention also encompasses a mixed signal testing system wherein the tester could be used only for response (i.e., monitoring) whereby the stimulus is supplied by another source, e.g., an external source, or self-sourced by the UUT such as a BIT (built-in-test) capability. The mixed signal testing system would then only handle the processing of responsive signals in any of the ways described above.
An even more specialized mixed signal testing system is where the tester is stimulus only and the UUT has the means for receiving and providing status results from the stimulus signals (i.e., a visual indicator). The mixed signal testing system would thus only handle the generation of the stimulus signals and the manner in which evaluations are performed, as described above. Accordingly, it is not required that a mixed signal testing system in accordance with the invention include structure and processing functionality to enable stimulus signals to be generated and also structure and processing functionality to provide signals from a UUT received in response to the so-generated stimulus signals, and indeed, either of these structures and processing functionalities can be provided without the other, although the most likely use of the mixed signal testing system in accordance with the invention is including both structures and processing functionalities.
With respect to the formation of the TPS used in the mixed signal testing system, a TPS providing fault diagnostics would be used in most embodiments. However, as noted above, sometimes the mixed signal testing system is not used for both stimulus signal generation and directing to the UUT and receiving signal processing, but only for one of these functions. It is therefore possible to generate a response only TPS, or a stimulus only TPS. Moreover, it is possible to generate a screening TPS which has no diagnostics. This type of TPS is not as common for use as a TPS involving fault diagnostics but would be more common than a response only TPS and likely more common than a stimulus only TPS.
In the context of this document, computer-readable medium or media could be any means that can contain, store, communicate, propagate or transmit a program for use by or in connection with the method or arrangement disclosed above. The computer-readable medium can be, but is not limited to (not an exhaustive list), electronic, magnetic, optical, electromagnetic, infrared, or semi-conductor propagation medium. The medium can also be (not an exhaustive list) an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable, programmable, read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disk read-only memory (CD-ROM). The medium can also be paper or other suitable medium upon which a program is printed, as the program can be electronically captured, via for example, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory. Also, a computer program or data may be transferred to another computer-readable medium by any suitable process such as by scanning the computer-readable medium.
Computer software is also considered part of the invention and various programs are disclosed above. One program is configured to be executed by a processor to test a UUT by selecting one or more test files based on characteristics of the UUT being tested, retrieving the selected test file(s) from at least one computer readable memory medium storage, causing the processor to perform testing of the UUT being tested by using data in the retrieved selected test file(s), and generating a report of the testing by the processing unit of the UUT being tested. The same computer program or a different computer program is also configured to generate each test file to include at least one file containing data about a golden waveform, stimulus/acquisition configuration files associated with the golden waveform, at least one rules (bounds) files and at least one status message or component callout. The test files are stored in the computer readable memory medium storage and constitute an automated waveform analysis dictionary.
The computer program may also be configured to evaluate each generated rules file to determine uniqueness of the rules file, and when such evaluation determines that one of the generated rules files is not unique and thus the same as another of the generated rules files, merge the same generated rules files into a single rules file.
Another program is configured to be executed by a processor to conduct tests of at least one type of UUT using a mixed signal test station by creating a plurality of evaluations for testing the type of UUT when each UUT is coupled to the mixed signal test station based on signal analysis involving a fully functional (virtual or physical) UUT of that type, creating an initial sequence in which the evaluations are performed on a first article of the type of UUT being tested when coupled to the mixed signal test station, and performing the evaluations on the UUT being tested in accordance with the initial sequence using the mixed signal test station. This latter step entails monitoring reception of signals via a first plurality of channels that are generated in response to stimulus signals, analyzing, using a processor, each of the received signals relative to pre-obtained signals associated with the at least one UUT and which reflect the presence of a known fault in the at least one UUT to determine which pre-obtained signal is a closest match to the received signal, and upon determining which pre-obtained signal is a closest match to each received signal, retrieving the identity of the known fault associated with the closest matching pre-obtained signal, and outputting via a user interface, the identity of the known fault and a possible corrective action to take or an indication that no fault is present in the UUT. Optionally, the stimulus signals are provided using a signal generating subsystem via a second plurality of channels.
Yet another computer program is configured to be executed by a processor to conduct tests of at least one type of UUT by creating a plurality of evaluations for testing the type of UUT when each UUT is coupled to the mixed signal test station based on signal analysis involving a fully functional UUT of that type, creating an initial sequence in which the evaluations are performed on a first article of the type of UUT being tested when coupled to the mixed signal test station, and then performing the evaluations on the UUT being tested in accordance with the initial sequence using the mixed signal test station, at least some of the evaluations resulting in detection of a known fault with the UUT. Further, the computer program revises the initial sequence of evaluations to form a revised sequence of evaluations based on frequency that each evaluation results in detection of a known fault such that evaluations that more frequently result in detection of a known fault are ordered in the revised sequence of evaluations before evaluations that less frequently result in detection of a known fault, and then performs the evaluations on another UUT being tested in accordance with the revised sequence using the mixed signal test station.
Having thus described a few particular embodiments of the invention, various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications and improvements as are made obvious by this disclosure are intended to be part of this description though not expressly stated herein, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only, and is not limiting. The invention is limited only as defined in the claims and equivalents thereto.

## Claims

1. A method for testing a type of unit under test (UUT), comprising:
generating at least one test file for testing the type of UUT, each of the at least one test file including at least one file containing data about a golden waveform, stimulus acquisition configuration files associated with the golden waveform, at least one rules (bounds) file and at least one component callout, the at least one test file being stored in at least one computer readable memory medium storage and constituting an automated waveform analysis dictionary;
coupling a mixed signal test station to a UUT being tested of the same type, the mixed signal test station including a processing unit;
selecting, using the processing unit, at least one test file based on characteristics of the UUT being tested;
retrieving the selected at least one test file from the at least one computer readable memory medium storage;
causing the processing unit to perform testing of the UUT being tested by using data in the retrieved selected at least one test file; and
generating a report of the testing by the processing unit of the UUT being tested.

2. The method of claim 1, wherein the step of generating at least one test file comprises generating a plurality of test files and the step of selecting, using the processing unit, at least one test file based on characteristics of the UUT being tested comprises selecting at least one of the plurality of test files based on characteristics of the UUT being tested.

3. The method of claim 2, further comprising providing the processing unit with access to the at least one computer readable memory medium storage in which the test files are stored, the step of selecting, using the processing unit, at least one of the test files based on characteristics of the UUT being tested comprising obtaining information about the type of UUT being tested and then determining which one of the test files is designed for testing the type of UUT being tested based upon the obtained information, the determined one of the test files being selected.

4. The method of claim 1, wherein the step of generating a report of the testing by the processing unit of the UUT being tested comprises causing the processing unit to generate a visual display or audible indication of results of the testing of the UUT being tested via at least one user interface.

5. The method of claim 1, wherein the step of generating the at least one test file for testing the type of UUT comprises, for each test file being generated:
determining connections between available assets associated with the mixed signal test station and the connections of a fully functional UUT of the same type;
analyzing a circuit including the fully functional UUT and identifying failure nodes where signals connect to channels of mixed signal test station;
determining a set of stimulus configuration files to recreate an operating environment of the fully functional UUT that is considered normal;
determining a set of acquisition configuration files to acquire signals from the fully functional UUT;
performing at least one first test of the fully functional UUT without any faults inserted, each of the at least one first test being performed by directing a stimulus waveform to the fully functional UUT, receiving a waveform in accordance with the stimulus/acquisition configuration files and generating a rules file from the received waveform to establish a baseline functional reference considered the golden waveform thus creating a default condition based upon the non-faulted UUT response;
performing at least one additional test of the fully functional UUT by physically inserting a fault into a component of the fully functional UUT and then directing the stimulus waveform(s) to the fully functional UUT, receiving the waveform(s) in accordance with the stimulus/acquisition configuration files and generating another rules file based on the received waveform reflecting the inserted fault and being tagged with data about the inserted fault; and
after performing the tests of the fully functional UUT, generating a default rules file based only on non-faulted UUT responses.

6. The method of claim 5, further comprising:
evaluating each generated rules file to determine uniqueness of the rules file; and
when such evaluation determines that one of the generated rules files is not unique and thus the same as another of the generated rules files, merging the same generated rules files into a single rules file.

7. The method of claim 1, wherein the step of generating the at least one test file for testing the type of UUT comprises, for each test file being generated:
determining connections between available assets associated with the computer and the connections of a fully functional UUT of the same type;
entering a circuit including a schematic of the fully functional UUT into circuit simulation software;
executing the circuit simulation software to analyze failure nodes where signals could connect to channels of the mixed signal test station and identify locations of potential faults;
determining a set of stimulus configuration files to recreate an operating environment of the fully functional UUT that is considered normal;
determining a set of acquisition configuration files to acquire signals from the circuit including the schematic of the fully functional UUT;
simulating at least one first test of the UUT without any faults inserted, each of the at least one first test being simulated by directing a stimulus waveform to the circuit including the schematic of the fully functional UUT, receiving a waveform in accordance with the stimulus/acquisition configuration files from the circuit including the schematic of the fully functional UUT and generating a rules file from the simulated waveform to establish a baseline functional reference considered the golden waveform and create a default condition based upon the non-faulted UUT response;
simulating at least one additional test of the UUT by inducing a virtual fault into the circuit including the schematic of the fully functional UUT and then directing the stimulus waveform to the circuit including the schematic of the fully functional UUT, recording the resulting waveform simulation in accordance with the stimulus/acquisition configuration files and generating another rules file based on the resulting waveform simulation and being tagged with data about the induced fault; and
after simulating the tests of the fully functional UUT, generating a default rules file based only on non-faulted UUT responses.

8. The method of claim 7, further comprising:
evaluating each generated rules file to determine uniqueness of the rules file; and
when such evaluation determines that one of the generated rules files is not unique and thus the same as another of the generated rules files, merging the same generated rules files into a single rules file.

9. The method of claim 1, wherein the step of generating the at least one test file for testing the type of UUT using a UUT of that type that is known to be fully functional comprises, for each test file being generated:
generating acquisition configuration files that each store all programming parameters for a respective one of a plurality of different components and functional units of the a fully functional UUT of the same type that enable capture of output waveforms from the fully functional UUT in response to input stimulus waveforms; and
including the generated acquisition configuration files in the test file.

10. The method of claim 1, wherein the step of generating the at least one test file for testing the type of UUT comprises, for each test file being generated:
generating acquisition configuration files that each store all programming parameters for a respective one of a plurality of different components and functional units of a fully functional UUT of the same type that enable capture of output waveforms from the fully functional UUT in response to input stimulus waveforms; and
including the generated acquisition configuration files in the test file.

11. The method of claim 1, wherein the step of generating the at least one test file for testing the type of UUT comprises, for each test file being generated:
generating at least one test for a first component or functional unit of a fully functional UUT of the same type;
determining whether there are any additional components or functional units of the fully functional UUT for which at least one test has not been generated by referring to a list of components and functional units of the fully functional UUT;
when it is determined that there is an additional component or functional unit of the fully functional UUT for which at least one test has not been generated, generating at least one test for the additional component or functional unit of the fully functional UUT; and
repeating the additional component or functional unit presence determination step until it is determined that there are no outstanding components or functional units of the fully functional UUT for which at least one test has not been generated and thus there is at least one test for every component and functional unit on the list of components and functional units of the fully functional UUT.

12. The method of claim 1, wherein each of the at least one test file further includes at least one file containing data about a fault signature waveform and stimulus/acquisition configuration files associated with the fault signature waveform.