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