Root/prod/doc/test.hmac

Source at commit 90ee7262853cfdfb12015801c977093645928bf4 created 12 years 9 months ago.
By Werner Almesberger, prod/doc/: atrf-path now accepts keypresses from all the usual places
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<TITLE>Production and testing: Functional test</TITLE>
4<BODY bgcolor="#ffffff" link="#000000" vlink="#404040">
5
6<INCLUDE file="style.inc">
7
8<PAGE_BAR title="Production and testing">
9  <PAGE_ITEM href="setup.html">Software setup</PAGE_ITEM>
10  <PAGE_ITEM href="flash.html">Flashing</PAGE_ITEM>
11  <PAGE_CURR href="test.html">Functional test</PAGE_CURR>
12  <PAGE_ITEM href="analysis.html">Fault analysis</PAGE_ITEM>
13</PAGE_BAR>
14
15<SECTION_BAR>
16  <SECTION_ITEM href="#atben">atben setup</SECTION_ITEM>
17  <SECTION_ITEM href="#atusb">atusb setup</SECTION_ITEM>
18  <SECTION_ITEM href="#procedure">Test procedure</SECTION_ITEM>
19</SECTION_BAR>
20
21
22<!-- ====================================================================== -->
23
24
25<SECTION ref="atben" title="Test setup for atben">
26
27To test an <B>atben</B> board, place a reference <B>atusb</B> board into
28the PC, insert the <B>atben</B> board into the Ben, and place both devices
29at the same location and with the same orientation used when acquiring the
30signal strength profile.
31<P>
32The two devices should be about 1 m apart. Their vicinity should be free
33from obstructions and items that can reflect or absorb RF signals. Such
34items include metal chairs and human bodies.
35Location and orientation should
36be easily reproducible, e.g., by marking the device's edges on the table
37with tape. Other transmitters in the 2.4 GHz band will interfere with
38measurements and should be kept as far away and as inactive as possible.
39<P>
40<IMG src="setup-A.png">
41<P>
42
43
44<!-- ====================================================================== -->
45
46
47<SECTION ref="atusb" title="Test setup for atusb">
48
49The test setup is the same as for <B>atben</B> testing, except that the
50DUT and reference device roles are reversed.
51<P>
52<IMG src="setup-B.png">
53<P>
54
55
56<!-- ====================================================================== -->
57
58
59<SECTION ref="procedure" title="Test procedure">
60
61The test process is started from the directory <SAMP>ben-wpan/prod/</SAMP>
62with
63<PRE>
64make ben
65</PRE>
66for an <B>atben</B> DUT and with
67<PRE>
68make usb
69</PRE>
70for an <B>atusb</B> DUT. It performs the following steps:
71<UL>
72  <LI>Enumeration (<B>atusb</B> only)
73  <LI>LED (<B>atusb</B> only)
74  <LI>GPIO scan
75  <LI>Identification
76  <LI>Crystal frequency
77  <LI>Spectrum
78  <LI>Receive
79  <LI>Send
80</UL>
81
82Of these tests, only "LED" and "Spectrum" require operator input. The
83other tests run without interaction.
84<P>
85The test scripts log the commands they execute and their output in the
86file <SAMP>_log</SAMP>.
87
88
89<!-- ---------------------------------------------------------------------- -->
90
91
92<SUBSECTION title="Enumeration (atusb only)">
93
94The enumeration test verifies that the <B>atusb</B> board has been
95identified by the PC's USB stack. If this test fails, the board may
96not be plugged in correctly or it may be missing the firmware. A
97board that has passed both stages of the firmware flashing process
98should always pass the enumeration test.
99
100
101<!-- ---------------------------------------------------------------------- -->
102
103
104<SUBSECTION title="LED (atusb only)">
105
106In the LED test, the <B>atusb</B> LED blinks quickly until the operator
107decides whether it is working properly.
108To finish the test, the operator must type either <B>P</B> to pass, or
109<B>F</B>, or <B>Q</B> to fail.
110
111
112<!-- ---------------------------------------------------------------------- -->
113
114
115<SUBSECTION title="GPIO scan">
116
117The GPIO scan outputs a series of test patterns on the I/O lines driving
118the transceiver and compares the state at which the lines settle with a
119set of expected values. This allows the detection of unconnected pins
120and of shorted traces.
121<P>
122If the GPIO scan encounters an inconsistency, it fails the test and writes
123a report to the
124file <SAMP>_log</SAMP>. This report contains a list of GPIO pins with their
125configuration, the expected value, and their actual value.
126<P>
127For example, a short between SLP_TR and VDD on an <B>atben</B> board would
128be reported as follows:
129<PRE>
130name cfg exp got
131SCLK Z - 1
132MISO Z - 1
133SLP_TR Z 0 1 ***
134MOSI Z - 1
135nSEL Z 1 1
136IRQ Z 0 0
137at "zzozho", next "# reset state"
138</PRE>
139The configuration is <B>0</B> for a pin driven low, <B>1</B> for a pin driven
140high, <B>Z</B> for a pin in Hi-Z state, and <B>R</B> for Hi-Z state with a
141pull-up.
142
143
144<!-- ---------------------------------------------------------------------- -->
145
146
147<SUBSECTION title="Identification">
148
149This test reads the transceiver's registers that contain values identifying
150the manufacturer, the chip's part number, and the chip revision. If an
151<B>atusb</B> board fails this test, this probably means that the MISO signal
152between transceiver and the microcontroller has a problem.
153<P>
154On <B>atben</B>, failure may simply indicate an improperly
155inserted board. Eject the board, re-insert, and try again. If the test
156keeps on failing, this may indicate a problem with MOSI, MISO, nSEL,
157SCLK, the power supply, the crystal oscillator, or possibly the position
158of the transceiver chip.
159<P>
160Note: this test is meant as a higher level test. The GPIO test should
161eventually provide more detailed results for problems with the SPI interface.
162
163
164<!-- ---------------------------------------------------------------------- -->
165
166
167<SUBSECTION title="Crystal frequency">
168
169This test measures the frequency of the crystal oscillator in the DUT.
170On <B>atben</B>, it does this by transmitting packets, and measuring
171the time between the SLP_TR pulse that starts the transmission and the
172interrupt signaling the end of the transmission.
173On <B>atusb</B>, the microcontroller counts the clock cycles and the
174number of cycles is compared with the PC's NTP-disciplined clock.
175<P>
176If this test fails, this may indicate that the load capacitors of the
177crystal are missing, badly soldered, or have the wrong value. It could
178also mean that the crystal itself is defective. Another possible cause
179of oscillator malfunction could be flux residues bridging traces.
180<P>
181The <A href="fault.html">fault analysis page</A> has more details on
182testing the crystal oscillator.
183
184
185<!-- ---------------------------------------------------------------------- -->
186
187
188<SUBSECTION title="Spectrum">
189
190The spectrum test measures the reception of a signal sent from the
191reference device to the DUT. It does this across the entire frequency
192range in which the WPAN boards operate, allowing the detection of
193frequency-dependent anomalies.
194<P>
195This test depends on numerous external factors, like the exact position
196and orientation of the two devices with respect to each other, and the
197presence of obstacles and conductive items (metal, people, etc.).
198Because of the test's sensitivity
199to environmental factors, the operator needs to decide when the result
200represents a valid measurement and then confirm the result shown.
201<P>
202The image below shows the typical display during the spectrum test:
203the white line is the measured signal strength. The red lines indicate
204the minimum and maximum allowed values. The green circle in the upper
205right corner indicates that the signal strength is within the limits.
206A downward-pointing red triangle would indicate that the signal is too
207weak, an upward-pointing yellow triangle would indicate that the signal
208is too strong.
209<P>
210<A href="atrf-path.png"><IMG src="atrf-path-small.png"</A>
211<P>
212To finish the test, the operator must type either <B>P</B>, <B>F</B>,
213or <B>Q</B>. <B>P</B> means "pass" and can only be
214entered if the measurement is within the limits. <B>F</B> means "fail"
215and can only be entered if the measurements is outside the limits.
216<B>Q</B>, quit, can be entered at any time and also fails the test.
217
218
219<!-- ---------------------------------------------------------------------- -->
220
221
222<SUBSECTION title="Receive">
223
224In the receive test, the reference device sends a number of frames to the
225DUT. The test program verifies correct reception of all the frames. A
226device that has passed all the preceding tests should not encounter
227problems in the receive test. If it does, there may be a problem with
228the bypassing of the transceiver's 1.8 V supplies.
229
230
231<!-- ---------------------------------------------------------------------- -->
232
233
234<SUBSECTION title="Send">
235
236The send test is like the receive test, but with the DUT acting as the
237sender and the reference acting as the receiver. If a device passes the
238receive test but fails the send test, there is probably an issue with
239the bypass capacitors of the analog 1.8 V supply.
240<P>
241Another possible cause could a problem with the SLP_TR signal. The
242GPIO test should eventually catch this issue, but it may currently
243remain undetected until the send test.
244
245<END author="Werner Almesberger" date="<GEN_DATE>">
246</BODY>
247</HTML>
248

Archive Download this file



interactive