MICROCONTROLLER HARDWARE TESTS
Besides ensuring the quality of the card body, one of the primary tasks of quality assurance is to ensure that the microcontroller is in good working order. The microcontroller is the most important and most vulnerable component of a modern smart card. The CPU and memory are subjected to a variety of tests starting with the semiconductor fabrication stage. In order to allow these tests to be run, every microcontroller has a test ROM containing various programs that support external access to the CPU and memory. In addition, there are sometimes special pads (contacts) that allow free access to the central buses of the processor. During fabrication, needle probes are used to contact the appropriate pads on the chip to allow the necessary test programs to be run. These pads are cut off when the chips are sawn from the wafer, in order to prevent them from later being used for attacks. This means that it is no longer possible to access the internal buses of the chips. Once the die has been packaged in the module, another test is naturally performed using the module contacts. This often only amounts to performing an activation sequence and seeing whether an ATR can be received. If this is possible, it is assumed that the chip has not suffered any serious damage while being packaged into the module and that all bonding wires are correctly connected. A similar ATR test is also made immediately after the module has been embedded in the body of the card. This test checks whether the module has been damaged by being briefly heated during the embedding process. The microcontroller is meticulously tested before the smart card is initialized. Test commands that are specifically allowed for this processing step are used.1 After successful completion of the test program, which lasts between 10 and 100 seconds, these commands are irreversibly blocked against further use. It is possible to perform these time-consuming tests at this stage without reducing throughput by using a large number of initialization machines operating in parallel, so that the duration of the test does not have a significant effect. The tests used here, to give some examples, check whether all EEPROM bytes can be written and again erased and whether the RAM is fully operational. If the chip is scratched during the bonding process, this could prevent some EEPROM cells from being properly written or cause certain regions of the ROM to have incorrect contents.

Various final tests are performed after the card has been initialized and personalized, depending on the manufacturer. This is usually done using fully automatic, self-calibrating testers that can configure themselves by reading data relevant to the tests from the smart card, following which they carry out the tests accordingly. In addition to the relatively simple and quickly executable tests undergone by all cards, there are also random sample tests that are only performed on individual cards. These cards, which are taken from regular production, can naturally also be subjected to destructive testing if necessary. Qualification testing and continuous random sample testing have also been addressed by the publication of the EN 1292 standard. It defines many different test procedures for microcontrollers. Typical sample and qualification tests for microcontrollers are:
–rise and fall times at the I/O contact (EN 1292)
–number of possible write/erase cycles in the EEPROM
–EEPROM data retention
–CLK overfrequency and underfrequency detection
–Vcc overvoltage and undervoltage detection
–I/O contact voltage (EN 1292)
–current consumption at the CLK input (EN 1292)
–current consumption at the reset contact (EN 1292)
–current consumption at the Vcc input (EN 1292)
–current consumption at the Vpp input (EN 1292).
Naturally, every card manufacturer also employs its own supplementary tests to cover special features of the embedded microprocessors. For example, there are special tests for the various sensors on the chip to allow each of them to be suitably tested.