Designing Wireless Sensor Nodes

2 downloads 38580 Views 206KB Size Report
ing applications of data gathering range from the environmental to the military. ... precision agriculture; in disaster recovery service; in condition based maintenance devices ... It is desirable that sensor nodes be cheap since WSN may have.
Designing Wireless Sensor Nodes Marcos A.M. Vieira1 , Adriano B. da Cunha2 , and Di´ ogenes C. da Silva Jr.2 2

1 Dept. of Computer Science, Federal University of Minas Gerais, Dept. of Electrical Engineering, Federal University of Minas Gerais, Av. Antˆ onio Carlos, 6627, Belo Horizonte, MG, Brazil [email protected], {adborges, diogenes}@cpdee.ufmg.br

Abstract. Wireless sensor networks are networks of large quantities of compact microsensors with wireless communication capability. Emerging applications of data gathering range from the environmental to the military. Architectural challenges are posed for designers such as computational power, energy consumption, energy sources, communication channels and sensing capabilities. This work presents the current stateof-the-art for wireless sensor nodes, investigating and analyzing these challenges. We discuss the characteristics and requirements for a sensor node. A comprehensive comparative study of sensor node platforms, energy management techniques, off-the-shelf microcontrollers, battery types and radio devices is presented.

1

Introduction

A wireless sensor network (WSN) is composed of many autonomous and compact devices called sensor nodes. The objective of this network is to collect data. The availability of integrated low-power sensing devices, embedded processors, wireless communication kits, and power equipment are enabling the design of sensor nodes. Wireless Sensor Network has the potential for many applications and some already exists, for example in a large metropolis to monitor traffic density and road conditions; in engineering to monitor bridges and buildings structures; in a forest for fire detection, in other environments like oceans and air resources; in precision agriculture; in disaster recovery service; in condition based maintenance devices like powerplants; in biomedicine. Other applications include managing complex physical systems like airplane wings and complex ecosystems. A sensor node is composed of a power unit, processing unit, sensing unit, and communication unit. The power unit has the purpose to supply the energy to the node. The processing unit collects and processes signals captured from sensors and transmit them to the network. Sensors devices are devices that produce a measurable response to a change in a physical condition like temperature and pressure. The wireless communication channel enables a medium to transfer signals from sensors to exterior world (provided by a gateway), and also an internal mechanism of communication to establish and maintain of WSN. S. Vassiliadis et al. (Eds.): SAMOS 2006, LNCS 4017, pp. 99–108, 2006. c Springer-Verlag Berlin Heidelberg 2006 

100

M.A.M. Vieira, A.B. da Cunha, and D.C. da Silva Jr.

Power consumption is and will be the primary metric to design a sensor node. While there is the Moore’s Law, that predicts doubling the number of transistors of microelectronic chips every 18-month, and Gilder’s Law, which theorizes that the total communication bandwidth triples every year, there is no equivalent forecast for battery technology. The objective of this work is to present the design considerations and discuss the component choices for a device for WSN. We present the state-of-the-art for sensor node architectures, investigating and analyzing some of the architectural challenges posed by these devices, including a survey of sensor node platforms and energy management techniques. A comparative study of component-off-theshelf (COTS) such as microcontrollers, battery types, and radio devices, which are very important for system design, is presented. The design focus on individual components and not in subsystem level details. We also discuss some architecture issues and design trade-offs.

2

WSN Architecture

This section gives an overview of the WSN architecture. WSNs are networks composed of a large number of sensor nodes. The objective of these networks is to collect data. Sensor nodes are usually deployed over a desired area, then they wake-up, self-test and establish dynamic communications among them, composing a network [1]. Fig. 1 illustrates a WSN. Each dot represents a sensor node. Each device senses the environment, processes and usually transmits the data to gateway nodes. Gateway nodes transmit their data to an external observer called base station. Gateway nodes are ordinary sensor nodes or more complex devices, having more computational capabilities like greater radio range and more computational power. The discussion of gateway nodes is outside the scope of this work. In a conventional network, such as cellular phone or local wireless networks, communication between computational elements is done through radio base stations, which represent a communication infrastructure. WSNs usually do not have such a communication infrastructure. That is why a wireless sensor

Sensor Node

Base Station Gateway Node

Fig. 1. Wireless sensor network architecture

Designing Wireless Sensor Nodes

101

network is considered as a special type of ad-hoc network, since its topology is dynamic, due to the fact that sensor nodes can wake-up joining the network, or go to sleep, leaving the WSN. An important characteristic is that the flow of data is typically unidirectional. The information flows from source nodes to gateway nodes. A key resource of a WSN is the stored energy. Each sensor node is composed of a small battery, with limited capacity. It is almost unfeasible to recharge all battery since WSN can be composed of thousands of sensor nodes. Therefore, the WSN project focus, from hardware design to network protocols, is to save energy. Other sensor node restrictions include memory capacity and processing power. A WSN tends to be application-dependent, in other words, the hardware and software requirements and the operation modes vary according to the application.

3

Characteristics, Requirements and Components

In this section we discuss some characteristics and requirements of a sensor node. The first question the designer should answer is if the sensor node will be a real-life sensor node or a prototype. While in a real product size and cost are essential requirements, a prototype focus the design in a system ease to expand with a number of sensors, robust and easy to reprogram. Following is the design considerations, characteristics and requirements when designing a prototype sensor node: Energy-Efficiency. Sensor nodes must be energy efficient. Sensor nodes have a limited amount of energy that determines their lifetime. Hence, energy is the key resource, being the primary metric for analysis. Sensor node project should focus on energy-efficient COTS. Low-Cost. It is desirable that sensor nodes be cheap since WSN may have hundreds or thousands of sensor nodes. Wireless Communication. The sensor node needs to be wireless. In many applications, the environment being monitored does not have installed infrastructure for communications. Laying wires may be too difficult or expensive. The data rate is low, and a short range transceiver in a license free band is sufficient. The sensor node should receive and transmit, needing a bidirectional communication channel. Processing. Each sensor node should be able to process local data, using filtering and data fusion algorithms to collect data from environment and aggregate this data. Programmability. Since this node will be a test prototyping, it will be often reprogrammed for development of communication protocols and applications for WSN. Hence, the programming should be easy.

102

M.A.M. Vieira, A.B. da Cunha, and D.C. da Silva Jr.

Expansibility. The hardware design must be expandable with a number of sensors to support a variety of applications. Some projects defined a generic sensor bus for future expansion. Size. For demonstration purposes the devices should be reasonable small. But size is of less importance in our project since it does not need to be as small as a real-life wireless sensor nodes. Power-Aware. The hardware should be able to estimate how much energy is available in order to allow algorithms to adapt themselves to the available power.

4

Sensor Node Functional Components

A sensor node, as shown in Fig. 2, is composed of four major blocks: power supply, communication, processing unit, and sensors. The power supply block has the purpose to power the node and usually consists of a battery and a dc-dc converter. The communication block consists of a bidirectional wireless communication channel. Most platforms use a short-range radio. Other solutions include laser and infrared media. The processing unit is composed of internal memory to store data and applications programs, a microcontroller to process data and an Analog-to-Digital Converter to receive signal from the sensing block. The sensing unit block links the sensor node to the physical world and has a group of sensors and actuators that depends on the application of the WSN.

Communication Radio

Operating System & Algorithms

Filtering & Data fusion

Processing unit MCU

ADC

Power supply

DC-DC

Network Protocols

Battery

Power Management

Sensing Sensors

Memory

Fig. 2. Sensor node block diagram

Sensor nodes may also have a storage unit or a debugging unit. The storage unit is an external memory device that works as a secondary memory, keeping a data log. The debugging interface is used to program and test the sensor node, for example, programming interface, LEDs, serial interface, JTAG (IEEE 1149.1). This block can be omitted in a final sensor node product.

Designing Wireless Sensor Nodes

5

103

Processing Unit

Since the sensor node is expected to communicate, process and gather sensor data, sensor nodes must have processing units. The central processing unit of a sensor node determines to a large degree both the energy consumption as well as the computational capabilities of a sensor node. Many different types of CPUs can be integrated into a sensor node and they are discussed in this work. There are a large number of commercially available microcontrollers, microprocessors and programmable logic, which allows great flexibility for CPU implementations. In general, microcontrollers are microprocessor with additional peripheral or support devices embedded in a single chip [2]. Microcontrollers include not only memory and the processor unit, but also non-volatile memory and interfaces such as UART, USB, SPI and I2C, and peripherals such as A/D Converters (ADCs), counters and timers. Therefore, a single chip microcontroller can interface to digital and analog sensors and to communication devices, such as a short-range radio module, to compose a sensor node. The sensor node microcontroller needs to be energy-efficient, with different operating modes, and fast wake-up time. It does not need to have high computing power as a 32-bit microcontroller. The MCU should have an embedded system interface to facilitate the programming and debugging phases. An important feature is the start-up time, since the MCU of a sensor node will usually go to idle mode, but this feature is not very often divulged. Static dissipation and dynamic dissipation are the two components that establish the amount of power dissipated in a CMOS (Complimentary Metal Oxide Semiconductor) circuit. The most important one is the dynamic dissipation because it is due to the switching transient current and the charging and discharging of load capacitances. In this case, the power dissipation is proportional to the clock frequency of the device and the capacitance of the load and the SQUARE of the voltage margin between low to high levels. Thus, dynamic power dissipation may be limited by reducing supply voltage, load capacitance and the frequency at which the logic is being clocked. That is why, applications should use low clock frequency for energy conservation and time keeping, but it also should use high clock frequency for fast reaction to events and fast burst processing. The faster it finishes processing, the longer it remains at low-power mode. Thus, changing the operating clock frequency is a much desired capability. Table 1. Comparison of commercial microcontrollers Characteristic ATMEGA128L MSP430F169 StrongARM 1100 DragonBall MC9328MX1

Bits Flash Power Active 8 128KB 5.5mA @4MHz@3V 16 60 KB 2mA @4MHz@3V 32 N/A 230mW @133MHz 32 N/A 120mA @96MHz

104

M.A.M. Vieira, A.B. da Cunha, and D.C. da Silva Jr.

Table 1 shows a comparison of actual microcontrollers. Microcontroller Control Units (MCUs) have many attributes like word size (number of bits), flash memory capacity, memory size, number of ADCs and timers, operating voltage, current consumption and power modes. In the rest of this section we will discuss some interesting MCUs for WSN. The Texas Instruments MSP430F169 is a 16-bit, 8 MIPS, and a ultra-low power CPU. It has 60Kbytes of program memory and 2Kbytes of data memory. It is equipped with a full set of analog and digital processors. It has embedded debugging and in-system flash programming through a standard JTAG interface. Texas has developed a new member of this family, the MSP430F1611 with 10Kbytes of RAM. The ARM family has floating-point computational capabilities, which makes it suitable for devices demanding more computational power, such as high performance gateways. The Intel SA1100 is a general-purpose, 32-bit RISC microprocessor based on the ARM architecture rated as the most efficient 32-bit low-power processor (in MIPS/Watt). The processor has three states: normal, idle and sleep that can be controlled to manage power consumption. Intel is upgrading the StrongARM SA-1110 processor-based designs to Intel PXA255 processor or Intel PXA26x processor family-based designs. The Motorola DragonBall MC9328MX1 is a 32-bit CPU with a Bluetooth Accelerator radio interface, an Analog Signal Processing (ASP) Module, a Multimedia Accelerator (MMA), and a DPLL Clock and Power Control Module that provides power management capabilities. The choice of MCU depends on application scenario. The ideal choice of microcontroller is the one that matches its performance level with application’s need. Other factors that affect the selection of the proper microcontroller besides energy level include word size, peripherals, memory, speed, physical size, price, availability, personal experience, and vendor support. The majority of current projects on wireless sensor node are using ATMEGA128L or MSP430. Projects that need simple microcontroller and the knowledge of personal experience are using the ATMEGA128L. Projects that need low-power capability and want to study and apply the Dynamic Voltage Scaling (DVS) technique and need more computing power are using MSP430 and ARM family CPUs. It is desirable to know the time when an event happens, like keeping record when a sensor signal was read. Adding a real-time clock allows the sensor node to time and date stamp, and create a logbook. It is possible to create a realtime clock with the microcontroller (using the timer), but at the same time is also desired to put the microcontroller in the low-power mode to save energy, which implies in turning off the timer. This solution would make the software more complex. A simpler approach is to add a real-time clock device, usually external. Many algorithms and applications require a large number of data to be stored. The amount of RAM in the microcontroller is limited. The solution to this problem is to add an external memory device that will work as secondary storage.

Designing Wireless Sensor Nodes

6

105

Power

The power supply block has the purpose to supply the energy to the node, and usually consists of a battery, but sometimes a DC-DC converter is used to boost the battery voltage. A voltage regulator can be added, whose purpose is to maintain the output voltage at a fixed value. It might be possible to extend lifetime of a sensor node by extracting energy from the environment, such as light, vibration and RF. Continuum Control Corp. [3] has launched the iPower energy harvesters. These devices extract electric energy from mechanical vibrations, motion, or impact. Amirtharajah et al. [4] have demonstrated a MEMS system that extracts electric energy from vibrations. There are two major power saving schemas, Dynamic Power Management (DPM) [5] and Dynamic Voltage Scaling (DVS) [6]. These techniques can be classified into static and dynamic. Static techniques are applied at design time, such as compilation and synthesis for low power. Dynamic techniques are applied at run time based on the variations in workloads. These techniques are called DPM. The basic idea behind DPM is to shutdown the devices when not needed and get them back when needed. Turning off some components providing energy savings, but in many cases, it is not known beforehand when to turn on or off a particular device. A solution is a stochastic analysis to predict future events. An embedded operating system that is able to support DPM is also needed. For this approach, the devices should have, at least, the states: active, sleep and idle. Some CPUs offer several levels of active states with varying degrees of computational power and energy consumption, leading to richer power management possibilities. However, it is important to consider that moving between these operating modes involves power and latency overheads. The main idea behind DVS is to change the power to match the workload, avoiding idle cycles. DVS reduces the power consumed by a processor by lowering its operating voltage and frequency. By varying the voltage along with the frequency, it is possible to obtain a quadratic reduction in power consumption. The problem is the fact that workloads are non-deterministic. For this approach, the microcontroller should permit to change its voltage supply and clock. Some approaches uses the StrongARM SA-1100 MCU since it can vary voltage and frequency from 59MHz/0.79V to 251MHz/1.65V.

7

Communication

Sensor nodes must communicate among themselves and also to a base station using a wireless communication channel. We explore optical and radio frequency (RF) channels. The sensor node communication channel needs to be bidirectional to support different operating modes, to be energy-efficient, allows setting the output power, and have relatively slow date rate. The range can vary from tens to about a hundred meters magnitude. Optical Communication. Two technologies for optical communications are the laser and infrared. Laser communication has some advantages. It spends less

106

M.A.M. Vieira, A.B. da Cunha, and D.C. da Silva Jr.

energy than radio over larger range; it is secure, since there is no broadcast and if a channel is intercepted it would interrupt the signal; and there is no need for antennas. There are some disadvantages. It needs line of sight and the laser beam must be lined up with the receiver. Lasers are sensitive to atmospheric conditions and, finally, since the communication is directional and due to the fact that sensor nodes will be deployed randomly, this makes them not an attractive solution. Infrared communication is also directional. An interesting solution adopted by PushPin project [7] is to use an optical diffuser made of sandblasted polycarbonate tubing to create a more omnidirectional communication range within a plane. But, the node still needs to be aligned within that plane. PushPin project adopted the IrDA protocol. Its disadvantage is a short-range of about 1m. The advantage of infrared is no need for antennas. Radio-Frequency. RF communication is based on electromagnetic waves. One of the most important challenges in RF communications devices is the antenna size. RF communication advantages are its ease of use, integrality, and well established in the commercial marketplace, which make it an ideal testing platform for sensor nodes. Several aspects affect the power consumption of a radio including the type of modulation, data rate, and transmission power. In general, radios can operate in three distinct modes of operation: transmit, receive, idle. Most radios operating on idle mode results in high power consumption, almost equal to receive mode, thus, it is important to shutdown the radio.

8

Sensing Devices

The sensing unit is composed of a group of sensors, which are devices that produce electrical signals to a change in a physical condition. Sensors can be classified as either analog or digital devices depending on the type of output they produce. This work does not intend to enumerate all sensor types, but to study their design trade-offs since many types of sensor exists, such as: magnetometer, accelerometer, light, temperature, pressure, and humidity. Given the diversity of sensors, there is no typical power consumption. The type of sensor to be used in a sensor node will depend on the application. Besides energy consumption, another important feature of a sensor is its startup time, in other words, the minimum time after turned on to produce correct sample data. It is desirable that the startup time be as small as possible because it is required to turn off the sensors to reduce energy when they are not being used. Analog sensors need an Analog-to-Digital Converter (ADC). In general, microcontrollers have embedded peripherals that include ADCs and sensor boards do not need dedicated ADCs. The MSP430 family is capable of 200,000 samples per seconds (ksps) of 12 bits divided in eight channels. For complex sensor boards that need higher sample rates or a larger channel number, the solution is to add ADCs to the sensor boards. Depending on the sensor type, it can change the sensor node design. For example, an image sensor would need a very high communication bandwidth,

Designing Wireless Sensor Nodes

107

which would require a communication block redesign. When designing a sensor node, it is desirable to build a sensor block that is easily expandable to support a variety of applications. Most of the sensor node prototypes define a sensor bus that works as an expansion connector.

9

The Bean Wireless Sensor Node

BEAN (Brazilian Energy-Efficient Architectural Node) [8] is a sensor node platform designed at the Federal University of Minas Gerais, Brazil. BEAN is the first sensor node that allows the measurement of power consumption of each architectural block. To our knowledge BEAN is the first sensor node designed in Brazil. Fig. 3 shows a picture of a BEAN prototype. BEAN uses the MSP430F169 microcontroller. An external memory device was added to work as secondary storage. It is a 4 Mbit (512K x 8) serial flash memory and can be switched to a low power mode when it is not used. The communication channel uses the Chipcon CC1000 radio transceiver. It was desirable to design a sensor node that could be expandable to support a variety of applications. BEAN defines a sensor bus that provides a user interface for additional sensor boards. Each sensor node has a unique electronic identification. BEAN provides support for real-time application using an external real-time clock chip. Finally, for debugging objectives, BEAN has four LEDs, and a JTAG interface used to program and debug the microprocessor. Since BEAN is a prototype,

Power Supply JTAG Interface

CPU Sensor Bus

Radio Interface External Memory

LEDs

Real-Time Clock

Fig. 3. BEAN prototype

108

M.A.M. Vieira, A.B. da Cunha, and D.C. da Silva Jr.

it uses an external power supply, and an internal voltage regulator was added. The power budget for BEAN is about 10.3 µA at the power down state. During transmission power consumption is about 17 mA. BEAN also includes software components and provides an Application Programming Interface (API). The API is a set of functionalities to control and configure and also provides services of the hardware components. The API communicates with an upper layer that is usually a WSN dedicated microkernel.

10

Conclusions

Wireless sensor networks present fascinating challenges for the application of distributed signal processing and distributed control. These systems challenge the applications of appropriate techniques to construct cheap processing units with sensing nodes considering energy constraints. We presented the design considerations and components choices, investigating and analyzing some of the architectural challenges posed by these devices like computational power, energy consumption, energy sources, communication channels and sensing capabilities. This work is a guideline for developers, who want to design a microcontroller based sensor node platform. We also discussed some architecture issues, design trade-offs, wireless communication channels, and impact on the WSN protocol stack.

References 1. L. B. Ruiz, J.M.N., Loureiro, A.A.F.: Manna: A management architecture for wireless sensor networks. IEEE Communication Magazine 41 (2003) 116–125 2. Berger, A.S.: Embedded Systems Design, An Introduction to Processes, Tools and Techniques. (2002) 3. Continuum Control Corporation: ipower. Available on: http://www. powerofmotion.com (2005) 4. R. Amirtharajah, S.M.: A micropower programmable dsp powered using a memsbased vibration-to-electric energy converter. In: IEEE Intl. Solid-State Circuits Conference. (2000) 362–369 5. Wang, A., Chandrakasan, A.: Energy efficient system partitioning for distributed wireless sensor networks. In: IEEE International Conference on Acoustics, Speech and Signal Processing. (2001) 905–908 6. Pillai, P., Shin, K.G.: Real-time dynamic voltage scaling for low-power embedded operating systems. In: ACM Symposium on Operating Systems Principles. (2001) 99–102 7. Lifton, J., Seetharam, D., Broxton, M., Paradiso, J.: Pushpin computing system overview: a platform for distributed, embedded, ubiquitous sensor networks. In: Pervasive Computing Conference - LNCS 2414. (2002) 139–151 8. Vieira, M.A.M.: BEAN: A computational platform for wireless sensor networks (in portuguese). Master’s thesis, C. S. Dept. - Federal University of Minas Gerais, Belo Horizonte, Brazil (2004)