Options, Bells & Whistles
DIR DIRP FILES
These three commands call the FreeDOS “DIR” command to let you view all of your files.
DIR shows the files in \MAXX\PROGRAMS where your standard test programs are located. You probably have a lot of these. I hope you will use a consistent file naming scheme to help find the one you want.
If you use PARTS programs for merging with TEMPLATES you can use DIRP to see a directory of these files.
\MAXX\FILES contains data files and any programs in ASCII format. The FILES command shows you a directory listing these files.
The commands above are shortcuts to use some FreeDOS functions but you can run most any FreeDOS command or external program by using the DOS command. This is not the same as “shelling to DOS”. This command allows you to use just one FreeDOS command or program and then returns to MAXX (where you can call it again if you what to).
Pressing <F1> displays the help document, which is divided into blocks of one screen full. You can browse through the document forward and backward and then return to the main program with <ESC>. The tester will continue to work while you do this except for functions that use the screen.
Maybe this is more important than a bell or whistle but it didn’t seem to fit elsewhere. Anyhow, the 500V reverse test supply can have its maximum voltage output programmed. This can be set individually for each of the four stations and the setting will be saved with the test program. Just enter LIMITER before joining the program to a station. You will be prompted for a limiter value.
This is particularly useful when testing wafers or chips where arcing is sometimes a problem. By the way, it is also a good idea when testing such parts to put a test early in the program to detect bad contacts and skip the rest of the tests when they occur. But I digress.
edit (or move) a program already joined to a station, where station 0
has already been erased to loaded with a different program. CHANGE copies the program in the current station to station 0 where is can be edited or joined to another station.
This is a diagnostic tool really but one you may find quite useful. There are two BNC connectors behind the front panel that you can program from the keyboard to produce sync pulses at the beginning and end of any selected test on the current station. This obviously is useful for trouble-shooting the tester but also very useful for observing how the device under test reacts to certain forcing conditions. With a digital scope you can get some really useful data. The command SYNC1 3 causes a sync pulse at the start of test 3 on the current station.
Enter DIAG to use a broad selection of tools for trouble-shooting or calibrating the tester. This stops all testing while you use it but does not destroy your counters or change your test programming setup.
There are lots of notes associated with these routines and other printed guides elsewhere. Enough said here except to highly recommend the use of this option.
Another diagnostic tool that allows you to stop the automatic handler connected to the current station so that you can repeatedly test the same diode. You can use the next option <Alt><1> to cycle the tester.
LOCAL START TEST
Pressing the <1> key while holding <Alt> will make a “start test” to the current station. If you STOP the current station (n) with STOPn, then use <Alt><1>, you can single step the handler.
There is a file called CUSTOM.TXT in \MAXX, which gets read when you start MAXX from DOS. This file contains lots of options that you can use to customize your version of MAXX. It even can be used to tweak the calibration of the 16Volt scale.
You should always read
and possibly edit this file when you install a software upgrade. You
may want to read it now to get familiar with the options. Use the
command EDIT CUSTOM.TXT from FreeDOS in the \MAXX directory or use DOS from within MAXX. Any changes go into effect next time you start MAXX.
SORTING BIPOLARS WITH LOOP
This program illustrates how the LOOP test can be used to sort bipolar parts with overlapping VZ. This is superior to the use of the BIPOLAR command, which is not very good for sorting. This program contains just enough to illustrate the point. Your program may contain more bin sorts and/or more tests.TEST3 VZ 10MA >10V <11V JF6
TEST4 IR 8V <100NA JF6
TEST5 EZT 10MA 10V <5MV JP21 JF75
TEST6 VZ 10MA >9.5V <10.5V JF75
TEST7 IR 7.5V <100NA JF75
TEST8 EZT 10MA 10V <5MV JP22 JF75
TEST21 LOOP 1 >2 F1 JF3 JP75
TEST22 LOOP 2 >2 F1 JF6 JP75
BIN1 TYPEA 21
BIN2 TYPEB 22
If test 3 passes, do the rest of the tests (4-5) for bin 1. If it fails try tests for bin 2.
If test 4 fails, the IR for bin 2 could still pass because the voltage is lower.
If test 5 fails just quit because it can’t pass test 8 either.
If test 5 passes then the part is good for bin 1 at least on the current side. Go to the counter for bin 1 (test 21). If this is the second call to test 21, it will pass and the part is a good bin 1. If this is the first call to test 21, the F1 will reverse the orientation and jump back to test 3 to test the second side.
If test 3 or 4 fails the second time around, the part could still be a good bin 2, so we will try test 6.
If either test 21 or 22 passes that means that it was performed twice, once for each orientation for the corresponding bin. It will do that only if the part is good. It is very IMPORTANT to include the loop test in your bin requirements, since the other tests may not show if the tests were passed TWICE.
If any of the tests for bin 2 fails just quit since bin 1 has already been eliminated.
Sorting parts by the tests they must pass is usually fairly easy. Most questions have to do with sorting the rejects. Some questions have to do with the fact that MAXX does not directly support a requirement that a test fail to allow a part in a given bin.
The following example shows how rejects can be classified in most cases by an elimination process. The example also shows however, how you can make an explicit fail requirement if you really need one.
Let’s suppose that we want to separate parts into 4 sorts (cells) by VZ. Each cell also has a common THETA test and we wish to make a sort for those parts that would be in cells 1-4 were it not for failing THETA.TEST 3 VZ 10MA >9.5V <10.5V
TEST 4 SLAVE 3 >9.5V <9.5V
TEST 5 SLAVE 3 >9.75V <10V
TEST 6 SLAVE 3 >10V <10.25V
TEST 7 SLAVE 3 >10.25V <10.5V
TEST 8 IR 90% <100NA T50
TEST 9 VF 100MA <1.1V
TEST 10 THETA 10MA 1A <10/WT10 D100 K1900 JP +2
TEST 11 MP
Test 11 will be performed and therefore pass only if test 10 fails. This creates a test that if required to pass will require test 10 to fail. However in this example it appears that this is not required.BIN 1 CELL 1 4 8 9 10
BIN 2 CELL2 5 8 9 10
BIN 3 CELL3 6 8 9 10
BIN 4 CELL4 7 8 9 10
BIN 5 FAIL_THETA 3 8 9
Bin 5 would have fallen into one of the bins 1-4 if it had not failed THETA. However some THETA failures may get by here if combined with other failures. There are 15 such possible combinations not counting shorts opens and bad contacts. Since we don’t have that many bins, we will have to combine some of these combinations. Let’s get the parts that are outside of the 4 VZ cells but good otherwise.BIN 6 FAIL_VZ 8 9 10
Now how about parts that would be good if not for IRBIN 7 BAD_IR 3 9 10
We are running out of bins here so let’s collect miscellaneous parametric failures:BIN 8 OTHER_FAILS NOSHORTS NOOPENS
Anything that gets this far must be a short, open, or bad contact.BIN 9 SHORTS NOOPENS
BIN 10 OPENS NOOPENS
BIN 1 RETEST
Bin 11 contains bad contacts. Normally (unless you specify otherwise in CUSTOM.TXT) bad contacts don’t get tested for anything. Therefore, they can’t even pass the shorts and opens tests or any other test, real or pseudo.
If you do edit CUSTOM.TXT to allow bad contacts to be tested, you may then need to explicitly require the contact test to pass using the symbolic test name CONTACT.
Although we did not make use of test 11 here to explicitly ask for test 10 (THETA) to fail, there may be some places where it is needed. If you have such an application we would appreciate a copy of it. Please let us know if we have your permission to use such an example in a future programming hint such as this one.
Finally, if the test
that you will use to bin fails (THETA in the example) is early in the
sequence rather than the last test, you would need some modifications.
The THETA test would jump on fail to the MP test, which would have an
UNCONDITIONAL jump back to the test just after THETA. Then the last
test in the regular sequence would unconditionally jump PAST the MP (to
test 75 for example).
STOP ON LOW YIELD
MAXX software includes facilities for alerting operators (or others) if a test station is running with a lower than expected yield. Each station can be programmed independently regarding, enabled or not, what yield is expected, and what bins indicate failures. Open clips may or may not be considered as failures. (Your choice).
If the yield drops below the programmed value of the station is halted, a message appears on the screen and a “BIN 14" is output to the interface. The user can use the bin 14 driver to activate a lamp, buzzer, or other indicator. A relay may be needed between the driver and the indicator in some cases.
The yield figure used by this facility is a “running” average. The default settings for this averaging routine make a reasonable compromise between rapid response to dropping yield and false alarms due to small statistical quirks or other very short-term disturbances. If our settings are too slow or too fast for you, please let us know and we will advise how they can be changed.
Currently the settings are such that if the parts suddenly start failing, the yield will drop by 1/250th of its current value for each failed part. For example: if the yield had been running at 90%, it would drop by 0.36% for the first failed part and slightly less for each successive failure. As you can see this is an exponential function with a time constant of about 254 machine cycles. Note that in the above example the yield would be decaying toward zero. If the limit were 80% it would reach that value in much less than one time constant.
SETTING IT UP
There are provisions in the file CUSTOM.TXT to enable or disable each station from doing this function. Currently the stations are all enabled in the file but the default parameters are such that no station will fail. You can follow the procedure below to setup realistic parameters.
The parameters programmed apply to the “current” station, so use <F4> to set the first yellow block cursor on the desired station. Then enter YLIMIT.
First you will be prompted for a yield limit between 10% and 90%.
You will then be asked for the “highest” bin number that is not a failure. With one exception description below all bin sort decisions higher than this will be counted as rejects for calculating yield.
Finally MAXX will ask for a bin sort number which is the lowest corresponding to open clips. Bin sorts equal to or higher than this will be ignored when calculating yield. If you would like open clips, etc. to be counted in the yield just enter a very high number here (such as 32).
After you enter the above values the function is ready to run and the initial yield is set to a value halfway between your limit and 100%. When the tester starts running the yield will begin to converge on the true value. You can see the current yield as well as the programmed setup at any time by entering the command YIELD.
If the station should halt and the alarm come on, you can reset it by “starting” the station and then testing at least one diode. This will set the yield back to its original value halfway between your limit and 100%.
There will be a message at the bottom of the screen advising you why the station stopped. However please be aware that this message could be erased by someone using the keyboard.