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:
- Ascertain the correctness of the preceding production steps, and
- 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:
- Host an atben board acting as DUT
- Host an atben board acting as reference
- 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:
- Host an atusb board acting as DUT
- Host an atusb board acting as reference
- 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.
Clock | Action
|
---|
0 Hz | Check voltages; check that the clock is enabled;
check for shorts around crystal; check connectivity of crystal
|
0.999-1.001 MHz, ~3.3 Vpp | Perform precision measurement with
atrf-xtal
|
Other | Check 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.
Clock | Action
|
---|
0 Hz | Check voltages; check for shorts around crystal; check
connectivity of crystal
|
0.999-1.001 MHz, ~3.3 Vpp | Check presence of firmware; check for
shorts on SPI signals; check connectivity of SPI signals
|
7.992-8.008 MHz, ~3.3 Vpp | Perform precision measurement with
atrf-xtal
|
Other | Check voltages; check for contamination around crystal
|
Precision measurements
Last update: 2011-05-18 Werner Almesberger