Software setup Flashing Functional test Fault analysis <SECTION_BAR> atben setup atusb setup Test procedure </SECTION_BAR>
To test an atben board, place a reference atusb board into the PC, insert the atben board into the Ben, and place both devices at the same location and with the same orientation used when acquiring the signal strength profile.

The two devices should be about 1 m apart. Their vicinity should be free from obstructions and items that can reflect or absorb RF signals. Such items include metal chairs and human bodies. Location and orientation should be easily reproducible, e.g., by marking the device's edges on the table with tape. Other transmitters in the 2.4 GHz band will interfere with measurements and should be kept as far away and as inactive as possible.

The test setup is the same as for atben testing, except that the DUT and reference device roles are reversed.

The test process is started from the directory `ben-wpan/prod/` with

    make ben

for an atben DUT and with

    make usb

for an atusb DUT. It performs the following steps:

- Enumeration (atusb only)
- LED (atusb only)
- GPIO scan
- Identification
- Crystal frequency
- Spectrum
- Receive
- Send

Of these tests, only "LED" and "Spectrum" require operator input. The other tests run without interaction.

The test scripts log the commands they execute and their output in the file `_log`. The enumeration test verifies that the atusb board has been identified by the PC's USB stack. If this test fails, the board may not be plugged in correctly or it may be missing the firmware. A board that has passed both stages of the firmware flashing process should always pass the enumeration test. In the LED test, the atusb LED blinks quickly until the operator decides whether it is working properly. To finish the test, the operator must type either P to pass, or F, or Q to fail. The GPIO scan outputs a series of test patterns on the I/O lines driving the transceiver and compares the state at which the lines settle with a set of expected values. This allows the detection of unconnected pins and of shorted traces.

If the GPIO scan encounters an inconsistency, it fails the test and writes a report to the file `_log`. This report contains a list of GPIO pins with their configuration, the expected value, and their actual value.

For example, a short between SLP_TR and VDD on an atben board would be reported as follows:

    name    cfg exp got
    SCLK    Z   -   1
    MISO    Z   -   1
    SLP_TR  Z   0   1       ***
    MOSI    Z   -   1
    nSEL    Z   1   1
    IRQ     Z   0   0
    at "zzozho", next "# reset state"

The configuration is 0 for a pin driven low, 1 for a pin driven high, Z for a pin in Hi-Z state, and R for Hi-Z state with a pull-up. This test reads the transceiver's registers that contain values identifying the manufacturer, the chip's part number, and the chip revision. If an atusb board fails this test, this probably means that the MISO signal between transceiver and the microcontroller has a problem.

On atben, failure may simply indicate an improperly inserted board. Eject the board, re-insert, and try again. If the test keeps on failing, this may indicate a problem with MOSI, MISO, nSEL, SCLK, the power supply, the crystal oscillator, or possibly the position of the transceiver chip.

Note: this test is meant as a higher level test. The GPIO test should eventually provide more detailed results for problems with the SPI interface. This test measures the frequency of the crystal oscillator in the DUT. On atben, it does this by transmitting packets, and measuring the time between the SLP_TR pulse that starts the transmission and the interrupt signaling the end of the transmission. On atusb, the microcontroller counts the clock cycles and the number of cycles is compared with the PC's NTP-disciplined clock.

If this test fails, this may indicate that the load capacitors of the crystal are missing, badly soldered, or have the wrong value. It could also mean that the crystal itself is defective. Another possible cause of oscillator malfunction could be flux residues bridging traces.

The fault analysis page has more details on testing the crystal oscillator. The spectrum test measures the reception of a signal sent from the reference device to the DUT. It does this across the entire frequency range in which the WPAN boards operate, allowing the detection of frequency-dependent anomalies.

This test depends on numerous external factors, like the exact position and orientation of the two devices with respect to each other, and the presence of obstacles and conductive items (metal, people, etc.). Because of the test's sensitivity to environmental factors, the operator needs to decide when the result represents a valid measurement and then confirm the result shown.

The image below shows the typical display during the spectrum test: the white line is the measured signal strength. The red lines indicate the minimum and maximum allowed values. The green circle in the upper right corner indicates that the signal strength is within the limits. A downward-pointing red triangle would indicate that the signal is too weak, an upward-pointing yellow triangle would indicate that the signal is too strong.

To finish the test, the operator must type either P, F, or Q. P means "pass" and can only be entered if the measurement is within the limits. F means "fail" and can only be entered if the measurements is outside the limits. Q, quit, can be entered at any time and also fails the test. In the receive test, the reference device sends a number of frames to the DUT. The test program verifies correct reception of all the frames. A device that has passed all the preceding tests should not encounter problems in the receive test. If it does, there may be a problem with the bypassing of the transceiver's 1.8 V supplies. The send test is like the receive test, but with the DUT acting as the sender and the reference acting as the receiver. If a device passes the receive test but fails the send test, there is probably an issue with the bypass capacitors of the analog 1.8 V supply.

Another possible cause could a problem with the SLP_TR signal. The GPIO test should eventually catch this issue, but it may currently remain undetected until the send test.