![]() |
Tech Note |
|
by Vaughan Carlson
Introduction What could possibly be more important to a Test Engineer than the yields that his test programs produce? We all take pride in our work, and our effectiveness is measured by the quality of the product that leaves our tester proceeding to the next level of test. Our jobs also include making sure the program fault isolates properly, that it minimizes false failures, that it runs in an efficient manner, and a myriad of other duties. The development costs do have a point of diminishing return. If you enjoy a 98% yield at the functional tester after testing your board at ICT, you should study the failures at FCT to determine if you can detect these faults at ICT. But how do you know when your program is completed? You could spend days implementing a test for a part that will never fail again! The FCT failure could be a device from a manufacturer that is being disqualified, and your test would be superfluous. You could even be chasing false failures from functional testing! This paper will describe means of decreasing the test time and increasing the fault coverage, thereby improving the effectiveness of ICT. Streamlined means of implementing these tests can provide a way to perform this while decreasing the development time. 1. Design for Testability Let us start with the design of the board to ensure a proper springboard into a streamlined process of fixture and program development. If the board is designed properly with Design for Testability (DFT) criteria in mind, it can assist in decreasing the test and development times, as well as improving the fault coverage. Non-compliance to these DFT issues can cause latent defects in digital devices due to unnecessary backdriving, or it may cause devices to be untestable. A summary of the key DFT issues are:
2. Test Strategic Devices Before Power-Up Some devices, such as relays and opto isolators, are often easier to test before board power is applied. I like to PGEN them into the program with the ADOF token so they are placed in the Power-Off/Analog section. This provides a way to test devices before board power is applied, since power device testing can be consuming in the test time or in the development time. Devices that I test in this manner are: Power-On-Reset devices (such as the DS1232 and the MC33064), opto couplers and opto isolators, relays, transformers, and voltage regulators. I have documented the tests for transformers and optical devices in previous Applications Papers, so I will use a relay as an example this time. (Refer to my Applications Paper presented at the 1996 TUG for details on implementing these tests.) Using a 16 pin Dual-Pole / Dual-Throw relay as an example, I would implement the test as shown in the following process. I have a template library for these called R5V_DPDT, R12VDPDT, etc. The test is multiple pages, as follows:
3. Testing Switches & Potentiometers in High-Volume Applications To test time-consuming devices where operator intervention is required (such as a switch or a potentiometer), some users skip the tests or they spend too much time testing them. If these parts never fail, it would not be worth the test time to thoroughly test them. But mechanical devices do fail: switches have a tendency to stick on one position and for adjacent switches to connect together, and potentiometers sometimes have the wrong value loaded. Following are some ideas for testing such parts. For switches, it is important to toggle each contact on and off to ensure "make" and "break". In piano-style switches, you often have 8 switches in a package, and many users have found it to be important to flip these switches individually to ensure the switches are not stuck together. (If the boards are washed, switches will rust if they get wet, and this becomes a very important step.) However, such thorough testing can be very time consuming. One solution for a very high-volume application is to automate this with robotic arms. Otherwise, you are stuck with a compromised test or with a long test time. A simple means of compromising the test that will give a fast test time and will provide a make and break test (but will not check the switches for individual operation) is to close the switches before the test, verifying the "make" contacts in the Jumper Section. You would follow that test after shorts in the Switch Section with a prompt for the operator to open the switches, and then test for the "break" operation. This way, you are only moving the switch once. This can be optimized for test time with the repeat page routines (built into the "PRE / Option Variables" menu, using a short delay, and a repeat mode of "while failing") since it will automatically proceed with the test when passing. Please notice that shorts tests are compromised when testing in this manner, and that, depending on how the switches are wired, you may be missing shorts with this approach. Extra tests with resistance measurements should be added when this is the case. For potentiometers and rheostats, many users have found that the common faults are wrong parts because they are often hand-loaded because of their size. I recommend that rheostats be tested when tweaked almost fully open to verify their value. To save test time to minimize operator intervention, I would use wide tolerances. For example, a 10K? rheostat should be tested for 8.5K?? at about???????. I like to test potentiometers in the Discharge section by taking two resistance measurements: from pin 1 to pin 2 (the wiper), and from pin 1 to pin 3. Remember that you can guard pin 3 when testing from pins 1 and 2; you cannot guard pin 2 when testing pins 1 and 3. If these measurements are below your threshold for shorts testing, prompt the operator to tweak the pot. If they are above the shorts testing threshold, these tests are all that would be required. For example, pins 1 and 2 of a 5K? pot could be tested for LL 25? and UL 4.975K? (when shorts tests are at 25?), then test entire pot would be tested from pins 1 and 3 for the 5K?. Another idea for streamlining the potentiometer and rheostat testing is to tweak the value of potentiometers (and rheostats if you like) to the approximate value needed at functional testing to save test time at that level of testing. 4. Testing Operational Amplifiers and Voltage Comparitors I have found that most users test Op Amps by toggling their inputs while measuring the outputs to drive near the power rails. However, this will not detect a difference between an Op Amp (such as an LM393) and a Voltage Comparitor (such as an LM339). If the board uses both devices, it would be common to see these devices interchanged, so it is important to test for it. A linear test is needed to ensure the correct part is loaded. The test for a Voltage Comparitor will simply drive the input voltages to ensure the voltage on the "+" pins is higher than the "-" pin, which will cause the output to go to the "+" power rail. Then test with the opposite polarity, and the output will go to the "-" power rail. The test of an Op Amp would be in two parts. First, test its operation to match that of a Voltage Comparitor. Remember that an Op Amp will not drive all the way to the power rails (but will be at least one diode drop below the rails). [For example, for an Op Amp powered to +/- 12V, when the (-) input is driven to a lower voltage than the (+) input, the output will go to a maximum of 11.3V.]Of course, repeat this for the opposite polarity to ensure the Op Amp will drive to both rails. Secondly, perform a linear test. You will need to drive a test voltage using a series resistor on the input lead and a feedback resistor between the "-" input and the output; these are almost always on the board. Notice that virtual ground is very sensitive to ICT probes which can cause uncontrollable oscillation, and will sometimes require isolation through a fixture relay. In order to ensure a Voltage Comparitor does not have an Op Amp inadvertently installed, I have placed feedback resistors in the fixture, applied a DC Voltage through a series resistor to ensure the test is NOT linear. 5. Testing Memory Devices Most users find that digital testing is much easier than unpowered analog or powered linear testing, so the test coverage is usually good especially when using the Fault Inject tools of the Z18XX. Digital tests are executed fast enough from a test time perspective that abbreviated tests usually do not appreciably help the test time. I will therefore only cover PROMs and RAMs to provide some test ideas for digital testing. Testing RAMs can be very cumbersome if a full cell check is desired. The test time is fast (usually within a few milliseconds) compared to analog testing, but excessive test patterns can cause undue backdriving. A simple "Walking One" and "Walking Zero" test will detect the manufacturing defects. You will need to write unique patterns into each cell to really verify the proper addressing of the RAM. Many users like the idea of writing the address into the data, then reading it back out. This is very time-consuming from a backdriving standpoint, and can cause latent defects in your boards. You must determine if the extra testing is necessary by studying the failures from the field and from the functional testers to discern if simple "walking" tests would have sufficed. Most users would test a PROM with Gray Code, applying the several frequencies
on the address bus, and merely measuring for CRCs on the data bus. As
PROM sizes have increased, we have seen that the 14 frequencies in the
Z18XX cannot provide enough address inputs to thoroughly test each cell
of the PROM. Let us take the 27C010 OTP as an example, which as 17 address
lines. It would take 2 17 (= 130,000) vectors to fully test this PROM.
Several options present themselves:
6. Tips Regarding Test Time Following are a few ideas for reducing the test time for a board. These
can be real cost-savers in the recurring costs at ICT.
Testing Large Boards with Insufficient Z18XX Tester Pins When testing a large board on an in-circuit tester, we always dread the scenario when the board has more nodes than the tester. Some users have small pin count systems because 99% of their boards are under that threshold. What do you do with that 1%? Or what do you do when you have a tester pin limited to 1,023 nodes, but you are testing a board with 2,200 nodes? The first and most obvious solution is to purchase more D/R cards or upgrade to a larger tester. However, most managers would reject this costly proposal. Another possible solution would involve building multiple fixtures, but this is not a feasible option for the following reasons:
The best solution is to wire-or the fixture so that some tester pins are tied to two or three nodes on the board. I have implemented a test for a telecommunications board with about 2,200 nodes on a Z1860 with 1,024 pins. I have also implemented a CPU and memory board with 2,400 nodes on a similar tester. If you take this step-by-step approach, perhaps you can implement this too, but without my iterations of mistakes. For the purpose of simplicity, the procedure below is provided for cases when the number of UUT nodes is less than 80% more than the number of tester pins. For larger boards, you will need to perform another iteration of the procedure. It is assumed that analog boards do not propose a node count issue. However, the use of the Mask described below will work for analog applications. A "Mask" is used for cases where boards do not have ample tri-stateable devices to safely wire-or the outputs. This Mask is a thin plate of G10 fixturing material that is drilled for a portion of the nodes only. Notice that power wiring, power nodes and the guards must be drilled on both Masks. This Mask will be placed between the board under test and the fixture to allow only a portion of the desired points to contact the board. The following procedure will show the means of implementing wired-or testing for digital boards. Examples of how this would be implemented with a tester with 1,024 pins and a board with 1,500 nodes will be provided within [brackets].
|
|
Home | Company in Brief | Street Map | Log In | Log Out Test Engineering | Reverse Engineering | Tech Notes | References | Reports |
||
|
VALUE Engraphing 7910 South Memorial Parkway, Suite F, Huntsville, AL 35802 Phone: (256) 880-8082 Fax: (256) 880-3154 Email: info@valueeng.com |
|
| (C)Copyright 1999-2009 by VALUE Engraphing | ||