2011-05-18 20:25:54 +03:00
|
|
|
<TITLE>Production and testing: Fault analysis</TITLE>
|
|
|
|
<BODY>
|
|
|
|
<HTML>
|
|
|
|
<H1>Production and testing: Fault analysis</H1>
|
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<!-- ====================================================================== -->
|
2011-05-18 20:25:54 +03:00
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<H2>Component placement and orientation</H2>
|
2011-05-18 20:25:54 +03:00
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<!-- ====================================================================== -->
|
2011-05-18 20:25:54 +03:00
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<H2>Supply voltages</H2>
|
|
|
|
|
2011-05-19 19:55:03 +03:00
|
|
|
The transceiver has three voltage domains:
|
|
|
|
<UL>
|
|
|
|
<LI>The supply and I/O voltage, which is nominally 3.3 V in
|
|
|
|
<B>atben</B> and <B>atusb</B>,
|
|
|
|
<LI>the digital (core) supply, which is nominally 1.8 V, and
|
|
|
|
<LI>the analog (RF) supply, which is nominally 1.8 V.
|
|
|
|
</UL>
|
|
|
|
<BR>
|
|
|
|
On <B>atusb</B>, there is also the USB voltage domain at nominally 5.0 V.
|
|
|
|
<P>
|
|
|
|
Voltages should be tested in the following order: USB, then I/O, then
|
|
|
|
digital, and finally analog. The table below gives the permissible
|
|
|
|
ranges. Any voltages outside of these ranges indicate a problem.
|
|
|
|
<P>
|
2011-05-19 20:46:53 +03:00
|
|
|
<TABLE frame="border" cellpadding="2">
|
2011-05-19 19:55:03 +03:00
|
|
|
<TR><TH>Domain<TH>Nominal<TH>Minimum<TH>Maximum
|
|
|
|
<TR><TD>USB<TD>5.0 V<TD>4.5 V<TD>5.25 V
|
|
|
|
<TR><TD>I/O<TD>3.3 V<TD>3.0 V<TD>3.6 V
|
|
|
|
<TR><TD>Digital<TD>1.8 V<TD>1.7 V<TD>1.9 V
|
|
|
|
<TR><TD>Analog<TD>1.8 V<TD>1.7 V<TD>1.9 V
|
|
|
|
</TABLE>
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<H3>Measurement setup</H3>
|
|
|
|
|
|
|
|
The measurements should be performed either with a digital multimeter.
|
|
|
|
To enable all voltage domains, put the transceiver in receive mode:
|
|
|
|
<PRE>
|
|
|
|
atrf-txrx
|
|
|
|
</PRE>
|
|
|
|
or
|
|
|
|
<PRE>
|
|
|
|
atrf-txrx -d net:ben
|
|
|
|
</PRE>
|
|
|
|
Exit with Ctrl-C.
|
|
|
|
<P>
|
|
|
|
To produce periodic transmissions in addition to enabling all voltage
|
|
|
|
domains, use
|
|
|
|
<PRE>
|
|
|
|
atrf-txrx -p 3 -E 0
|
|
|
|
</PRE>
|
|
|
|
or
|
|
|
|
<PRE>
|
|
|
|
atrf-txrx -d net:ben -p 3 -E 0
|
|
|
|
</PRE>
|
|
|
|
Again, exit with Ctrl-C. Note that the transmissions may disturb nearby
|
|
|
|
equipment operating in the 2.4 GHz band, such as 802.11 networks. This
|
|
|
|
can be prevented by shorting the antenna to ground.
|
|
|
|
<P>
|
|
|
|
In case the board does not accept commands, only the USB and I/O voltage
|
|
|
|
can be checked. If they are correct, proceed with checking the clock.
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ---------------------------------------------------------------------- -->
|
|
|
|
|
|
|
|
|
|
|
|
<H3>Measurement points on atben</H3>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ---------------------------------------------------------------------- -->
|
|
|
|
|
|
|
|
|
|
|
|
<H3>Measurement points on atusb</H3>
|
|
|
|
|
2011-05-18 20:25:54 +03:00
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<!-- ====================================================================== -->
|
2011-05-18 20:25:54 +03:00
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
|
|
|
|
<H2>Clock frequency</H2>
|
2011-05-18 20:25:54 +03:00
|
|
|
|
|
|
|
The flawless performance of the crystal oscillator is crucial for
|
|
|
|
operation. Anomalies are easy to detect with even a low-cost oscilloscope
|
|
|
|
and pinpoint specific problems and help to select further analysis steps.
|
|
|
|
<P>
|
|
|
|
The crystal used in <B>atben</B> and <B>atusb</B> has a nominal tolerance
|
2011-05-19 20:46:53 +03:00
|
|
|
of +/− 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing
|
2011-05-18 20:25:54 +03:00
|
|
|
accuracy of
|
2011-05-19 20:46:53 +03:00
|
|
|
+/− 100 ppm, which means that only major excursions can be detected by
|
2011-05-18 20:25:54 +03:00
|
|
|
measuring the clock output with such an instrument. Full-speed USB only
|
2011-05-19 20:46:53 +03:00
|
|
|
requires an accuracy of +/− 2500 ppm.
|
|
|
|
We can therefore consider all results within a range of +/− 1000 ppm as
|
2011-05-18 20:25:54 +03:00
|
|
|
sufficient, and perform more precise measurements by other means. This
|
|
|
|
applies to <B>atben</B> as well as to <B>atusb</B>.
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<!-- ---------------------------------------------------------------------- -->
|
|
|
|
|
|
|
|
|
|
|
|
<H3>Measuring the clock on atben</H3>
|
2011-05-18 20:25:54 +03:00
|
|
|
|
|
|
|
<B>atben</B> normally does not output a clock signal. A 1 MHz clock
|
|
|
|
can be enabled with the following command:
|
|
|
|
<PRE>
|
|
|
|
atrf-txrx -d net:ben -C 1
|
|
|
|
</PRE>
|
|
|
|
This configures <B>atben</B> as a promiscuous receiver. The reception
|
|
|
|
of any IEEE 802.15.4 frame or pressing Ctrl-C will terminate the command.
|
|
|
|
<P>
|
2011-05-19 20:46:53 +03:00
|
|
|
<TABLE frame="border" cellpadding="2">
|
2011-05-18 20:25:54 +03:00
|
|
|
<TR><TH align="left">Clock<TH align="left">Action
|
|
|
|
<TR><TD>0 Hz<TD>Check voltages; check that the clock is enabled;
|
|
|
|
check for shorts around crystal; check connectivity of crystal
|
|
|
|
<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Perform precision measurement with
|
|
|
|
<B>atrf-xtal</B>
|
|
|
|
<TR><TD>Other<TD>Check voltages; check for contamination around crystal
|
|
|
|
</TABLE>
|
|
|
|
<P>
|
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<!-- ---------------------------------------------------------------------- -->
|
|
|
|
|
|
|
|
|
|
|
|
<H3>Measuring the clock on atusb</H3>
|
2011-05-18 20:25:54 +03:00
|
|
|
|
|
|
|
The transceiver provides the clock for the microcontroller in <B>atusb</B>.
|
|
|
|
A clock signal is therefore always available. Immediately after reset,
|
|
|
|
the transceiver generates a 1 MHz clock. When the microcontrolled comes out
|
|
|
|
of reset, it raises the transceiver's clock output to 8 MHz and then
|
|
|
|
enables USB.
|
|
|
|
<P>
|
2011-05-19 20:46:53 +03:00
|
|
|
<TABLE frame="border" cellpadding="2">
|
2011-05-18 20:25:54 +03:00
|
|
|
<TR><TH align="left">Clock<TH align="left">Action
|
|
|
|
<TR><TD>0 Hz<TD>Check voltages; check for shorts around crystal; check
|
|
|
|
connectivity of crystal
|
|
|
|
<TR><TD>0.999-1.001 MHz, ~3.3 Vpp<TD>Check presence of firmware; check for
|
|
|
|
shorts on SPI signals; check connectivity of SPI signals
|
|
|
|
<TR><TD>7.992-8.008 MHz, ~3.3 Vpp<TD>Perform precision measurement with
|
|
|
|
<B>atrf-xtal</B>
|
|
|
|
<TR><TD>Other<TD>Check voltages; check for contamination around crystal
|
|
|
|
</TABLE>
|
|
|
|
|
|
|
|
|
2011-05-18 20:43:45 +03:00
|
|
|
<!-- ---------------------------------------------------------------------- -->
|
|
|
|
|
|
|
|
|
|
|
|
<H3>Precision measurements</H3>
|
2011-05-18 20:25:54 +03:00
|
|
|
|
2011-05-18 23:49:58 +03:00
|
|
|
The clock frequency of <B>atben</B> can be measured with an accuracy
|
2011-05-19 20:46:53 +03:00
|
|
|
of about +/− 100 ppm using the program <B>atrf-xtal</B>. <B>atrf-xtal</B>
|
2011-05-18 23:49:58 +03:00
|
|
|
runs directly on the Ben and measures the duration of packet transmissions.
|
|
|
|
The transmission time depends on the bit clock which is in turn derived
|
|
|
|
from the oscillator.
|
|
|
|
<PRE>
|
|
|
|
atrf-xtal 100
|
|
|
|
</PRE>
|
|
|
|
The number reported is the number of poll loops the CPU counted. This
|
|
|
|
value should be compared to a reference count obtained with a known to
|
|
|
|
be good <B>atben</B> board and the same Ben at a comparable temperature.
|
|
|
|
<P>
|
2011-05-19 20:46:53 +03:00
|
|
|
<TABLE frame="border" cellpadding="2">
|
2011-05-18 23:49:58 +03:00
|
|
|
<TR><TH align="left">Difference<TH align="left">Action
|
2011-05-19 20:46:53 +03:00
|
|
|
<TR><TD>> +/− 50 ppm<TD>Correct operation
|
|
|
|
<TR><TD>< −80 ppm<TD>Check soldering of capacitors;
|
2011-05-18 23:49:58 +03:00
|
|
|
check for contamination around crystal
|
|
|
|
<TR><TD>> +120 ppm<TD>idem
|
|
|
|
<TR><TD>Other<TD>Divergence can be compensated by adjusting trim value
|
|
|
|
</TABLE>
|
|
|
|
|
2011-05-18 20:25:54 +03:00
|
|
|
<P>
|
|
|
|
<HR>
|
2011-05-18 20:55:22 +03:00
|
|
|
Up: <A href="index.html">Production and testing</A>
|
|
|
|
Prev: <A href="test.html">Functional test</A>
|
|
|
|
<HR>
|
2011-05-18 20:25:54 +03:00
|
|
|
Last update: 2011-05-18 <I>Werner Almesberger</I>
|
|
|
|
<HR>
|
|
|
|
</BODY>
|
|
|
|
</HTML>
|