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 | <H3>Component placement and orientation</H3> |
| 11 | |
| 12 | <!-- ---------------------------------------------------------------------- --> |
| 13 | |
| 14 | |
| 15 | <H3>Supply voltages</H3> |
| 16 | |
| 17 | <!-- ---------------------------------------------------------------------- --> |
| 18 | |
| 19 | |
| 20 | <H3>Clock frequency</H3> |
| 21 | |
| 22 | The flawless performance of the crystal oscillator is crucial for |
| 23 | operation. Anomalies are easy to detect with even a low-cost oscilloscope |
| 24 | and pinpoint specific problems and help to select further analysis steps. |
| 25 | <P> |
| 26 | The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance |
| 27 | of +/- 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing |
| 28 | accuracy of |
| 29 | +/- 100 ppm, which means that only major excursions can be detected by |
| 30 | measuring the clock output with such an instrument. Full-speed USB only |
| 31 | requires an accuracy of +/- 2500 ppm. |
| 32 | We can therefore consider all results within a range of +/- 1000 ppm as |
| 33 | sufficient, and perform more precise measurements by other means. This |
| 34 | applies to <B>atben</B> as well as to <B>atusb</B>. |
| 35 | <P> |
| 36 | |
| 37 | |
| 38 | <H4>Measuring the clock on atben</H4> |
| 39 | |
| 40 | <B>atben</B> normally does not output a clock signal. A 1 MHz clock |
| 41 | can be enabled with the following command: |
| 42 | <PRE> |
| 43 | atrf-txrx -d net:ben -C 1 |
| 44 | </PRE> |
| 45 | This configures <B>atben</B> as a promiscuous receiver. The reception |
| 46 | of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command. |
| 47 | <P> |
| 48 | <TABLE> |
| 49 | <TR><TH align="left">Clock<TH align="left">Action |
| 50 | <TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled; |
| 51 | check for shorts around crystal; check connectivity of crystal |
| 52 | <TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with |
| 53 | <B>atrf-xtal</B> |
| 54 | <TR><TD>Other<TD>Check voltages; check for contamination around crystal |
| 55 | </TABLE> |
| 56 | <P> |
| 57 | |
| 58 | |
| 59 | <H4>Measuring the clock on atusb</H4> |
| 60 | |
| 61 | The transceiver provides the clock for the microcontroller in <B>atusb</B>. |
| 62 | A clock signal is therefore always available. Immediately after reset, |
| 63 | the transceiver generates a 1 MHz clock. When the microcontrolled comes out |
| 64 | of reset, it raises the transceiver's clock output to 8 MHz and then |
| 65 | enables USB. |
| 66 | <P> |
| 67 | <TABLE> |
| 68 | <TR><TH align="left">Clock<TH align="left">Action |
| 69 | <TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check |
| 70 | connectivity of crystal |
| 71 | <TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for |
| 72 | shorts on SPI signals; check connectivity of SPI signals |
| 73 | <TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with |
| 74 | <B>atrf-xtal</B> |
| 75 | <TR><TD>Other<TD>Check voltages; check for contamination around crystal |
| 76 | </TABLE> |
| 77 | |
| 78 | |
| 79 | <H4>Precision measurements</H4> |
| 80 | |
| 81 | <P> |
| 82 | <HR> |
| 83 | Last update: 2011-05-18 <I>Werner Almesberger</I> |
| 84 | <HR> |
| 85 | </BODY> |
| 86 | </HTML> |
prod/doc/index.html |
79 | 79 | <!-- ====================================================================== --> |
80 | 80 | |
81 | 81 | |
82 | | <H2>Software setup</H2> |
| 82 | <H2>Detailed description</H2> |
83 | 83 | |
84 | | Before performing any production tests, various pieces of software |
85 | | need to be installed on Ben and PC, and configuration settings |
86 | | @@@ |
| 84 | The following pages describe the preparation and the execution of the |
| 85 | production and test process: |
| 86 | <UL> |
| 87 | <LI><A href="setup.html">Software setup</A> |
| 88 | <LI><A href="flash.html">Flashing (<B>atusb</B> only)</A> |
| 89 | <LI><A href="test.html">Functional test</A> |
| 90 | <LI><A href="analysis.html">Fault analysis</A> |
| 91 | </UL> |
87 | 92 | |
88 | 93 | |
89 | | <!-- ---------------------------------------------------------------------- --> |
90 | | |
91 | | |
92 | | <H3>PC software installation</H3> |
93 | | |
94 | | @@@ |
95 | | |
96 | | <H4>Install ben-wpan tools</H4> |
97 | | |
98 | | @@@ |
99 | | |
100 | | <H4>Register Ben host name</H4> |
101 | | |
102 | | To simplify accessing the Ben via TCP/IP, its IP address should be |
103 | | registered in the hosts file on the PC. If the Ben is running OpenWrt, |
104 | | use the following command: |
105 | | <PRE> |
106 | | echo 192.168.254.101 ben >>/etc/hosts |
107 | | </PRE> |
108 | | <P> |
109 | | If the Ben is running Jlime, the address would be as follows: |
110 | | <PRE> |
111 | | echo 192.168.1.202 ben >>/etc/hosts |
112 | | </PRE> |
113 | | <P> |
114 | | If using the same PC with Bens running OpenWrt and Jlime, one may choose |
115 | | different host names depending on the distribution, and adapt the commands |
116 | | used in the production and testing process accordingly. For example, |
117 | | <PRE> |
118 | | echo 192.168.254.101 ben >>/etc/hosts |
119 | | echo 192.168.1.202 jlime >>/etc/hosts |
120 | | </PRE> |
121 | | |
122 | | |
123 | | <!-- ---------------------------------------------------------------------- --> |
124 | | |
125 | | |
126 | | <H3>Ben system setup</H3> |
127 | | |
128 | | The configuration setting described in this section are lost on each |
129 | | reset or reboot and either need to be entered again or a setup script |
130 | | running at boot time has to |
131 | | This needs to be done each time the Ben is booted. |
132 | | |
133 | | |
134 | | <H4>Enable network access</H4> |
135 | | |
136 | | Once the Ben has booted and started USB networking, the interface |
137 | | on the PC side is configured as follows: |
138 | | <PRE> |
139 | | ifconfig usb0 192.168.254.100 up |
140 | | </PRE> |
141 | | <P> |
142 | | These are the settings for OpenWrt, assuming the network device is |
143 | | called "usb0". If using Jlime, the command would be as follows: |
144 | | <PRE> |
145 | | ifconfig usb0 192.168.1.200 up |
146 | | </PRE> |
147 | | |
148 | | |
149 | | <H4>Silence other 8:10 card users</H4> |
150 | | |
151 | | Before running any of the ben-wpan utilities, other users of the 8:10 |
152 | | card slot have to be disabled. In a Ben running the regular OpenWrt or |
153 | | Jlime distribution, the only such user that is automatically started |
154 | | is the MMC kernel driver. The following command disables it: |
155 | | <PRE> |
156 | | echo jz4740-mmc.0 >/sys/bus/platform/drivers/jz4740-mmc/unbind |
157 | | </PRE> |
158 | | <P> |
159 | | If a WPAN-enabled kernel has been installed, the AT86RF230 driver takes |
160 | | the place of the MMC driver. To disable it, run |
161 | | <PRE> |
162 | | echo spi2.0 >/sys/bus/spi/drivers/at86rf230/unbind |
163 | | </PRE> |
164 | | |
165 | | |
166 | | <H4>Start atrf-proxy</H4> |
167 | | |
168 | | On the Ben, launch the proxy daemon. We pass the option -b to background it: |
169 | | <PRE> |
170 | | atrf-proxy -b |
171 | | </PRE> |
172 | | |
173 | | |
174 | | <!-- ---------------------------------------------------------------------- --> |
175 | | |
176 | | |
177 | | <H3>Ben software installation</H3> |
178 | | |
179 | | <H4>Password-less remote access</H4> |
180 | | |
181 | | To enable password-less remote access from the PC, setup to betwork |
182 | | access to the Ben and run the following command: |
183 | | <PRE> |
184 | | ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub |
185 | | </PRE> |
186 | | |
187 | | |
188 | | <!-- ---------------------------------------------------------------------- --> |
189 | | |
190 | | |
191 | | <H3>Test profiles</H3> |
192 | | |
193 | | |
194 | | <!-- ====================================================================== --> |
195 | | |
196 | | |
197 | | <H2>Flashing (atusb only)<H2> |
198 | | |
199 | | <!-- ---------------------------------------------------------------------- --> |
200 | | |
201 | | |
202 | | <H3>Flashing the boot loader</H3> |
203 | | |
204 | | <P> |
205 | | <IMG src="setup-C.png"> |
206 | | <P> |
207 | | |
208 | | |
209 | | <!-- ---------------------------------------------------------------------- --> |
210 | | |
211 | | |
212 | | <H3>Flashing the application</H3> |
213 | | |
214 | | <P> |
215 | | <IMG src="setup-D.png"> |
216 | | <P> |
217 | | |
218 | | |
219 | | <!-- ====================================================================== --> |
220 | | |
221 | | |
222 | | <H2>Functional test</H2> |
223 | | |
224 | | <!-- ---------------------------------------------------------------------- --> |
225 | | |
226 | | |
227 | | <H3>Test setup for atben</H3> |
228 | | |
229 | | <P> |
230 | | <IMG src="setup-A.png"> |
231 | | <P> |
232 | | |
233 | | <!-- ---------------------------------------------------------------------- --> |
234 | | |
235 | | |
236 | | <H3>Test setup for atusb</H3> |
237 | | |
238 | | <P> |
239 | | <IMG src="setup-B.png"> |
240 | | <P> |
241 | | |
242 | | <!-- ---------------------------------------------------------------------- --> |
243 | | |
244 | | |
245 | | <H3>Test procedure</H3> |
246 | | |
247 | | |
248 | | <!-- ====================================================================== --> |
249 | | |
250 | | |
251 | | <H2>Fault analysis</H2> |
252 | | |
253 | | <!-- ---------------------------------------------------------------------- --> |
254 | | |
255 | | |
256 | | <H3>Component placement and orientation</H3> |
257 | | |
258 | | <!-- ---------------------------------------------------------------------- --> |
259 | | |
260 | | |
261 | | <H3>Supply voltages</H3> |
262 | | |
263 | | <!-- ---------------------------------------------------------------------- --> |
264 | | |
265 | | |
266 | | <H3>Clock frequency</H3> |
267 | | |
268 | | The flawless performance of the crystal oscillator is crucial for |
269 | | operation. Anomalies are easy to detect with even a low-cost oscilloscope |
270 | | and pinpoint specific problems and help to select further analysis steps. |
271 | | <P> |
272 | | The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance |
273 | | of +/- 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing |
274 | | accuracy of |
275 | | +/- 100 ppm, which means that only major excursions can be detected by |
276 | | measuring the clock output with such an instrument. Full-speed USB only |
277 | | requires an accuracy of +/- 2500 ppm. |
278 | | We can therefore consider all results within a range of +/- 1000 ppm as |
279 | | sufficient, and perform more precise measurements by other means. This |
280 | | applies to <B>atben</B> as well as to <B>atusb</B>. |
281 | | <P> |
282 | | |
283 | | |
284 | | <H4>Measuring the clock on atben</H4> |
285 | | |
286 | | <B>atben</B> normally does not output a clock signal. A 1 MHz clock |
287 | | can be enabled with the following command: |
288 | | <PRE> |
289 | | atrf-txrx -d net:ben -C 1 |
290 | | </PRE> |
291 | | This configures <B>atben</B> as a promiscuous receiver. The reception |
292 | | of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command. |
293 | | <P> |
294 | | <TABLE> |
295 | | <TR><TH align="left">Clock<TH align="left">Action |
296 | | <TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled; |
297 | | check for shorts around crystal; check connectivity of crystal |
298 | | <TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with |
299 | | <B>atrf-xtal</B> |
300 | | <TR><TD>Other<TD>Check voltages; check for contamination around crystal |
301 | | </TABLE> |
302 | | <P> |
303 | | |
304 | | |
305 | | <H4>Measuring the clock on atusb</H4> |
306 | | |
307 | | The transceiver provides the clock for the microcontroller in <B>atusb</B>. |
308 | | A clock signal is therefore always available. Immediately after reset, |
309 | | the transceiver generates a 1 MHz clock. When the microcontrolled comes out |
310 | | of reset, it raises the transceiver's clock output to 8 MHz and then |
311 | | enables USB. |
312 | | <P> |
313 | | <TABLE> |
314 | | <TR><TH align="left">Clock<TH align="left">Action |
315 | | <TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check |
316 | | connectivity of crystal |
317 | | <TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for |
318 | | shorts on SPI signals; check connectivity of SPI signals |
319 | | <TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with |
320 | | <B>atrf-xtal</B> |
321 | | <TR><TD>Other<TD>Check voltages; check for contamination around crystal |
322 | | </TABLE> |
323 | | |
324 | | |
325 | | <H4>Precision measurements</H4> |
326 | | |
327 | 94 | <P> |
328 | 95 | <HR> |
329 | 96 | Last update: 2011-05-18 <I>Werner Almesberger</I> |
prod/doc/setup.html |
| 1 | <TITLE>Production and testing: Software setup</TITLE> |
| 2 | <BODY> |
| 3 | <HTML> |
| 4 | <H1>Production and testing: Software setup</H1> |
| 5 | |
| 6 | Before performing any production tests, various pieces of software |
| 7 | need to be installed on Ben and PC, and configuration settings |
| 8 | @@@ |
| 9 | |
| 10 | |
| 11 | <!-- ---------------------------------------------------------------------- --> |
| 12 | |
| 13 | |
| 14 | <H3>PC software installation</H3> |
| 15 | |
| 16 | @@@ |
| 17 | |
| 18 | <H4>Install ben-wpan tools</H4> |
| 19 | |
| 20 | @@@ |
| 21 | |
| 22 | <H4>Register Ben host name</H4> |
| 23 | |
| 24 | To simplify accessing the Ben via TCP/IP, its IP address should be |
| 25 | registered in the hosts file on the PC. If the Ben is running OpenWrt, |
| 26 | use the following command: |
| 27 | <PRE> |
| 28 | echo 192.168.254.101 ben >>/etc/hosts |
| 29 | </PRE> |
| 30 | <P> |
| 31 | If the Ben is running Jlime, the address would be as follows: |
| 32 | <PRE> |
| 33 | echo 192.168.1.202 ben >>/etc/hosts |
| 34 | </PRE> |
| 35 | <P> |
| 36 | If using the same PC with Bens running OpenWrt and Jlime, one may choose |
| 37 | different host names depending on the distribution, and adapt the commands |
| 38 | used in the production and testing process accordingly. For example, |
| 39 | <PRE> |
| 40 | echo 192.168.254.101 ben >>/etc/hosts |
| 41 | echo 192.168.1.202 jlime >>/etc/hosts |
| 42 | </PRE> |
| 43 | |
| 44 | |
| 45 | <!-- ---------------------------------------------------------------------- --> |
| 46 | |
| 47 | |
| 48 | <H3>Ben system setup</H3> |
| 49 | |
| 50 | The configuration setting described in this section are lost on each |
| 51 | reset or reboot and either need to be entered again or a setup script |
| 52 | running at boot time has to |
| 53 | This needs to be done each time the Ben is booted. |
| 54 | |
| 55 | |
| 56 | <H4>Enable network access</H4> |
| 57 | |
| 58 | Once the Ben has booted and started USB networking, the interface |
| 59 | on the PC side is configured as follows: |
| 60 | <PRE> |
| 61 | ifconfig usb0 192.168.254.100 up |
| 62 | </PRE> |
| 63 | <P> |
| 64 | These are the settings for OpenWrt, assuming the network device is |
| 65 | called "usb0". If using Jlime, the command would be as follows: |
| 66 | <PRE> |
| 67 | ifconfig usb0 192.168.1.200 up |
| 68 | </PRE> |
| 69 | |
| 70 | |
| 71 | <H4>Silence other 8:10 card users</H4> |
| 72 | |
| 73 | Before running any of the ben-wpan utilities, other users of the 8:10 |
| 74 | card slot have to be disabled. In a Ben running the regular OpenWrt or |
| 75 | Jlime distribution, the only such user that is automatically started |
| 76 | is the MMC kernel driver. The following command disables it: |
| 77 | <PRE> |
| 78 | echo jz4740-mmc.0 >/sys/bus/platform/drivers/jz4740-mmc/unbind |
| 79 | </PRE> |
| 80 | <P> |
| 81 | If a WPAN-enabled kernel has been installed, the AT86RF230 driver takes |
| 82 | the place of the MMC driver. To disable it, run |
| 83 | <PRE> |
| 84 | echo spi2.0 >/sys/bus/spi/drivers/at86rf230/unbind |
| 85 | </PRE> |
| 86 | |
| 87 | |
| 88 | <H4>Start atrf-proxy</H4> |
| 89 | |
| 90 | On the Ben, launch the proxy daemon. We pass the option -b to background it: |
| 91 | <PRE> |
| 92 | atrf-proxy -b |
| 93 | </PRE> |
| 94 | |
| 95 | |
| 96 | <!-- ---------------------------------------------------------------------- --> |
| 97 | |
| 98 | |
| 99 | <H3>Ben software installation</H3> |
| 100 | |
| 101 | <H4>Password-less remote access</H4> |
| 102 | |
| 103 | To enable password-less remote access from the PC, setup to betwork |
| 104 | access to the Ben and run the following command: |
| 105 | <PRE> |
| 106 | ssh ben 'cat >>/etc/dropbear/authorized_keys' <~/.ssh/id_rsa.pub |
| 107 | </PRE> |
| 108 | |
| 109 | |
| 110 | <!-- ---------------------------------------------------------------------- --> |
| 111 | |
| 112 | |
| 113 | <H3>Test profiles</H3> |
| 114 | |
| 115 | |
| 116 | <P> |
| 117 | <HR> |
| 118 | Last update: 2011-05-18 <I>Werner Almesberger</I> |
| 119 | <HR> |
| 120 | </BODY> |
| 121 | </HTML> |