Root/prod/doc/analysis.html

Source at commit 86ea428afcef59fd87407fe10ccd84c7294873a5 created 8 years 6 months ago.
By Werner Almesberger, prod/doc/analysis.html: emphasize that 1 MHz clock is normal without firmware
1<TITLE>Production and testing: Fault analysis</TITLE>
2<BODY>
3<HTML>
4<H1>Production and testing: Fault analysis</H1>
5
6
7<!-- ====================================================================== -->
8
9
10<H2>Component placement and orientation</H2>
11
12
13<!-- ====================================================================== -->
14
15
16<H2>Supply voltages</H2>
17
18The transceiver has three voltage domains:
19<UL>
20  <LI>The supply and I/O voltage, which is nominally 3.3 V in
21    <B>atben</B> and <B>atusb</B>,
22  <LI>the digital (core) supply, which is nominally 1.8 V, and
23  <LI>the analog (RF) supply, which is nominally 1.8 V.
24</UL>
25<BR>
26On <B>atusb</B>, there is also the USB voltage domain at nominally 5.0 V.
27<P>
28Voltages should be tested in the following order: USB, then I/O, then
29digital, and finally analog. The table below gives the permissible
30ranges. Any voltages outside of these ranges indicate a problem.
31<P>
32<TABLE frame="border" cellpadding="2">
33  <TR><TH>Domain<TH>Nominal<TH>Minimum<TH>Maximum
34  <TR><TD>USB<TD>5.0 V<TD>4.5 V<TD>5.25 V
35  <TR><TD>I/O<TD>3.3 V<TD>3.0 V<TD>3.6 V
36  <TR><TD>Digital<TD>1.8 V<TD>1.7 V<TD>1.9 V
37  <TR><TD>Analog<TD>1.8 V<TD>1.7 V<TD>1.9 V
38</TABLE>
39<P>
40
41<H3>Measurement setup</H3>
42
43The measurements should be performed either with a digital multimeter.
44To enable all voltage domains, put the transceiver in receive mode:
45<PRE>
46atrf-txrx
47</PRE>
48or
49<PRE>
50atrf-txrx -d net:ben
51</PRE>
52Exit with Ctrl-C.
53<P>
54To produce periodic transmissions in addition to enabling all voltage
55domains, use
56<PRE>
57atrf-txrx -p 3 -E 0
58</PRE>
59or
60<PRE>
61atrf-txrx -d net:ben -p 3 -E 0
62</PRE>
63Again, exit with Ctrl-C. Note that the transmissions may disturb nearby
64equipment operating in the 2.4 GHz band, such as 802.11 networks. This
65can be prevented by shorting the antenna to ground.
66<P>
67In case the board does not accept commands, only the USB and I/O voltage
68can be checked. If they are correct, proceed with checking the clock.
69
70
71<!-- ---------------------------------------------------------------------- -->
72
73
74<H3>Measurement points on atben</H3>
75
76
77<!-- ---------------------------------------------------------------------- -->
78
79
80<H3>Measurement points on atusb</H3>
81
82
83<!-- ====================================================================== -->
84
85
86<H2>Clock frequency</H2>
87
88The flawless performance of the crystal oscillator is crucial for
89operation. Anomalies are easy to detect with even a low-cost oscilloscope
90and pinpoint specific problems and help to select further analysis steps.
91<P>
92The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance
93of +/&minus; 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing
94accuracy of
95+/&minus; 100 ppm, which means that only major excursions can be detected by
96measuring the clock output with such an instrument. Full-speed USB only
97requires an accuracy of +/&minus; 2500 ppm.
98We can therefore consider all results within a range of +/&minus; 1000 ppm as
99sufficient, and perform more precise measurements by other means. This
100applies to <B>atben</B> as well as to <B>atusb</B>.
101<P>
102
103
104<!-- ---------------------------------------------------------------------- -->
105
106
107<H3>Measuring the clock on atben</H3>
108
109<B>atben</B> normally does not output a clock signal. A 1 MHz clock
110can be enabled with the following command:
111<PRE>
112atrf-txrx -d net:ben -C 1
113</PRE>
114This configures <B>atben</B> as a promiscuous receiver. The reception
115of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command.
116<P>
117<TABLE frame="border" cellpadding="2">
118<TR><TH align="left">Clock<TH align="left">Action
119<TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled;
120  check for shorts around crystal; check connectivity of crystal
121<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with
122  <B>atrf-xtal</B>
123<TR><TD>Other<TD>Check voltages; check for contamination around crystal
124</TABLE>
125<P>
126
127
128<!-- ---------------------------------------------------------------------- -->
129
130
131<H3>Measuring the clock on atusb</H3>
132
133The transceiver provides the clock for the microcontroller in <B>atusb</B>.
134A clock signal is therefore always available. Immediately after reset,
135the transceiver generates a 1 MHz clock. When the microcontrolled comes out
136of reset, it raises the transceiver's clock output to 8 MHz and then
137enables USB.
138<P>
139<TABLE frame="border" cellpadding="2">
140<TR><TH align="left">Clock<TH align="left">Action
141<TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check
142  connectivity of crystal
143<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for
144  shorts on SPI signals; check connectivity of SPI signals
145<TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with
146  <B>atrf-xtal</B>
147<TR><TD>Other<TD>Check voltages; check for contamination around crystal
148</TABLE>
149<P>
150Note that, if testing a board into which no boot loader has been flashed
151yet, the clock frequency should be 1 MHz. If an unsuccessful attempt has
152been made to flash the boot loader, the frequency may be 1 MHz or 8 MHz,
153depending on how much code was successfully flashed.
154
155
156<!-- ---------------------------------------------------------------------- -->
157
158
159<H3>Precision measurements</H3>
160
161The clock frequency of <B>atben</B> can be measured with an accuracy
162of about +/&minus; 100 ppm using the program <B>atrf-xtal</B>. <B>atrf-xtal</B>
163runs directly on the Ben and measures the duration of packet transmissions.
164The transmission time depends on the bit clock which is in turn derived
165from the oscillator.
166<PRE>
167atrf-xtal 100
168</PRE>
169The number reported is the number of poll loops the CPU counted. This
170value should be compared to a reference count obtained with a known to
171be good <B>atben</B> board and the same Ben at a comparable temperature.
172<P>
173<TABLE frame="border" cellpadding="2">
174<TR><TH align="left">Difference<TH align="left">Action
175<TR><TD>&gt; +/&minus; 50 ppm<TD>Correct operation
176<TR><TD>&lt; &minus;80 ppm<TD>Check soldering of capacitors;
177  check for contamination around crystal
178<TR><TD>&gt; +120 ppm<TD>idem
179<TR><TD>Other<TD>Divergence can be compensated by adjusting trim value
180</TABLE>
181
182<P>
183<HR>
184Up: <A href="index.html">Production and testing</A>&nbsp;
185Prev: <A href="test.html">Functional test</A>&nbsp;
186<HR>
187Last update: 2011-05-18&nbsp;&nbsp;<I>Werner Almesberger</I>
188<HR>
189</BODY>
190</HTML>
191

Archive Download this file



interactive