<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" />
+<meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
<title>TinyOS 802.15.4 Frames</title>
<meta name="author" content="Jonathan Hui, Philip Levis, and David Moss" />
<style type="text/css">
dd {
margin-bottom: 0.5em }
-/* Uncomment (& remove this text!) to get bold-faced definition list terms
-dt {
- font-weight: bold }
-*/
-
div.abstract {
margin: 2em 5em }
</style>
</head>
<body>
+<div class="document" id="tinyos-802-15-4-frames">
<h1 class="title">TinyOS 802.15.4 Frames</h1>
<table class="docinfo" frame="void" rules="none">
<col class="docinfo-name" />
<td>Jonathan Hui, Philip Levis, and David Moss</td></tr>
<tr class="field"><th class="docinfo-name">Draft-Created:</th><td class="field-body">2-Feb-2007</td>
</tr>
-<tr class="field"><th class="docinfo-name">Draft-Version:</th><td class="field-body">1.2</td>
+<tr class="field"><th class="docinfo-name">Draft-Version:</th><td class="field-body">1.6</td>
</tr>
-<tr class="field"><th class="docinfo-name">Draft-Modified:</th><td class="field-body">2007-04-09</td>
+<tr class="field"><th class="docinfo-name">Draft-Modified:</th><td class="field-body">2008-06-20</td>
</tr>
<tr class="field"><th class="docinfo-name">Draft-Discuss:</th><td class="field-body">TinyOS Developer List <tinyos-devel at mail.millennium.berkeley.edu></td>
</tr>
</tbody>
</table>
-<div class="document" id="tinyos-802-15-4-frames">
<div class="note">
<p class="first admonition-title">Note</p>
<p class="last">This memo documents a part of TinyOS for the TinyOS Community, and
of this memo is unlimited. This memo is in full compliance with
TEP 1.</p>
</div>
-<div class="section" id="abstract">
-<h1><a name="abstract">Abstract</a></h1>
+<div class="section">
+<h1><a id="abstract" name="abstract">Abstract</a></h1>
<p>This memo documents the frame format for 802.15.4 packets in TinyOS
2.0.</p>
</div>
-<div class="section" id="introduction">
-<h1><a name="introduction">1. Introduction</a></h1>
+<div class="section">
+<h1><a id="introduction" name="introduction">1. Introduction</a></h1>
<p>802.15.4 is a data-link and physical packet format for
low-power wireless networks that is used in many TinyOS platforms.
The TinyOS 2.0 active message layer adds a packet field for higher-level
the second format is for networks that share the spectrum with 6lowpan
networks[1]_.</p>
</div>
-<div class="section" id="id1">
-<h1><a name="id1">2. 802.15.4</a></h1>
+<div class="section">
+<h1><a id="id1" name="id1">2. 802.15.4</a></h1>
<p>802.15.4 supports several different source and destination addressing
modes, and so has a variable sized packet header.[2]_ A TinyOS device MUST
support packet frames with 16-bit short source and destination addresses.
A TinyOS device MAY support additional 802.15.4 frame formats.</p>
</div>
-<div class="section" id="frame-format">
-<h1><a name="frame-format">3. Frame Format</a></h1>
+<div class="section">
+<h1><a id="frame-format" name="frame-format">3. Frame Format</a></h1>
<p>TinyOS has two 802.15.4 frame formats. The first format, the T-Frame, is
for TinyOS networks which do not share their channel with other wireless
-networking archtiectures. This frame format assumes that TinyOS can use
+networking architectures. This frame format assumes that TinyOS can use
every bit of the packet and does not need to state that it is a TinyOS packet.
T-Frame stands for "TinyOS Frame."</p>
<p>The TinyOS 802.15.4 T-frame format is as follows:</p>
| 802.15.4 Header | 6lowpan | AM type | data | 802.15.4 CRC |
+-------------------+---------+------------------------------+--------------+
</pre>
-<p>AM type is the same as in a T-frame. 6lowpan is the IANA-assigned code
-to identify this as a TinyOS packet. At this time, the exact value of
-this code has not been determined. To inform 6lowpan that this is not
-a 6lowpan packet, the code used MUST be in the range of 192-55.</p>
-<p>The AM type 6lowpan is reserved. A TinyOS program MUST NOT use it.</p>
+<p>AM type is the same as in a T-frame. 6lowpan is the NALP code to
+identify this as a TinyOS packet. NALP codes must be in the range of
+0-63. TinyOS uses code 63 (0x3F).</p>
+<p>The AM type 63 is reserved for both T-Frames and I-Frames. A TinyOS
+program MUST NOT use it.</p>
</div>
-<div class="section" id="implementation">
-<h1><a name="implementation">4. Implementation</a></h1>
-<p>An implementation of the T-Frame can be found in tinyos-2.x/tos/chips/cc2420.</p>
-<p>An implementation of the I-Frame will soon be found in
-tinyos-2.x/tos/chips/cc2420.</p>
+<div class="section">
+<h1><a id="implementation" name="implementation">4. Implementation</a></h1>
+<p>An implementation of T-Frames and I-Frames can be found in
+tinyos-2.x/tos/chips/cc2420/. The components in
+tos/chips/cc2420/lowpan/ control which is used. By default, TinyOS
+802.15.4 stacks use I-Frames, and the 'tframe' make option configures
+them to use T-Frames. This make option defines a symbol named
+<tt class="docutils literal"><span class="pre">TFRAMES_ENABLED</span></tt>. In the case of the CC2420 stack, this causes
+<tt class="docutils literal"><span class="pre">CC2420.h</span></tt> to define <tt class="docutils literal"><span class="pre">CC2420_IFRAME_TYPE</span></tt>, which adds the extra
+byte to the message_t header structure.</p>
</div>
-<div class="section" id="author-addresses">
-<h1><a name="author-addresses">5. Author Addresses</a></h1>
+<div class="section">
+<h1><a id="author-addresses" name="author-addresses">5. Author Addresses</a></h1>
<div class="line-block">
-<div class="line"><br /></div>
<div class="line">Jonathan Hui</div>
<div class="line">657 Mission St. Ste. 600</div>
<div class="line">Arched Rock Corporation</div>
<div class="line">email - <a class="reference" href="mailto:pal@cs.stanford.edu">pal@cs.stanford.edu</a></div>
<div class="line"><br /></div>
<div class="line">David Moss</div>
-<div class="line">Rincon Research</div>
-<div class="line"><br /></div>
-<div class="line"><br /></div>
+<div class="line">Rincon Research Corporation</div>
+<div class="line">101 N. Wilmot, Suite 101</div>
+<div class="line">Tucson, AZ 85750</div>
<div class="line"><br /></div>
+<div class="line">phone - +1 520 519 3138</div>
+<div class="line">email - <a class="reference" href="mailto:dmm@rincon.com">dmm@rincon.com</a></div>
</div>
</div>
</div>