Root/prod/doc/analysis.hmac

Source at commit 873f80cb4dac00800826958f9869ec55dbd9e91c created 10 years 7 months ago.
By Werner Almesberger, tools/atrf-txrx/atrf-txrx.c: option -q becomes "quick" and uses aggressive polling
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<TITLE>Production and testing: Fault analysis</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_ITEM href="test.html">Functional test</PAGE_ITEM>
12  <PAGE_CURR href="analysis.html">Fault analysis</PAGE_CURR>
13</PAGE_BAR>
14
15<SECTION_BAR>
16  <SECTION_ITEM href="#orientation">Component orientation</SECTION_ITEM>
17  <SECTION_ITEM href="#voltages">Voltages</SECTION_ITEM>
18  <SECTION_ITEM href="#clock">Clock frequency</SECTION_ITEM>
19</SECTION_BAR>
20
21
22<!-- ====================================================================== -->
23
24
25<SECTION ref="orientation" title="Component orientation">
26
27There are several components whose footprint has a 180&deg; or even 90&deg;
28rotational symmetry, but the component's electrical function is not symmetric.
29Therefore, if such a component is incorrectly rotated, it will appear to the
30casual observer to be properly placed, but it will not work.
31<P>
32These components are:
33<UL>
34  <LI>the transceiver chip,
35  <LI>the microcontroller (<B>atusb</B> only),
36  <LI>the balun, and
37  <LI>the LED (<B>atusb</B> only)
38</UL>
39
40
41<!-- ---------------------------------------------------------------------- -->
42
43
44<SUBSECTION title="atben components">
45
46<B>atben</B> only has the transceiver and the balun. The markings on
47both face towards the crystal and the antenna:
48<P>
49<A href="atben-compor.jpg"><IMG src="atben-compor.png"></A>
50<P>
51The corner next to pin 1 of the transceiver is marked with a small dot.
52The picture above also shows the orientation of the text printed on
53the package. The balun is marked with a square between pins 1 and 6.
54
55
56<!-- ---------------------------------------------------------------------- -->
57
58
59<SUBSECTION title="atusb components">
60
61In <B>atusb</B>, the marking on the transceiver is on the corner between
62the crystal and the antenna. The marking on the balun faces towards the
63antenna. The microcontroller's "top" side faces towards the USB connector.
64<P>
65<A href="atusb-compor.jpg"><IMG src="atusb-compor.png"></A>
66<P>
67It is difficult to determine the LED's orientation by visual inspection.
68An efficient approach is to touch the LED's terminals with the probes
69of a multimeter set to measure resistance. The small current used for
70the measurement will light the LED.
71
72
73<!-- ====================================================================== -->
74
75
76<SECTION ref="voltages" title="Supply voltages">
77
78The transceiver has three voltage domains:
79<UL>
80  <LI>The supply and I/O voltage, which is nominally 3.3 V in
81    <B>atben</B> and <B>atusb</B>,
82  <LI>the digital (core) supply, which is nominally 1.8 V, and
83  <LI>the analog (RF) supply, which is nominally 1.8 V.
84</UL>
85<BR>
86On <B>atusb</B>, there is also the USB voltage domain at nominally 5.0 V.
87<P>
88Voltages should be tested in the following order: USB, then I/O, then
89digital, and finally analog. The table below gives the permissible
90ranges. Any voltages outside these ranges indicate a problem.
91<P>
92<TABLE frame="border" cellpadding="2">
93  <TR><TH>Domain<TH>Nominal<TH>Minimum<TH>Maximum
94  <TR><TD>USB<TD>5.0 V<TD>4.5 V<TD>5.25 V
95  <TR><TD>I/O<TD>3.3 V<TD>3.0 V<TD>3.6 V
96  <TR><TD>Digital<TD>1.8 V<TD>1.7 V<TD>1.9 V
97  <TR><TD>Analog<TD>1.8 V<TD>1.7 V<TD>1.9 V
98</TABLE>
99
100
101<!-- ---------------------------------------------------------------------- -->
102
103
104<SUBSECTION title="Measurement setup">
105
106The measurements should be performed with a digital multimeter.
107The transceiver's analog and digital supplies (1.8 V) are only
108activated when sending or receiving.
109To enable all voltage domains, put the transceiver in receive mode:
110<PRE>
111atrf-txrx
112</PRE>
113or
114<PRE>
115atrf-txrx -d net:ben
116</PRE>
117Exit with Ctrl-C.
118<P>
119To produce periodic transmissions in addition to enabling all voltage
120domains, use
121<PRE>
122atrf-txrx -p 3 -E 0
123</PRE>
124or
125<PRE>
126atrf-txrx -d net:ben -p 3 -E 0
127</PRE>
128Again, exit with Ctrl-C. Note that the transmissions may disturb nearby
129equipment operating in the 2.4 GHz band, such as 802.11 networks. This
130can be prevented by shorting the antenna to ground.
131<P>
132In case the board does not accept commands, only the USB and I/O voltage
133can be checked. If they are correct, proceed with checking the clock.
134
135
136<!-- ---------------------------------------------------------------------- -->
137
138
139<SUBSECTION title="Measurement points on atben">
140
141The supply voltages on <B>atben</B> can be measured at the terminals of
142components as shown in this table:
143<P>
144<TABLE frame="border" cellpadding="2">
145  <TR><TH>Domain<TH>Voltage<TH>Component
146  <TR><TD>I/O<TD>3.3 V<TD>C3, C6
147  <TR><TD>Digital<TD>1.8 V<TD>C5
148  <TR><TD>Analog<TD>1.8 V<TD>C4
149</TABLE>
150<P>
151Ground can be accessed at the cover of the crystal.
152Note that the fiducials, while looking like test points,
153are not connected to anything.
154<P>
155This image shows the location of the measurement points:
156<P>
157<A href="atben-B.png"><IMG src="atben-B-small.png"></A>
158
159
160<!-- ---------------------------------------------------------------------- -->
161
162
163<SUBSECTION title="Measurement points on atusb">
164
165The supply voltages on <B>atusb</B> can be measured at the terminals of
166components as shown in this table:
167<P>
168<TABLE frame="border" cellpadding="2">
169  <TR><TH>Domain<TH>Voltage<TH>Component
170  <TR><TD>USB<TD>5.0 V<TD>C1
171  <TR><TD>I/O<TD>3.3 V<TD>C2, C10, C13
172  <TR><TD>Digital<TD>1.8 V<TD>C12
173  <TR><TD>Analog<TD>1.8 V<TD>C11
174</TABLE>
175<P>
176Ground can be accessed at the cover of the crystal, at the shield of the
177USB connector, or at the test point P11.
178Note that the fiducials are not connected to anything.
179<P>
180This image shows the location of the measurement points:
181<P>
182<A href="atusb-B.png"><IMG src="atusb-B-small.png"></A>
183
184
185<!-- ====================================================================== -->
186
187
188<SECTION ref="clock" title="Clock frequency">
189
190The precision of the crystal oscillator is crucial for
191operation. Anomalies are easy to detect with even a low-cost oscilloscope.
192This can pinpoint specific problems and help to select further analysis steps.
193
194
195<!-- ---------------------------------------------------------------------- -->
196
197
198<SUBSECTION title="Oscillator tolerances">
199
200The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance
201of +/&minus; 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing
202accuracy of
203+/&minus; 100 ppm, which means that only major excursions can be detected by
204measuring the clock output with such an instrument. Full-speed USB only
205requires an accuracy of +/&minus; 2500 ppm.
206We can therefore consider all results within a range of +/&minus; 1000 ppm as
207sufficient for an initial assessment, and perform more precise measurements
208by other means. This
209applies to <B>atben</B> as well as to <B>atusb</B>.
210<P>
211IEEE 802.15.4 requires the transceiver frequency to be accurate
212within +/&minus; 40 ppm.
213
214
215<!-- ---------------------------------------------------------------------- -->
216
217
218<SUBSECTION title="Measuring the clock on atben">
219
220<B>atben</B> normally does not output a clock signal. A 1 MHz clock
221can be enabled with the following command:
222<PRE>
223atrf-txrx -d net:ben -C 1
224</PRE>
225This configures <B>atben</B> as a promiscuous receiver. The reception
226of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command.
227<P>
228The clock signal (CLKM) is available on the test pad shown on the image
229on the left, and it should look roughly as shown in the screen shot on
230the right:
231<P>
232<A href="atben-A.png"><IMG src="atben-A-small.png" align="left"></A>
233&nbsp;
234<IMG src="scope-atben-clkm.png">
235<P>
236<TABLE frame="border" cellpadding="2">
237<TR><TH align="left">Clock<TH align="left">Action
238<TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled;
239  check for shorts around crystal; check connectivity of crystal
240<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with
241  atrf-xtal
242<TR><TD>Other<TD>Check voltages; check for contamination around crystal
243</TABLE>
244<P>
245
246
247<!-- ---------------------------------------------------------------------- -->
248
249
250<SUBSECTION title="Measuring the clock on atusb">
251
252The transceiver provides the clock for the microcontroller in <B>atusb</B>.
253A clock signal is therefore always available. Immediately after reset,
254the transceiver generates a 1 MHz clock. When the microcontroller comes out
255of reset, it raises the transceiver's clock output to 8 MHz and then
256enables USB.
257<P>
258The clock signal is available at the terminals of several components,
259either as the direct output from the transceiver (CLKM) or after passing
260a low-pass filter (CLK):
261<P>
262<A href="atusb-A.png"><IMG src="atusb-A-small.png"></A>
263&nbsp;
264<IMG src="scope-atusb-clkm.png">
265&nbsp;
266<IMG src="scope-atusb-clk.png">
267<P>
268The left screen shot shows the clock (CLKM) before the low-pass filter
269while the right screen shows the clock (CLK) after the the low-pass
270filter.
271<P>
272<TABLE frame="border" cellpadding="2">
273<TR><TH align="left">Clock<TH align="left">Action
274<TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check
275  connectivity of crystal
276<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for
277  shorts on SPI signals; check connectivity of SPI signals
278<TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with
279  atrf-xtal (@@@)
280<TR><TD>Other<TD>Check voltages; check for contamination around crystal
281</TABLE>
282<P>
283Note that, if testing a board into which no boot loader has been flashed
284yet, the clock frequency should be 1 MHz. If an unsuccessful attempt has
285been made to flash the boot loader, the frequency may be 1 MHz or 8 MHz,
286depending on how much code was successfully flashed.
287
288
289<!-- ---------------------------------------------------------------------- -->
290
291
292<SUBSECTION title="Precision measurements (atben)">
293
294The clock frequency of <B>atben</B> can be measured with an accuracy
295of about +/&minus; 100 ppm using the program atrf-xtal. atrf-xtal
296runs directly on the Ben and measures the duration of packet transmissions.
297The transmission time depends on the bit clock which is in turn derived
298from the oscillator.
299<PRE>
300ben# atrf-xtal 100
301</PRE>
302The number reported is the number of poll loops the CPU counted. This
303value should be compared to a reference count obtained with a known to
304be good <B>atben</B> board on the same Ben at a comparable temperature.
305<P>
306<TABLE frame="border" cellpadding="2">
307<TR><TH align="left">Difference<TH align="left">Action
308<TR><TD>&lt; +/&minus; 50 ppm<TD>Correct operation
309<TR><TD>&lt; &minus;80 ppm<TD>Check soldering of capacitors;
310  check for contamination around crystal
311<TR><TD>&gt; +120 ppm<TD>idem
312<TR><TD>Other<TD>Deviation can be compensated by adjusting trim value
313</TABLE>
314
315
316<!-- ---------------------------------------------------------------------- -->
317
318
319<SUBSECTION title="Precision measurements (atusb)">
320
321The clock frequency of <B>atusb</B> can be measured with an accuracy
322of about +/&minus; 1 ppm relative to the PC's NTP-disciplined clock.
323<PRE>
324pc# atrf-xtal 10000
325</PRE>
326This measurement runs for 10&minus;60 seconds, depending on system load.
327Note that, in order to reach such a high precision, it is imperative
328that the PC clock be disciplined by NTP.
329<P>
330<TABLE frame="border" cellpadding="2">
331<TR><TH align="left">Difference<TH align="left">Action
332<TR><TD>&lt; +/&minus; 30 ppm<TD>Correct operation
333<TR><TD>Other<TD>See the <B>atben</B> section above
334</TABLE>
335
336
337<END author="Werner Almesberger" date="<GEN_DATE>">
338</BODY>
339</HTML>
340

Archive Download this file



interactive