1 / 11

TinyOS 2.0 Network Stack Enhancements

TinyOS 2.0 Network Stack Enhancements . Joseph Polastre Phil Levis UC Berkeley UC Berkeley Moteiv Corporation. Need for changes. Cross-platform common radio/MAC micaZ, Telos, imote2… Currently each platform implements routines for accessing radio and timer

senta
Download Presentation

TinyOS 2.0 Network Stack Enhancements

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TinyOS 2.0Network Stack Enhancements Joseph Polastre Phil Levis UC Berkeley UC BerkeleyMoteiv Corporation

  2. Need for changes • Cross-platform common radio/MAC • micaZ, Telos, imote2… • Currently each platform implements routines for accessing radio and timer • Support different TOSMsg structures for different radios/MACs • Difficult to build different underlying MAC and Radio implementations—CSMA/TDMA/slotted

  3. Summary of Changes • New TOSMsg format • Defined by each radio • “External types”—network structures • Abstract type—fields provided by components • New Interfaces to AM Layer • Supports CSMA and slotting MAC protocols • New Bus Protocol Abstraction

  4. TOSMsg • Abstract type defined by each MAC protocol • Similar to S-MAC TinyOS implementation Radio/MAC specific header typedef nx_struct TOSMsg { TOSRadioHeader header; nx_uint8_t data[TOSH_DATA_LENGTH]; TOSRadioFooter footer; TOSRadioMetadata metadata; } TOSMsg; Application data payload Radio/MAC specific footer Radio/MAC metadatanot sent over the radio

  5. Global TOSMsg Fields • Interface RadioPacket • Length • Address • Group/PAN • Data • Time • Acknowledgement

  6. Accessing TOSMsg Fields • For Global Fields • Platform and MAC independent • All MAC required to implement • Wire to RadioC.RadioPacket • Access fields through Radio Packet interface length = call RadioPacket.getLength(msg);

  7. Moving up the stack • RadioPacket accesses the lowest primitive fields at the link protocol • AM exports fields throughAMPacket • Likewise, standard MultiHopfields through MultiHopPacket • Provides separation of messagefield implementation and accessto those fields MultiHop AM Radio

  8. Accessing TOSMsg Fields • For MAC-dependent applications • Use structures defined by MAC protocol • Example: CC2420 radio typedef nx_struct TOSRadioMetadata { nx_uint8_t strength; nx_uint8_t lqi; nx_bool crc; nx_bool ack; nx_uint16_t time; } TOSRadioMetadata; void myfunc() { if (msg.lqi > 100) { // perform action } }

  9. Protocol Bus Abstraction • All protocol busses provide Bus Arbitration • SPI, I2C, UART • HIL Protocol Access • Bus must be acquired before use, even if only a single user • Token granted to bus user, all accesses must use token StdControl HIL SPI Bus Arbitration SPIC SPI Configuration

  10. Platform Independent Platform Specific Component OrganizationExample: CC2420 Radio Stack for Telos All radios provide RadioC CSMARadioC Adds CSMA interfaces CC2420RadioM CC2420ControlM CC2420 Logic HPLCC2420 Rd/Wr CC2420 Registers TelosCC2420 Wiring to SPI bus/Ints HIL SPI SPI Bus Interface MCU Implementation HAL SPI HAL Interrupts & Pins HPL MCU MCU Registers Hardware MCU & Radio

  11. Questions? More information: See TEP 105: “Radio Link Layer”

More Related