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 29ff186882c0bb78138bfb32e30b686bec44824e created 12 years 10 months ago. By Werner Almesberger, prod/doc/: make END macro generate the date and autor line; use current date | |
---|---|
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 | <SECTION ref="voltages" title="Supply voltages"> |
32 | |
33 | The 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> |
41 | On <B>atusb</B>, there is also the USB voltage domain at nominally 5.0 V. |
42 | <P> |
43 | Voltages should be tested in the following order: USB, then I/O, then |
44 | digital, and finally analog. The table below gives the permissible |
45 | ranges. 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 | |
62 | The measurements should be performed with a digital multimeter. |
63 | The transceiver's analog and digital supplies (1.8 V) are only |
64 | activated when sending or receiving. |
65 | To enable all voltage domains, put the transceiver in receive mode: |
66 | <PRE> |
67 | atrf-txrx |
68 | </PRE> |
69 | or |
70 | <PRE> |
71 | atrf-txrx -d net:ben |
72 | </PRE> |
73 | Exit with Ctrl-C. |
74 | <P> |
75 | To produce periodic transmissions in addition to enabling all voltage |
76 | domains, use |
77 | <PRE> |
78 | atrf-txrx -p 3 -E 0 |
79 | </PRE> |
80 | or |
81 | <PRE> |
82 | atrf-txrx -d net:ben -p 3 -E 0 |
83 | </PRE> |
84 | Again, exit with Ctrl-C. Note that the transmissions may disturb nearby |
85 | equipment operating in the 2.4 GHz band, such as 802.11 networks. This |
86 | can be prevented by shorting the antenna to ground. |
87 | <P> |
88 | In case the board does not accept commands, only the USB and I/O voltage |
89 | can be checked. If they are correct, proceed with checking the clock. |
90 | |
91 | |
92 | <!-- ---------------------------------------------------------------------- --> |
93 | |
94 | |
95 | <SUBSECTION title="Measurement points on atben"> |
96 | |
97 | The supply voltages on <B>atben</B> can be measured at the terminals of |
98 | components 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> |
107 | Ground can be accessed at the cover of the crystal. |
108 | Note that the fiducials are not connected to ground. |
109 | <P> |
110 | This 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 | |
120 | The supply voltages on <B>atusb</B> can be measured at the terminals of |
121 | components 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> |
131 | Ground can be accessed at the cover of the crystal, at the shield of the |
132 | USB connector, or at the test point P11. |
133 | Note that the fiducials are not connected to ground. |
134 | <P> |
135 | This 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 | |
145 | The precision of the crystal oscillator is crucial for |
146 | operation. Anomalies are easy to detect with even a low-cost oscilloscope |
147 | and pinpoint specific problems and help to select further analysis steps. |
148 | <P> |
149 | The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance |
150 | of +/− 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing |
151 | accuracy of |
152 | +/− 100 ppm, which means that only major excursions can be detected by |
153 | measuring the clock output with such an instrument. Full-speed USB only |
154 | requires an accuracy of +/− 2500 ppm. |
155 | We can therefore consider all results within a range of +/− 1000 ppm as |
156 | sufficient, and perform more precise measurements by other means. This |
157 | applies 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 |
166 | can be enabled with the following command: |
167 | <PRE> |
168 | atrf-txrx -d net:ben -C 1 |
169 | </PRE> |
170 | This configures <B>atben</B> as a promiscuous receiver. The reception |
171 | of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command. |
172 | <P> |
173 | The 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 | |
193 | The transceiver provides the clock for the microcontroller in <B>atusb</B>. |
194 | A clock signal is therefore always available. Immediately after reset, |
195 | the transceiver generates a 1 MHz clock. When the microcontrolled comes out |
196 | of reset, it raises the transceiver's clock output to 8 MHz and then |
197 | enables USB. |
198 | <P> |
199 | The clock signal is available at the terminals of several components, |
200 | either as the direct output from the transceiver (CLKM) or after passing |
201 | a 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> |
216 | Note that, if testing a board into which no boot loader has been flashed |
217 | yet, the clock frequency should be 1 MHz. If an unsuccessful attempt has |
218 | been made to flash the boot loader, the frequency may be 1 MHz or 8 MHz, |
219 | depending on how much code was successfully flashed. |
220 | |
221 | |
222 | <!-- ---------------------------------------------------------------------- --> |
223 | |
224 | |
225 | <SUBSECTION title="Precision measurements"> |
226 | |
227 | The clock frequency of <B>atben</B> can be measured with an accuracy |
228 | of about +/− 100 ppm using the program <B>atrf-xtal</B>. <B>atrf-xtal</B> |
229 | runs directly on the Ben and measures the duration of packet transmissions. |
230 | The transmission time depends on the bit clock which is in turn derived |
231 | from the oscillator. |
232 | <PRE> |
233 | atrf-xtal 100 |
234 | </PRE> |
235 | The number reported is the number of poll loops the CPU counted. This |
236 | value should be compared to a reference count obtained with a known to |
237 | be 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>> +/− 50 ppm<TD>Correct operation |
242 | <TR><TD>< −80 ppm<TD>Check soldering of capacitors; |
243 | check for contamination around crystal |
244 | <TR><TD>> +120 ppm<TD>idem |
245 | <TR><TD>Other<TD>Divergence can be compensated by adjusting trim value |
246 | </TABLE> |
247 | |
248 | <END author="Werner Almesberger" date="<GEN_DATE>"> |
249 | </BODY> |
250 | </HTML> |
251 |