Date:2011-05-27 11:45:06 (8 years 3 months ago)
Author:Werner Almesberger
Commit:9ab082432bc0a7f36fdda05d85ace1a1d46b51e9
Message:prod/doc/: converted analysis.html to analysis.hmac; language cleanup

Files: prod/doc/Makefile (1 diff)
prod/doc/analysis.hmac (1 diff)
prod/doc/analysis.html (1 diff)

Change Details

prod/doc/Makefile
1111
1212all: $(HTMLS) $(PNGS) $(JPGS)
1313
14index.html: index.hmac style.inc hmac.pl
15        perl hmac.pl index.hmac >$@ || { rm -f $@; exit 1; }
14%.html: %.hmac style.inc hmac.pl
15        perl hmac.pl $*.hmac >$@ || { rm -f $@; exit 1; }
1616
1717flow.png: flow.fig
1818        fig2dev -L png -m 0.7 -S 4 $< $@ || { rm -f $@; exit 1; }
prod/doc/analysis.hmac
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="#components">Components</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="components" title="Component placement and orientation">
26
27
28<!-- ====================================================================== -->
29
30
31<SECTION ref="voltages" title="Supply voltages">
32
33The transceiver has three voltage domains:
34<UL>
35  <LI>The supply and I/O voltage, which is nominally 3.3 V in
36    <B>atben</B> and <B>atusb</B>,
37  <LI>the digital (core) supply, which is nominally 1.8 V, and
38  <LI>the analog (RF) supply, which is nominally 1.8 V.
39</UL>
40<BR>
41On <B>atusb</B>, there is also the USB voltage domain at nominally 5.0 V.
42<P>
43Voltages should be tested in the following order: USB, then I/O, then
44digital, and finally analog. The table below gives the permissible
45ranges. Any voltages outside of these ranges indicate a problem.
46<P>
47<TABLE frame="border" cellpadding="2">
48  <TR><TH>Domain<TH>Nominal<TH>Minimum<TH>Maximum
49  <TR><TD>USB<TD>5.0 V<TD>4.5 V<TD>5.25 V
50  <TR><TD>I/O<TD>3.3 V<TD>3.0 V<TD>3.6 V
51  <TR><TD>Digital<TD>1.8 V<TD>1.7 V<TD>1.9 V
52  <TR><TD>Analog<TD>1.8 V<TD>1.7 V<TD>1.9 V
53</TABLE>
54<P>
55
56
57<!-- ---------------------------------------------------------------------- -->
58
59
60<SUBSECTION title="Measurement setup">
61
62The measurements should be performed with a digital multimeter.
63The transceiver's analog and digital supplies (1.8 V) are only
64activated when sending or receiving.
65To enable all voltage domains, put the transceiver in receive mode:
66<PRE>
67atrf-txrx
68</PRE>
69or
70<PRE>
71atrf-txrx -d net:ben
72</PRE>
73Exit with Ctrl-C.
74<P>
75To produce periodic transmissions in addition to enabling all voltage
76domains, use
77<PRE>
78atrf-txrx -p 3 -E 0
79</PRE>
80or
81<PRE>
82atrf-txrx -d net:ben -p 3 -E 0
83</PRE>
84Again, exit with Ctrl-C. Note that the transmissions may disturb nearby
85equipment operating in the 2.4 GHz band, such as 802.11 networks. This
86can be prevented by shorting the antenna to ground.
87<P>
88In case the board does not accept commands, only the USB and I/O voltage
89can be checked. If they are correct, proceed with checking the clock.
90
91
92<!-- ---------------------------------------------------------------------- -->
93
94
95<SUBSECTION title="Measurement points on atben">
96
97The supply voltages on <B>atben</B> can be measured at the terminals of
98components as shown in this table:
99<P>
100<TABLE frame="border" cellpadding="2">
101  <TR><TH>Domain<TH>Voltage<TH>Component
102  <TR><TD>I/O<TD>3.3 V<TD>C3, C6
103  <TR><TD>Digital<TD>1.8 V<TD>C5
104  <TR><TD>Analog<TD>1.8 V<TD>C4
105</TABLE>
106<P>
107Ground can be accessed at the cover of the crystal.
108Note that the fiducials are not connected to ground.
109<P>
110This image shows the location of the measurement points:
111<P>
112<A href="atben-B.png"><IMG src="atben-B-small.png"></A>
113
114
115<!-- ---------------------------------------------------------------------- -->
116
117
118<SUBSECTION title="Measurement points on atusb">
119
120The supply voltages on <B>atusb</B> can be measured at the terminals of
121components as shown in this table:
122<P>
123<TABLE frame="border" cellpadding="2">
124  <TR><TH>Domain<TH>Voltage<TH>Component
125  <TR><TD>USB<TD>5.0 V<TD>C1
126  <TR><TD>I/O<TD>3.3 V<TD>C2, C10, C13
127  <TR><TD>Digital<TD>1.8 V<TD>C12
128  <TR><TD>Analog<TD>1.8 V<TD>C11
129</TABLE>
130<P>
131Ground can be accessed at the cover of the crystal, at the shield of the
132USB connector, or at the test point P11.
133Note that the fiducials are not connected to ground.
134<P>
135This image shows the location of the measurement points:
136<P>
137<A href="atusb-B.png"><IMG src="atusb-B-small.png"></A>
138
139
140<!-- ====================================================================== -->
141
142
143<SECTION ref="clock" title="Clock frequency">
144
145The precision of the crystal oscillator is crucial for
146operation. Anomalies are easy to detect with even a low-cost oscilloscope
147and pinpoint specific problems and help to select further analysis steps.
148<P>
149The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance
150of +/&minus; 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing
151accuracy of
152+/&minus; 100 ppm, which means that only major excursions can be detected by
153measuring the clock output with such an instrument. Full-speed USB only
154requires an accuracy of +/&minus; 2500 ppm.
155We can therefore consider all results within a range of +/&minus; 1000 ppm as
156sufficient, and perform more precise measurements by other means. This
157applies to <B>atben</B> as well as to <B>atusb</B>.
158
159
160<!-- ---------------------------------------------------------------------- -->
161
162
163<SUBSECTION title="Measuring the clock on atben">
164
165<B>atben</B> normally does not output a clock signal. A 1 MHz clock
166can be enabled with the following command:
167<PRE>
168atrf-txrx -d net:ben -C 1
169</PRE>
170This configures <B>atben</B> as a promiscuous receiver. The reception
171of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command.
172<P>
173The clock signal (CLKM) is available on the test pad shown here:
174<P>
175<A href="atben-A.png"><IMG src="atben-A-small.png"></A>
176<P>
177<TABLE frame="border" cellpadding="2">
178<TR><TH align="left">Clock<TH align="left">Action
179<TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled;
180  check for shorts around crystal; check connectivity of crystal
181<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with
182  <B>atrf-xtal</B>
183<TR><TD>Other<TD>Check voltages; check for contamination around crystal
184</TABLE>
185<P>
186
187
188<!-- ---------------------------------------------------------------------- -->
189
190
191<SUBSECTION title="Measuring the clock on atusb">
192
193The transceiver provides the clock for the microcontroller in <B>atusb</B>.
194A clock signal is therefore always available. Immediately after reset,
195the transceiver generates a 1 MHz clock. When the microcontrolled comes out
196of reset, it raises the transceiver's clock output to 8 MHz and then
197enables USB.
198<P>
199The clock signal is available at the terminals of several components,
200either as the direct output from the transceiver (CLKM) or after passing
201a low-pass filter (CLK):
202<P>
203<A href="atusb-A.png"><IMG src="atusb-A-small.png"></A>
204<P>
205<TABLE frame="border" cellpadding="2">
206<TR><TH align="left">Clock<TH align="left">Action
207<TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check
208  connectivity of crystal
209<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for
210  shorts on SPI signals; check connectivity of SPI signals
211<TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with
212  <B>atrf-xtal</B>
213<TR><TD>Other<TD>Check voltages; check for contamination around crystal
214</TABLE>
215<P>
216Note that, if testing a board into which no boot loader has been flashed
217yet, the clock frequency should be 1 MHz. If an unsuccessful attempt has
218been made to flash the boot loader, the frequency may be 1 MHz or 8 MHz,
219depending on how much code was successfully flashed.
220
221
222<!-- ---------------------------------------------------------------------- -->
223
224
225<SUBSECTION title="Precision measurements">
226
227The clock frequency of <B>atben</B> can be measured with an accuracy
228of about +/&minus; 100 ppm using the program <B>atrf-xtal</B>. <B>atrf-xtal</B>
229runs directly on the Ben and measures the duration of packet transmissions.
230The transmission time depends on the bit clock which is in turn derived
231from the oscillator.
232<PRE>
233atrf-xtal 100
234</PRE>
235The number reported is the number of poll loops the CPU counted. This
236value should be compared to a reference count obtained with a known to
237be good <B>atben</B> board on the same Ben at a comparable temperature.
238<P>
239<TABLE frame="border" cellpadding="2">
240<TR><TH align="left">Difference<TH align="left">Action
241<TR><TD>&gt; +/&minus; 50 ppm<TD>Correct operation
242<TR><TD>&lt; &minus;80 ppm<TD>Check soldering of capacitors;
243  check for contamination around crystal
244<TR><TD>&gt; +120 ppm<TD>idem
245<TR><TD>Other<TD>Divergence can be compensated by adjusting trim value
246</TABLE>
247
248<P>
249<HR>
250Last update: 2011-05-27&nbsp;&nbsp;<I>Werner Almesberger</I>
251<HR>
252</BODY>
253</HTML>
prod/doc/analysis.html
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
42<!-- ---------------------------------------------------------------------- -->
43
44
45<H3>Measurement setup</H3>
46
47The measurements should be performed with a digital multimeter.
48The transceiver's analog and digital supplies (1.8 V) are only
49activated when sending or receiving.
50To enable all voltage domains, put the transceiver in receive mode:
51<PRE>
52atrf-txrx
53</PRE>
54or
55<PRE>
56atrf-txrx -d net:ben
57</PRE>
58Exit with Ctrl-C.
59<P>
60To produce periodic transmissions in addition to enabling all voltage
61domains, use
62<PRE>
63atrf-txrx -p 3 -E 0
64</PRE>
65or
66<PRE>
67atrf-txrx -d net:ben -p 3 -E 0
68</PRE>
69Again, exit with Ctrl-C. Note that the transmissions may disturb nearby
70equipment operating in the 2.4 GHz band, such as 802.11 networks. This
71can be prevented by shorting the antenna to ground.
72<P>
73In case the board does not accept commands, only the USB and I/O voltage
74can be checked. If they are correct, proceed with checking the clock.
75
76
77<!-- ---------------------------------------------------------------------- -->
78
79
80<H3>Measurement points on atben</H3>
81
82The supply voltages on <B>atben</B> can be measured at the terminals of
83components as shown in this table:
84<P>
85<TABLE frame="border" cellpadding="2">
86  <TR><TH>Domain<TH>Voltage<TH>Component
87  <TR><TD>I/O<TD>3.3 V<TD>C3, C6
88  <TR><TD>Digital<TD>1.8 V<TD>C5
89  <TR><TD>Analog<TD>1.8 V<TD>C4
90</TABLE>
91<P>
92Ground can be accessed at the cover of the crystal.
93Note that the fiducials are not connected to ground.
94<P>
95This image shows the location of the measurement points:
96<P>
97<A href="atben-B.png"><IMG src="atben-B-small.png"></A>
98
99
100<!-- ---------------------------------------------------------------------- -->
101
102
103<H3>Measurement points on atusb</H3>
104
105The supply voltages on <B>atusb</B> can be measured at the terminals of
106components as shown in this table:
107<P>
108<TABLE frame="border" cellpadding="2">
109  <TR><TH>Domain<TH>Voltage<TH>Component
110  <TR><TD>USB<TD>5.0 V<TD>C1
111  <TR><TD>I/O<TD>3.3 V<TD>C2, C10, C13
112  <TR><TD>Digital<TD>1.8 V<TD>C12
113  <TR><TD>Analog<TD>1.8 V<TD>C11
114</TABLE>
115<P>
116Ground can be accessed at the cover of the crystal, at the shield of the
117USB connector, or at the test point P11.
118Note that the fiducials are not connected to ground.
119<P>
120This image shows the location of the measurement points:
121<P>
122<A href="atusb-B.png"><IMG src="atusb-B-small.png"></A>
123
124
125<!-- ====================================================================== -->
126
127
128<H2>Clock frequency</H2>
129
130The flawless performance of the crystal oscillator is crucial for
131operation. Anomalies are easy to detect with even a low-cost oscilloscope
132and pinpoint specific problems and help to select further analysis steps.
133<P>
134The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance
135of +/&minus; 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing
136accuracy of
137+/&minus; 100 ppm, which means that only major excursions can be detected by
138measuring the clock output with such an instrument. Full-speed USB only
139requires an accuracy of +/&minus; 2500 ppm.
140We can therefore consider all results within a range of +/&minus; 1000 ppm as
141sufficient, and perform more precise measurements by other means. This
142applies to <B>atben</B> as well as to <B>atusb</B>.
143
144
145<!-- ---------------------------------------------------------------------- -->
146
147
148<H3>Measuring the clock on atben</H3>
149
150<B>atben</B> normally does not output a clock signal. A 1 MHz clock
151can be enabled with the following command:
152<PRE>
153atrf-txrx -d net:ben -C 1
154</PRE>
155This configures <B>atben</B> as a promiscuous receiver. The reception
156of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command.
157<P>
158The clock signal (CLKM) is available on the test pad shown here:
159<P>
160<A href="atben-A.png"><IMG src="atben-A-small.png"></A>
161<P>
162<TABLE frame="border" cellpadding="2">
163<TR><TH align="left">Clock<TH align="left">Action
164<TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled;
165  check for shorts around crystal; check connectivity of crystal
166<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with
167  <B>atrf-xtal</B>
168<TR><TD>Other<TD>Check voltages; check for contamination around crystal
169</TABLE>
170<P>
171
172
173<!-- ---------------------------------------------------------------------- -->
174
175
176<H3>Measuring the clock on atusb</H3>
177
178The transceiver provides the clock for the microcontroller in <B>atusb</B>.
179A clock signal is therefore always available. Immediately after reset,
180the transceiver generates a 1 MHz clock. When the microcontrolled comes out
181of reset, it raises the transceiver's clock output to 8 MHz and then
182enables USB.
183<P>
184The clock signal is available at the terminals of several components,
185either as the direct output from the transceiver (CLKM) or after passing
186a low-pass filter (CLK):
187<P>
188<A href="atusb-A.png"><IMG src="atusb-A-small.png"></A>
189<P>
190<TABLE frame="border" cellpadding="2">
191<TR><TH align="left">Clock<TH align="left">Action
192<TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check
193  connectivity of crystal
194<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for
195  shorts on SPI signals; check connectivity of SPI signals
196<TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with
197  <B>atrf-xtal</B>
198<TR><TD>Other<TD>Check voltages; check for contamination around crystal
199</TABLE>
200<P>
201Note that, if testing a board into which no boot loader has been flashed
202yet, the clock frequency should be 1 MHz. If an unsuccessful attempt has
203been made to flash the boot loader, the frequency may be 1 MHz or 8 MHz,
204depending on how much code was successfully flashed.
205
206
207<!-- ---------------------------------------------------------------------- -->
208
209
210<H3>Precision measurements</H3>
211
212The clock frequency of <B>atben</B> can be measured with an accuracy
213of about +/&minus; 100 ppm using the program <B>atrf-xtal</B>. <B>atrf-xtal</B>
214runs directly on the Ben and measures the duration of packet transmissions.
215The transmission time depends on the bit clock which is in turn derived
216from the oscillator.
217<PRE>
218atrf-xtal 100
219</PRE>
220The number reported is the number of poll loops the CPU counted. This
221value should be compared to a reference count obtained with a known to
222be good <B>atben</B> board on the same Ben at a comparable temperature.
223<P>
224<TABLE frame="border" cellpadding="2">
225<TR><TH align="left">Difference<TH align="left">Action
226<TR><TD>&gt; +/&minus; 50 ppm<TD>Correct operation
227<TR><TD>&lt; &minus;80 ppm<TD>Check soldering of capacitors;
228  check for contamination around crystal
229<TR><TD>&gt; +120 ppm<TD>idem
230<TR><TD>Other<TD>Divergence can be compensated by adjusting trim value
231</TABLE>
232
233<P>
234<HR>
235Up: <A href="index.html">Production and testing</A>&nbsp;
236Prev: <A href="test.html">Functional test</A>&nbsp;
237<HR>
238Last update: 2011-05-27&nbsp;&nbsp;<I>Werner Almesberger</I>
239<HR>
240</BODY>
241</HTML>

Archive Download the corresponding diff file



interactive