Production and testing

This document gives a high-level description of the production test process for atben and atusb boards, plus - in the case of atusb the production steps required between the boards leaving the SMT line and the actual testing.

The testing serves two purposes:

  1. Ascertain the correctness of the preceding production steps, and
  2. identify suffering from random production flaws and either discard them or prepare them for repair.
The results of testing and fault analysis also provide feedback for the SMT process and steps preceding it.

The following diagram illustrates the workflow:

Only atusb boards contain firmware and need flashing (which is a two-step process, see below). The functional tests and further fault analysis are largely the same for atben and atusb.

Devices accepted for further use can then be packaged for shipping. Defective devices can be discarded or retained for a deeper analysis.

Terminology

Ben
a device capable of hosting the atben and atusb-pgm boards. In the production process, a Ben can perform three different roles:
  1. Host an atben board acting as DUT
  2. Host an atben board acting as reference
  3. Host an atusb-pgm used for flashing the boot loader
In this document, we assume that a single Ben is used in all three roles, with the board in its 8:10 card slot changed as the role requires.
PC
a device capable of connecting to a Ben via USB, and of hosting an atusb board. In the production process, a PC can perform three different roles:
  1. Host an atusb board acting as DUT
  2. Host an atusb board acting as reference
  3. Control a Ben via USB (for convenience)
In this document, we assume that a single PC is used in all three roles, with one USB host port permanently connecting to the Ben, and a second USB host port populated with atusb boards as needed.
DUT
Device Under Test. An atben or atusb board that has left SMT, and is being prepared for testing or in the process of being tested.
Reference
An atben or atusb device that is known to work and and that acts as a peer for RF communication with the DUT.
SMT
In this context, the actual process of soldering components to the unpopulated PCB, and all related tasks providing an input to this process. Such related tasks include the configuration of the SMT line, and testing and conditioning of the components prior to soldering.

Software setup

Before performing any production tests, various pieces of software need to be installed on Ben and PC, and configuration settings @@@

PC software installation

@@@

Install ben-wpan tools

@@@

Register Ben host name

To simplify accessing the Ben via TCP/IP, its IP address should be registered in the hosts file on the PC. If the Ben is running OpenWrt, use the following command:
echo 192.168.254.101 ben >>/etc/hosts

If the Ben is running Jlime, the address would be as follows:

echo 192.168.1.202 ben >>/etc/hosts

If using the same PC with Bens running OpenWrt and Jlime, one may choose different host names depending on the distribution, and adapt the commands used in the production and testing process accordingly. For example,

echo 192.168.254.101 ben >>/etc/hosts
echo 192.168.1.202 jlime >>/etc/hosts

Ben software setup

This needs to be done each time the Ben is booted.

Enable network access

Silence other 8:10 card users

Ben software installation

Password-less remote access

To enable password-less remote access from the PC, setup to betwork access to the Ben and run the following command:
ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub

Test profiles

Flashing (atusb only)

Flashing the boot loader

Flashing the application

Functional test

Test setup for atben

Test setup for atusb

Test procedure

Fault analysis

Component placement and orientation

Supply voltages

Clock frequency

The flawless performance of the crystal oscillator is crucial for operation. Anomalies are easy to detect with even a low-cost oscilloscope and pinpoint specific problems and help to select further analysis steps.

The crystal used in atben and atusb has a nominal tolerance of +/- 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing accuracy of +/- 100 ppm, which means that only major excursions can be detected by measuring the clock output with such an instrument. Full-speed USB only requires an accuracy of +/- 2500 ppm. We can therefore consider all results within a range of +/- 1000 ppm as sufficient, and perform more precise measurements by other means. This applies to atben as well as to atusb.

Measuring the clock on atben

atben normally does not output a clock signal. A 1 MHz clock can be enabled with the following command:
atrf-txrx -d net:ben -C 1
This configures atben as a promiscuous receiver. The reception of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command.

ClockAction
0 HzCheck voltages; check that the clock is enabled; check for shorts around crystal; check connectivity of crystal
0.999-1.001 MHz, ~3.3 VppPerform precision measurement with atrf-xtal
OtherCheck voltages; check for contamination around crystal

Measuring the clock on atusb

The transceiver provides the clock for the microcontroller in atusb. A clock signal is therefore always available. Immediately after reset, the transceiver generates a 1 MHz clock. When the microcontrolled comes out of reset, it raises the transceiver's clock output to 8 MHz and then enables USB.

ClockAction
0 HzCheck voltages; check for shorts around crystal; check connectivity of crystal
0.999-1.001 MHz, ~3.3 VppCheck presence of firmware; check for shorts on SPI signals; check connectivity of SPI signals
7.992-8.008 MHz, ~3.3 VppPerform precision measurement with atrf-xtal
OtherCheck voltages; check for contamination around crystal

Precision measurements


Last update: 2011-05-18  Werner Almesberger