1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-05 18:42:47 +02:00
ben-wpan/prod/doc/analysis.hmac

254 lines
8.4 KiB
Plaintext

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<TITLE>Production and testing: Fault analysis</TITLE>
<BODY bgcolor="#ffffff" link="#000000" vlink="#404040">
<INCLUDE file="style.inc">
<PAGE_BAR title="Production and testing">
<PAGE_ITEM href="setup.html">Software setup</PAGE_ITEM>
<PAGE_ITEM href="flash.html">Flashing</PAGE_ITEM>
<PAGE_ITEM href="test.html">Functional test</PAGE_ITEM>
<PAGE_CURR href="analysis.html">Fault analysis</PAGE_CURR>
</PAGE_BAR>
<SECTION_BAR>
<SECTION_ITEM href="#orientation">Component orientation</SECTION_ITEM>
<SECTION_ITEM href="#voltages">Voltages</SECTION_ITEM>
<SECTION_ITEM href="#clock">Clock frequency</SECTION_ITEM>
</SECTION_BAR>
<!-- ====================================================================== -->
<SECTION ref="orientation" title="Component orientation">
<!-- ====================================================================== -->
<SECTION ref="voltages" title="Supply voltages">
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>
<TABLE frame="border" cellpadding="2">
<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>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Measurement setup">
The measurements should be performed with a digital multimeter.
The transceiver's analog and digital supplies (1.8 V) are only
activated when sending or receiving.
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.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Measurement points on atben">
The supply voltages on <B>atben</B> can be measured at the terminals of
components as shown in this table:
<P>
<TABLE frame="border" cellpadding="2">
<TR><TH>Domain<TH>Voltage<TH>Component
<TR><TD>I/O<TD>3.3 V<TD>C3, C6
<TR><TD>Digital<TD>1.8 V<TD>C5
<TR><TD>Analog<TD>1.8 V<TD>C4
</TABLE>
<P>
Ground can be accessed at the cover of the crystal.
Note that the fiducials are not connected to ground.
<P>
This image shows the location of the measurement points:
<P>
<A href="atben-B.png"><IMG src="atben-B-small.png"></A>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Measurement points on atusb">
The supply voltages on <B>atusb</B> can be measured at the terminals of
components as shown in this table:
<P>
<TABLE frame="border" cellpadding="2">
<TR><TH>Domain<TH>Voltage<TH>Component
<TR><TD>USB<TD>5.0 V<TD>C1
<TR><TD>I/O<TD>3.3 V<TD>C2, C10, C13
<TR><TD>Digital<TD>1.8 V<TD>C12
<TR><TD>Analog<TD>1.8 V<TD>C11
</TABLE>
<P>
Ground can be accessed at the cover of the crystal, at the shield of the
USB connector, or at the test point P11.
Note that the fiducials are not connected to ground.
<P>
This image shows the location of the measurement points:
<P>
<A href="atusb-B.png"><IMG src="atusb-B-small.png"></A>
<!-- ====================================================================== -->
<SECTION ref="clock" title="Clock frequency">
The precision 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
of +/&minus; 15 ppm at 22-28 C. Low-cost oscilloscopes typically have a timing
accuracy of
+/&minus; 100 ppm, which means that only major excursions can be detected by
measuring the clock output with such an instrument. Full-speed USB only
requires an accuracy of +/&minus; 2500 ppm.
We can therefore consider all results within a range of +/&minus; 1000 ppm as
sufficient, and perform more precise measurements by other means. This
applies to <B>atben</B> as well as to <B>atusb</B>.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Measuring the clock on atben">
<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>
The clock signal (CLKM) is available on the test pad shown here:
<P>
<A href="atben-A.png"><IMG src="atben-A-small.png"></A>
<P>
<TABLE frame="border" cellpadding="2">
<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>
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Measuring the clock on atusb">
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>
The clock signal is available at the terminals of several components,
either as the direct output from the transceiver (CLKM) or after passing
a low-pass filter (CLK):
<P>
<A href="atusb-A.png"><IMG src="atusb-A-small.png"></A>
<P>
<TABLE frame="border" cellpadding="2">
<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>
<P>
Note that, if testing a board into which no boot loader has been flashed
yet, the clock frequency should be 1 MHz. If an unsuccessful attempt has
been made to flash the boot loader, the frequency may be 1 MHz or 8 MHz,
depending on how much code was successfully flashed.
<!-- ---------------------------------------------------------------------- -->
<SUBSECTION title="Precision measurements">
The clock frequency of <B>atben</B> can be measured with an accuracy
of about +/&minus; 100 ppm using the program <B>atrf-xtal</B>. <B>atrf-xtal</B>
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 on the same Ben at a comparable temperature.
<P>
<TABLE frame="border" cellpadding="2">
<TR><TH align="left">Difference<TH align="left">Action
<TR><TD>&gt; +/&minus; 50 ppm<TD>Correct operation
<TR><TD>&lt; &minus;80 ppm<TD>Check soldering of capacitors;
check for contamination around crystal
<TR><TD>&gt; +120 ppm<TD>idem
<TR><TD>Other<TD>Divergence can be compensated by adjusting trim value
</TABLE>
<P>
<HR>
Last update: 2011-05-27&nbsp;&nbsp;<I>Werner Almesberger</I>
<HR>
</BODY>
</HTML>