Introduction
IEEE 802.15.4 is a wireless technical standard which defines the operation for short-range and low data rate wireless communication, commonly referred as Low Rate Wireless Personal Area Networks (LR-WPANs). It is standard created for low power, cost, complexity and low data rate wireless connectivity among inexpensive and low hardware complexity devices. IEEE 802.15.4 defines PHY and MAC layer standards of OSI model. Other wireless standards like Zigbee, 6LoWPAN, WirelessHART, etc define Network and higher level standards amd use 802.15.4 as base standard. Following figures show OSI architecture of 802.15.4 and power, cost, complexity, and data rate comparisons with other standards.
Objective
1. Setup an Operating System (Contiki OS) on CC2650 Launchpad boards.
2. Setup wireless transmission over IEEE 802.15.4
3. Employ power usage reduction technique for the same.
Hardware required
CC2650 Launchpad Boards (LAUNCHXL-CC2650): CC2650 is multistandard wireless MCU by Texas Instruments. It runs 32-bit ARM Cortex M3 and supports both BLE and IEEE 802.15.4. It runs at 48 MHz as the main microcontroller and a rich peripheral feature set that includes a unique ultra-low power sensor controller which can be used for interfacing external sensors and for collecting analog and digital data autonomously while the rest of the system is in sleep mode. By default it runs on TI-RTOS but for our application we will port it to Contiki OS.
Link for CC2650 Launchpad boards by TI:[1]
Contiki OS
Contiki is an open source operating system for networked, memory-constrained systems with a focus on low-power wireless Internet of Things devices. It provides powerful toolbox for building complex wireless systems. It provides multi-tasking and built-in TCP/IP stack, it needs only 10KB of RAM and 30KB of ROM. Typical contiki system has memory in order of KBs, power consumption in order of mWs, speed in MHz, and communication bandwidth can be hundreds of Kb/s as it is designed to operate on hardware devices that are severely constrained in terms of memory, power, speed and bandwidth.
Contiki provides three network stacks:
1. uIP (micro-IP) TCP/IP stack for IPv6
2. uIPv6 stack for IPv6
3. Rime stack for low power wireless networks
In our project we have used the uIPv6 stack with 6LoWPAN as adaptation layer for transmission and reception which uses IEEE802.15.4 as base stack. Future work includes stripping off higher layers to achieve transmission using only IEEE802.15.4 base layers protocol. Chip can come out of low power mode by External/GPIO interrupt, Timer event or and RTimer/RTC event.
Different low power modes of contiki:
1. Sleep mode
2. Deep sleep mode
3. Power down mode (Only external interrupt can wake the CPU)
In our implementation we have used the lowest possible power mode ie. Power down mode and external interrupt is given by On-board Button (BTN-1 or DIO13).
Implementation
The transmission over IPv6 is continuous and we intend to use low power modes of contiki to reduce power consumption. In our implementation we have used the lowest possible power mode ie. Power down mode and external interrupt is given by On-board Button (BTN-1 or DIO13). Transmission occurs and device goes into power down mode and stays there. The button press boots up the system and transmission occurs followed by again entering into power down mode.
Github link for code: [2]
Future work
Future work includes transmission-reception using bare IEEE802.15.4, incorporating low power modes into it, and wake up using Timer or RTC event. When number of nodes increase, synchronisation techniques are needed and sleep-wake up cycles duration to be set by considering factors like latency allowed for communication, QoS level, etc.
Recent Comments