Full text
ADVERTIMENT . La consulta d’aquesta tesi queda condicionada a l’acceptació de les següents condicions d'ús: La difusió d’aquesta tesi per mitjà del servei TDX (www.tesisenxarxa.net) ha estat autoritzada pels titulars dels drets de propietat intel·lectual únicament per a usos privats emmarcats en activitats d’investigació i docència. No s’autoritza la seva reproducció amb finalitats de lucre ni la seva difusió i posada a disposició des d’un lloc aliè al servei TDX. No s’autoritza la presentació del seu contingut en una finestra o marc aliè a TDX (framing). Aquesta reserva de drets afecta tant al resum de presentació de la tesi com als seus continguts. En la utilització o cita de parts de la tesi és obligat indicar el nom de la persona autora. ADVERTENCIA. La consulta de esta tesis queda condicionada a la aceptación de las siguientes condiciones de uso: La difusión de esta tesis por medio del servicio TDR (www.tesisenred.net) ha sido autorizada por los titulares de los derechos de propiedad intelectual únicamente para usos privados enmarcados en actividades de investigación y docencia. No se autoriza su reproducción con finalidades de lucro ni su difusión y puesta a disposición desde un sitio ajeno al servicio TDR. No se autoriza la presentación de su contenido en una ventana o marco ajeno a TDR (framing). Esta reserva de derechos afecta tanto al resumen de presentación de la tesis como a sus contenidos. En la utilización o cita de partes de la tesis es obligado indicar el nombre de la persona autora. WARNING. On having consulted this thesis you’re accepting the following use conditions: Spreading this thesis by the TDX (www.tesisenxarxa.net) service has been authorized by the titular of the intellectual property rights only for private uses placed in investigation and teaching activities. Reproduction with lucrative aims is not authorized neither its spreading and availability from a site foreign to the TDX service. Introducing its content in a window or frame foreign to the TDX service is not authorized (framing). This rights affect to the presentation summary of the thesis as well as to its contents. In the using or citation of parts of the thesis it’s obliged to indicate the name of the author
UNIVERSITAT POLIT` ECNICA DE CATALUNYA Wake-up Radio Systems: Design, Development, Performance Evaluation and Comparison to Conventional Medium Access Control Protocols for Wireless Sensor Networks by Joaquim Oller i Bosch A thesis submitted in partial fulfillment for the degree of Doctor of Philosophy in the Escola T`ecnica Superior d’Enginyeria de Telecomunicaci´o de Barcelona Departament d’Enginyeria Telem`atica PhD Advisor: Jordi Casademont i Serra January 2015
Acta de qualificació de tesi doctoral Curs acadèmic: Nom i cognoms Programa de doctorat Unitat estructural responsable del programa Resolució del Tribunal Reunit el Tribunal designat a l'efecte, el doctorand / la doctoranda exposa el tema de la seva tesi doctoral titulada __________________________________________________________________________________________ _________________________________________________________________________________________. Acabada la lectura i després de donar resposta a les qüestions formulades pels membres titulars del tribunal, aquest atorga la qualificació: NO APTE APROVAT NOTABLE EXCEL·LENT (Nom, cognoms i signatura) President/a (Nom, cognoms i signatura) Secretari/ària (Nom, cognoms i signatura) Vocal (Nom, cognoms i signatura) Vocal (Nom, cognoms i signatura) Vocal ______________________, _______ d'/de __________________ de _______________ El resultat de l’escrutini dels vots emesos pels membres titulars del tribunal, efectuat per l’Escola de Doctorat, a instància de la Comissió de Doctorat de la UPC, atorga la MENCIÓ CUM LAUDE: SÍ NO (Nom, cognoms i signatura) President de la Comissió Permanent de l’Escola de Doctorat (Nom, cognoms i signatura) Secretari de la Comissió Permanent de l’Escola de Doctorat Barcelona, _______ d'/de ____________________ de _________
Declaration of Authorship I, Joaquim Oller Bosch, declare that this thesis titled, ‘Wake-up Radio Systems: Design, Development, Performance Evaluation and Comparison to Conventional Medium Access Control Protocols for Wireless Sensor Networks’ and the work presented in it are my own. I confirm that: ∎This work was done wholly or mainly while in candidature for a research degree at this University. ∎Where any part of this thesis has previously been submitted for a degree or any other qualification at this University or any other institution, this has been clearly stated. ∎Where I have consulted the published work of others, this is always clearly attributed. ∎Where I have quoted from the work of others, the source is always given. With the exception of such quotations, this thesis is entirely my own work. ∎I have acknowledged all main sources of help. ∎Where the thesis is based on work done by myself jointly with others, I have made clear exactly what was done by others and what I have contributed myself. Signed: Date:
UNIVERSITAT POLIT` ECNICA DE CATALUNYA Abstract Escola T`ecnica Superior d’Enginyeria de Telecomunicaci´o de Barcelona Departament d’Enginyeria Telem`atica Doctor of Philosophy by Joaquim Oller i Bosch This thesis arises from the need of improving the energy efficiency of radio communications in low-power applications such as Wireless Sensor Networks. During the last years, the traditional paradigm employed by this type of networks has been duty-cycling, which suffers from several issues such as overhearing and idle listening. This work presents a research developed in the field of Wake-up Radio (WuR) systems in an incremental fashion; from the very basic concepts in low-power communications, microcontrollers, wake-up receivers (WuRx) and transmitters (WuTx), up to two complete designs of WuR systems, which are thoroughly analyzed along the thesis in terms of numerous metrics. The thesis also exhaustively describes the kind of applications that may benefit from WuR systems. Node addressing is a crucial feature in WuR systems. Thus, this thesis also presents, develops and analyzes several of these addressing mechanisms for WuR systems. A complete state-of-the-art is also presented in the thesis comprising a complete overview of most relevant WuR systems as of 2014. Such systems are analyzed in detail and their features and architectures compared to the two designs previously mentioned. To be able to study the performance of networks with a high number of concurrent nodes, this thesis also provides a complete framework for simulating and comparing WuR systems to traditional duty-cycled MAC approaches. The evaluated protocols are among the most known and used in the research literature. Regarding commercial systems, this thesis also analyzes and evaluates the performance of Bluetooth Low Energy (BLE), a low-power MAC protocol which in certain cases proves to fit several applications better than WuR. Finally, this thesis solves the issue of the need for custom wake-up transmitters, as required by most WuR systems, by presenting a design that enables any IEEE 802.11-enabled device to be used as a WuTx without requiring any hardware modification. This idea effectively allows extending WuR systems to a whole new area of customer-oriented applications.
CONTENTS xiii 8 Extending the WuR Functionalities to IEEE 802.11: Rethinking WuTx 155 8.1 Introduction and Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.2 An IEEE 802.11-enabled WuR System . . . . . . . . . . . . . . . . . . . . . . . . . 156 8.2.1 IEEE 802.11-enabled WuRx Design . . . . . . . . . . . . . . . . . . . . . . 157 8.2.2 IEEE 802.11 WuTx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 8.3 Performance Evaluation of the WuR system . . . . . . . . . . . . . . . . . . . . . . 159 8.3.1 Latency Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 8.3.2 Power Consumption Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 160 8.3.3 Operational Range Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 8.4 Conclusions and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Conclusions 165 Bibliography 169
List of Figures Chapter 1 1.1 Elements of a basic wireless system. . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 A CR2032 coin cell battery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Elements of a basic wireless system (II). . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Example execution flow of the MCU in a wireless sensor node. . . . . . . . . . . 7 1.5 MCU execution flows for (a) transmitter and (b) receiver nodes. . . . . . . . . . 11 1.6 The Wake-up Radio paradigm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapter 2 2.1 (a) Basic envelope detector; (b) input (blue) and output (red) waveforms. [1]. . 19 2.2 (a) The SµA-WuRx circuit design; (b) five-stage VM rectified output (Vo). . . . 20 2.3 (a) A 5-stage SµA-WuRx. In the image: 1 - antenna, 2 - SAW filter, 3 - voltage multiplier, 4 - wake-up interrupt output pin, 5 - comparator. (b) Return loss variances of the ANT-868-SP antenna depending on physical placement. . . . . 21 2.4 A WuC as received by the SµA-WuRx. Bottom signal shows the comparator’s input; top signal shows the comparator’s output. . . . . . . . . . . . . . . . . . . . 22 2.5 (a) The 868 MHz WuTx attached to a WSN mote. (b) Measurement of the output power of the WuTx considering a 30 dB attenuator. . . . . . . . . . . . . 23 2.6 WuTx output power controlled by using (a) the PC pin; (b) VCC variation. . . 25 2.7 Observed wake-up zones for the reference outdoor WuR test. WuTx: Small (4.3 cm x 3.3 cm) ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA- WuRx: 3.81 cm x 4 cm ground plane, SAW filter, five-stage VM. . . . . . . . . . 27 2.8 Wake-up zones for the indoor scenario. WuTx: Small (4.3 cm x 3.3 cm) ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA-WuRx: 3.81 cm x 4 cm ground plane, SAW filter, five-stage VM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.9 Wake-up zones for the outdoor scenario when removing the SAW filter in the SµA-WuRx. WuTx: Small (4.3 cm x 3.3 cm) ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA-WuRx: 3.81 cm x 4 cm ground plane, no SAW filter, fivestageVM........................................... 28 xv
xvi LIST OF FIGURES 2.10 Wake-up zones for the outdoor scenario. WuTx: 10 cm x 10 cm ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA-WuRx: 3.81 cm x 4 cm ground plane, no SAW filter, five-stage VM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.11 (a) Hardware design of the developed patch antenna. (b) Frequency response of the developed patch antenna design. . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.12 Radiation patterns of the patch antenna: (a) E-plane; (b) H-plane. . . . . . . . . 32 2.13 Front radiation pattern of the patch antenna (units: dB). . . . . . . . . . . . . . 32 2.14 Wake-up zones for the outdoor scenario. WuTx: Patch antenna, gain = 7 dB for (a) VCC = 2.5 V, and (b) VCC = 2.8 V. SµA-WuRx: 3.81 cm x 4 cm ground plane, SAW filter, five-stage VM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.15 Simulated cumulative voltage results for 2, 5, and 10 VM stages, respectively. . 34 2.16 WuC delay shown at the output of the transmitter (bottom) and at the output of the VM on the WuRx (top). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.17 The AS3933 block diagram. The use of correlator is optional. . . . . . . . . . . . 36 2.18 The AS3933 WuTx (top) and WuRx (bottom). . . . . . . . . . . . . . . . . . . . . 37 2.19 Wake-up zones of the outdoor scenario for the AS3933 demokit when WuTx power supply is (a) VCC = 5 V; (b) VCC = 12 V. . . . . . . . . . . . . . . . . . . 38 2.20 Normalized RSSI values measured by AS3933 WuRx when WuTx is powered at (a) VCC = 5 V; (b) VCC = 12 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Chapter 3 3.1 Time diagram for decoding the WuRx address by MCU. . . . . . . . . . . . . . . 44 3.2 Address comparison by means of bit correlation. . . . . . . . . . . . . . . . . . . . 45 3.3 WuC decoding in the AS3933; (1) Carrier burst, (2) separation bit, (3) preamble, (4) destination node address. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4 The TicK addressing approach. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5 Different ways to code a WuRx address in TicK. . . . . . . . . . . . . . . . . . . . 49 3.6 Detailed TicK operation within a time block. . . . . . . . . . . . . . . . . . . . . . 51 3.7 Average current consumption of TicK for different (ns, nb) tuples for 16 bit addressing, with MCU frequency of (a) 1 MHz and (b) 16 MHz. . . . . . . . . . . 54 3.8 Battery lifetime of the three WuRx addressing approaches vs. interarrival times. 55 3.9 Total current consumption featured by the three WuRx addressing approaches for a varying number of nodes (T = 1000 ms). . . . . . . . . . . . . . . . . . . . . 56 Chapter 4 4.1 (a) Block diagram of the SCM-WuRx/WuTx. (b) Block diagram of the Austria MicroSystems AS3932 WuRx demoboard. . . . . . . . . . . . . . . . . . . . . . . . 63 4.2 Bits of a WuC in a SCM-WuR system. . . . . . . . . . . . . . . . . . . . . . . . . . 64
LIST OF FIGURES xvii 4.3 The SCM-WuR hardware board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.4 (a) L-matching network; (b) Smith Chart trajectories; (c) Dotted-line: power transferred. Flat line: VSWR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.5 (a) π-matching network; (b) Smith Chart trajectories; (c) Dotted-line: power transferred. Flat line: VSWR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.6 WuC format as in the AS393x datasheet. . . . . . . . . . . . . . . . . . . . . . . . 68 4.7 Incoming WuC from the SCM-WuTx and corresponding interrupt (INT) signal to the node’s MCU in the receiving SCM-WuRx. . . . . . . . . . . . . . . . . . . . 69 4.8 (a) Power analyzer trace of a SCM-WuR relay node; (b) Powering the relay SCM-WuR node by means of a solar cell and a supercapacitor. . . . . . . . . . . 70 4.9 Wake-up distance evaluations for SCM-WuTx output power of (a) -10 dBm; (b) 0 dBm; and (c) +10 dBm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.10 Simulation of the theoretical received power of SCM-WuRx vs. measured sensitivity............................................. 73 4.11 A bus stop equipped with SCM-WuR sensors. . . . . . . . . . . . . . . . . . . . . 74 4.12 A network of SCM-WuR vibration sensor nodes along a multi-hop scenario. . . 76 4.13 (a) Lifetime (days) and PDR (b) of Node 1 in Figure 4.12. . . . . . . . . . . . . . 77 Chapter 5 5.1 Passive RFID-based WuR system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2 Block diagram of the heterodyne WuRx in [2]. . . . . . . . . . . . . . . . . . . . . 82 5.3 MCU-based WuRx design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.4 The low-complexity WuRX design in [3]. . . . . . . . . . . . . . . . . . . . . . . . . 85 5.5 The low-complexity WuRx design in [4] attached to a wireless sensor node. When the WuRx detects a WuC, the main board is woken up from sleep mode to transmit back an IEEE 802.15.4 data frame. . . . . . . . . . . . . . . . . . . . . 86 5.6 Block diagram of the correlator-based WuRx design in [5]. . . . . . . . . . . . . . 88 Chapter 6 6.1 Node model proposed in OMNET++. WuR addenda indicated by dotted lines. 97 6.2 Working principles of evaluated MAC protocols. . . . . . . . . . . . . . . . . . . . 98 6.3 Working principles of the WuR approach. Differently to data Radios, WuRx only requires feu µA to operate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.4 The two first scenarios analyzed in this chapter: (a) data-collector mobile singlehop; (b) converge-cast tree, or static multi-hop. . . . . . . . . . . . . . . . . . . . 108 6.5 The third scenario analyzed in this chapter: (c) data-collector mobile multi-hop. 109 6.6 Effect of the duty cycle ratio on the network’s PDR for the single-hop scenario from Figure 6.4a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
xviii LIST OF FIGURES 6.7 Effect of the duty cycle ratio on the overall average power consumed by the nodes for the single-hop scenario from Figure 6.4a. . . . . . . . . . . . . . . . . . 113 6.8 Effect of the number of interferer nodes on the PDR for the single-hop scenario. 115 6.9 Effect of the number of interferer nodes on the network lifetime for the singlehop scenario (logarithmic graph). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 6.10 Effect of the duty cycle on the PDR for the multi-hop static scenario. . . . . . . 117 6.11 Effect of the duty cycle on the mean power consumption of Node 1 for the multi-hop static scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.12 Effect of the packet generation period on the network PDR for the multi-hop static scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.13 Effect of the packet generation period on the mean power consumption of Node 1 for the multi-hop static scenario from Figure 6.4b. . . . . . . . . . . . . . . . . . 119 6.14 Effect of the packet generation period on the mean power consumption of Node 11 for the multi-hop static scenario from Figure 6.4b. . . . . . . . . . . . . . . . . 120 6.15 Effect of the packet generation period on the network lifetime for the multi-hop static scenario (logarithmic graph). . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.16 Effect of the packet generation period on the energy required per received bit by the sink’s network for the multi-hop static scenario (logarithmic graph). . . . 122 6.17 Effect of the packet generation period on the average latency observed by Node 7 for the multi-hop static scenario (logarithmic graph). . . . . . . . . . . . . . . . 122 6.18 Effect of the number of interferer nodes on the network PDR for the multi-hop static scenario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.19 Effect of the number of interferer nodes on the maximum lifetime for the multihop static scenario (logarithmic graph). . . . . . . . . . . . . . . . . . . . . . . . . 124 6.20 Effect of the duty cycle on the PDR for the bridge monitoring application. . . . 125 6.21 Effect of the duty cycle on the latency for the bridge monitoring application (logarithmic graph). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.22 Effect of the number of interferer nodes on the PDR for the bridge monitoring application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.23 Effect of the number of interferer nodes on the energy/bit calculation for the bridge monitoring application (logarithmic graph). . . . . . . . . . . . . . . . . . . 127 6.24 Effect of the mobile node’s speed on the PDR for the bridge monitoring application. ............................................128 6.25 Effect of the mobile node’s speed on the energy per bit calculation for the bridge monitoring application (logarithmic graph). . . . . . . . . . . . . . . . . . . . . . . 128 Chapter 7 7.1 (a) BLE protocol stack; (b) structure of a BLE data unit. Field sizes in bytes. . 133
LIST OF FIGURES xix 7.2 Fast connection establishment in BLE. Packet 185 shows an advertisement event and 186 shows the connection request to the slave device in the same event. This is followed 20 ms later by the master’s poll packet in 187, and by the slave’s answer in 188 in the same connection event [6]. . . . . . . . . . . . . . . . . . . . . 135 7.3 Execution trace of a low-power MCU reading a password from a NFC dynamic tag. Legend: ⇒I2C from MCU to tag ⇐I2C from tag to MCU. . . . . . . . . . 138 7.4 Lifetime calculator of a connection event for two different energy traces [7]. . . . 141 7.5 Theoretical lifetime of a BLE slave for one-way and round-trip ATT message exchanges, and for different parameter configurations, based on CC2540 current measurements [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 7.6 Experimental setup used for measuring the current consumption of a CC2540 slave. The devices on the left and on the right of the picture are configured as the master and the slave, respectively. The slave is connected to the Agilent N6702 power analyzer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 7.7 Average current consumption measured in a CC2540 slave, for the ATT one-way communication and connSlaveLatency = 0. . . . . . . . . . . . . . . . . . . . . . . 143 7.8 Theoretically expected slave lifetime for various connInterval and connSlave- Latency settings (which yield a notification rate of 0.5 Hz for BER = 0), for different BER values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7.9 Average latency for one-way and round-trip message exchanges, for various connInterval and BER values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 7.10 Latency measurement of a one-way ATT exchange, performed on the basis of a CC2540 slave current consumption plot. Marker m1 is placed at the start of the reception of the poll packet from the master. Marker m2 is placed at the end of the notification transmission. . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.11 Theoretical maximum number of slaves per piconet for various types of interactions between devices and scheduling schemes. . . . . . . . . . . . . . . . . . . . 147 Chapter 8 8.1 IEEE 802.11-enabled WuRx hardware. . . . . . . . . . . . . . . . . . . . . . . . . . 157 8.2 IEEE 802.11-enabled WuRx block diagram. . . . . . . . . . . . . . . . . . . . . . . 158 8.3 Shaping a 15 kHz signal with 2.4 GHz by means of SubCarrier Modulation. . . . 159 8.4 A 2.4 GHz WuC containing a node address of 0xB3B3. . . . . . . . . . . . . . . . 160 8.5 Latency to assert the wake-up pin after decoding a WuC in the IEEE 802.11- enabled WuR system. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 8.6 Field operational ranges achieved by the proposed IEEE-enabled WuR system. 162 8.7 Field operational ranges corresponding to two theoretical propagation models. The dot indicates the maximum distance observed in Figure 8.6. . . . . . . . . . 162
Source Codes 1.1 Blinking a LED in a low-power MCU. . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.2 Optimizing the code for blinking a LED in a low-power MCU. . . . . . . . . . . 8 1.3 Code to attend a Wake-up Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1 Example code to check correct SPI communications between a MSP430G2452 MCU and a AS3933. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.2 TicK source code for the MSP430G2452 MCU. . . . . . . . . . . . . . . . . . . . . 57 6.1 SCM-WuR message handling implemented in MiXiM. . . . . . . . . . . . . . . . . 104 6.2 Calculating the minimum lifetime of a network in R. . . . . . . . . . . . . . . . . 111 xxi
Section 1.2. First Insights on Low-Power Wireless Chipsets technology for a certain application. For example, when considering an application for wireless access to Internet, it is immediate to think about IEEE 802.11. However, for applications comprising wireless body area devices, such as medical electrocardiograms or music headsets, Bluetooth is the most usual choice. Finally, IEEE 802.15.4 / ZigBee technologies find its application area in wireless home networks like domotics. An application-oriented selection even allows omitting some of the technical aspects of candidate technologies. That is, up to a degree, the selection may be performed without even taking into account several aspects of the different wireless technologies. In other words, an application-oriented classification gives extra preference to the suitability and applicability of a wireless technology over other aspects such as the frequency or the maximum bit-rate value it features. Thus, the selection of a technology presents a trade-off between the expected application’s wireless performance and the application’s nature. For example, the three technologies previously mentioned implicitly include an underlying tendency; as applications increase their complexity, devices tend to consume more power. Hence, from an operational point of view, an IEEE 802.11 transceiver has to be aware of keeping its synchronization with the network’s Access Point (AP), scan surrounding wireless networks, receive large amounts of streaming data and multiplex the different requirements upcoming from the user’s terminal, among other functions. Differently, traditional Bluetooth is commonly employed in applications where the transceiver interacts with a reduced number of nodes, mostly just one. Contrasting to IEEE 802.11, two devices involved in a Bluetooth communication usually run a single application, like transferring a file or streaming audio. Finally, IEEE 802.15.4 / ZigBee devices form networks which usually require very few interaction among nodes compared to the previous two examples. These interactions may range from once every 30 seconds to once a day. Because of this latter lower application complexity, less energy is required. Even without numerical calculations, it is immediate to see how heterogeneous are the battery requirements for these three example technologies. Thus, both the technology and its associated battery requirements are factors that must be accounted altogether when designing a wireless application. 1.2 First Insights on Low-Power Wireless Chipsets Many wireless transceivers hold the low-power label in the literature. However, the low-power feature of a wireless technology is extremely relative and has to be put in context. For example, can IEEE 802.11 be considered energy-efficient? Yes, indeed it is for large data transfer thanks to the high bit-rates it allows for. However, can IEEE 802.11 be considered low-power? No, it cannot, because of its high electrical current peaks when transmitting and the complex circuitry and software it requires for its operation. 3
Chapter 1. Introduction to Low-Power Wireless Communications & MicroControllers The capability of a technology to be considered as low-power directly relates to the intended device’s battery. Following the previous example, IEEE 802.11 operation presumes a considerable back-end, like a laptop battery, commonly charged by means of an Alternating Current (AC) power supply. Under these comfortable conditions, IEEE 802.11 is undoubtedly the most adequate wireless technology. However, for low-power applications as the ones in this thesis, an essential requirement for any candidate technology is to operate on low-performance batteries such as the CR2032 Manganese Dioxide Lithium coin cell in Figure 1.2, or even completely bypassing the need for such battery if energy harvesting strategies are considered. Clearly, IEEE 802.11 does not easily comply this requirement. Figure 1.2: A CR2032 coin cell battery. Nowadays, low-power solutions target applications for which the capabilities of IEEE 802.11 are oversized. Numerically, technologies truly designed with low-power in mind like IEEE 802.15.4 / ZigBee, Bluetooth and ANT, among others, usually present peak current consumption values around 15 mA, which makes them suitable to operate on batteries such as CR2032. For higher peak current demands, such as the ones in NFC or IEEE 802.11 of up to 50 mA and 116 mA respectively [8], the lifetime of coin cell batteries quickly degrades [9]. Transceivers’ peak current demands indeed affect to the suitability of a wireless technology for a certain application because of their effect on the battery requirements. However, it is even more important to quantify the average energy profile presented by a wireless technology when not dealing with application data. For maximum energy savings, when the transceiver is said to be idle, i.e., not receiving or transmitting, it must enter sleep mode. In sleeping state, electronic components require current in the order of magnitude of µA, that is, thousands of times less than the mA employed when actively transmitting or receiving data. This improvement factor becomes essential in low-power applications, examples of which are Wireless Sensor Networks (WSN) and Wireless Body Area Networks (WBAN). The simplest Wireless Sensor node may be understood as a temperature sensor to which a wireless transceiver is attached. The common operation of such wireless sensors consists in sending the measured temperature and, afterwards, entering sleep mode in order to save energy. In an example application, the node is not permanently active but transmits data only during 100 ms once every 30 seconds. To perform such transmission, the node requires 15 mA of electrical current. When the sensor node is not transmitting it enters sleep mode, where it only requires 10 µA of electrical current, and remains in this low-power state until the next 4
Section 1.3. First Insights on Low-Power MCUs data transmission. Thus, the average current consumption is obtained by simply weighting current consumption by the time duration of the two different possible states of the sensor node over the full time period: (0.1 s ×15 mA)+(29.9 s ×0.01 mA) 30 s =76 µA=0.076 mA By considering a typical 230 mAh capacity of a cell coin battery, the presented application case features an approximate battery lifetime of: 230 mAh 0.076 mA =3026 hours =126 days Similar calculations can be performed in case the sensor is not notifying a temperature measure, but receiving it. In any case, the sensor is only active during a small portion of the total time. In this example, the sensor is active for 100 milliseconds every 30 seconds. By dividing these two values, the ratio of time the sensor is duty can be obtained, in this case: 0.1 s 30 s ×100 =0.3% The previous relation is commonly known as the duty cycle ratio of the sensor, and represents the energy savings allowed by the alternating sleep / active strategy when compared to an always-on approach. In this example, the application features a periodicity of 30 seconds. This value is realistic and in fact close to the maximum periodicity limit of Bluetooth Low Energy, also known as Bluetooth Smart or BLE, in which one notifying sensor node, e.g. a humidity sensor, may sleep for up to 32 seconds between two active periods of the wireless transceiver. However, BLE active periods are shorter than 100 ms, which allows this technology to present extended battery lifetimes. Instead, if no duty cycle strategy is considered in a wireless sensor node, the battery is depleted much quicker. For example, a wireless transceiver which is left activated to receive remote frames requires about 20 mA in average. Considering a battery capacity of 230 mAh, this means only 11.5 hours of battery lifetime. 1.3 First Insights on Low-Power MCUs This section emphasizes on an intentionally obviated element in previous sections, which is the MicroController Unit (MCU). The MCU is the processing core of the wireless node, and is attached by some interface to sensors, displays, keyboards, etc., and by some other to the wireless transceiver. Connection of the MCU is shown in Figure 1.3 as an updated version of Figure 1.1: 5
Chapter 1. Introduction to Low-Power Wireless Communications & MicroControllers Figure 1.3: Elements of a basic wireless system (II). The MCU is in charge of all processing tasks in the node but the ones performed by the data transceiver. These tasks vary depending on the designed application. Concretely, in a wireless sensor node, the MCU may: →Obtain the incoming data from attached sensors, or transducers, that measure humidity, radiation, pollution, button presses, etc. →Configure the transceiver’s transmission / reception parameters like bit-rate, operational frequency, number of bytes per frame, etc. →Provide the data to be transmitted to the transceiver, e.g., the last 10 measurements from sensors, or a text message entered by an attached input keyboard. →Collect data sent from remote nodes and received by the transceiver, and present it to display interfaces. →Be award of event timers, i.e., configurable alarms that trigger after a finite number of seconds. The duty cycle timer is an example of this. →Set the transceiver from active to sleep mode, and vice versa, in order to save energy. The previous functions are performed in a logical sequence in the diagram in Figure 1.4, which represents an example action flow for a MCU of a wireless sensor node. It can be seen that, once initialization part performs correctly, the MCU enters an infinite but controlled loop where it periodically obtains measurements from sensors, activates the wireless transceiver to transmit them as well as to check if there are incoming communications and, finally, disables every electronic component in the node until the next measurement. 6
Section 1.3. First Insights on Low-Power MCUs Figure 1.4: Example execution flow of the MCU in a wireless sensor node. For maximum energy efficiency, it is important that a MCU is designed from scratch with low-power purposes in mind. However, this does not necessarily imply these MCUs are expensive, but even the other way around, since low-power strongly interrelates with circuitry complexity. For example, a 16 MHz MSP430G2553 low-power MCU from Texas Instruments enables wireless sensor node designs while costing less than 1 $when bought in volume. Code 1.1 is a simple working snippet for this MCU implementing a periodic timed loop as the one in Figure 1.4. The MCU in the example Code 1.1 simply blinks a Light Emitting Diode (LED) on and off alternatively. The code’s only difficulty is the naming convention, since each MCU follows its own terminology for internal hardware registers, pins, etc. The same program can be written analogously for another MCU and the structure would be similar. Code 1.1 first makes sure to stop an internal timer of the MCU that constantly checks if the program’s execution hangs. That is, it stops the WatchDog timer, as it is called, from guarding. Next, it sets a General Purpose Input Output (GPIO) pin of the MCU as output. This pin is concretely the first pin on port 1, P1.1, to which a LED is connected. Afterwards, the program configures a timer to start counting. Finally, the MCU is set in a state to not run any task but to be aware of interrupts from the previous interval alarm timer may appear. When such interrupt takes place, the MCU simply toggles the LED attached to its output pin. Numerically, Code 1.1 consumes 56 µA in average when the MCU feeds a clock frequency 7
Chapter 1. Introduction to Low-Power Wireless Communications & MicroControllers 1#include <msp430g2553.h> 2#include < stdint .h > 3 4int main(void) { 5/* configure WatchDog Timer */ 6WDTCTL = WDTPW + WDTHOLD ; 7// configure in / output pins 8P1DIR |= 0x01 ; 9// configure SMCLK , counter mode , and the interrupt from timer 10 TACTL = TASSEL_2 + MC_2 + TAIE ; 11 12 // enable interrupts to MCU 13 _BIS_SR ( LPM0_bits + GIE ); 14 } 15 16 // Timer_A3 Interrupt Vector ( TA0IV ) handler 17 #pragma vector=TIMER0_A1_VECTOR 18 __interrupt void Timer_A(void) { 19 switch ( TA0IV ) { 20 case 10: 21 P1OUT ^= 0x01 ; // toggle LED 22 break ; 23 } 24 } Code 1.1: Blinking a LED in a low-power MCU. of 1 MHz to the timer. The line toggling the LED status is the only part of the code where the MCU is active after the configuration phase and its current consumption is simply ignored in this example because the active period code content logically varies among applications. In fact, the timer code is precisely the adequate location to include the transceiver’s activation in a duty-cycled application. Besides hardware, software also plays an important role in energy saving purposes. A similar but more energy efficient variant of the previous Code 1.1 only requires changing the following two statements: TACTL = TASSEL_2 + MC_2 + TAIE ; _BIS_SR ( LPM0_bits + GIE ); To the following Code 1.2: TACTL = TASSEL_1 + MC_2 + TAIE ; _BIS_SR ( LPM3_bits + GIE ); Code 1.2: Optimizing the code for blinking a LED in a low-power MCU. Modified lines in Code 1.2 provoke the low-power MCU to not use its internal oscillator to feed the timer, but a dedicated external crystal oscillator. This allows the MCU for a higher degree of sleeping, since now the counting is provided to the timer by another element. Notice the switch of the sleeping mode of the MCU from LPM0 to LPM3, where LPM stands for Low-Power Mode. Different low-power modes imply different amount of circuitry such as 8
Section 1.4. Best Practices on Low-Power Wireless Applications clocks left active in the MCU, thus different current consumption values. By just applying the changes in Code 1.2, the previous code consumes less than 0.8µA, 0.5µA of which are due to the crystal oscillator. That is, Code 1.2 allows a battery to last for 70 times more than Code 1.1, a drastic improvement factor for low-profile batteries such as cell coin ones. Only a deep knowledge of the employed MCUs allows for power-optimized software design. As another example, a single misconfigured output pin leads the MCU to require up to additional 77 µA. 1.4 Best Practices on Low-Power Wireless Applications Previous Sections 1.2 and 1.3 provide introductory concepts for designs comprising low-power MCUs and wireless transceivers. This two-element combination is so common that manufacturers provide integrated circuits with both modules in a single package. For example, the Texas Instruments’ CC430 is basically the combination of one low-power CC1101 wireless transceiver and one MSP430 low-power MCU. Low-power MCUs and transceivers are the building blocks of any sensor node but, as seen, also the software design plays a crucial role. What follows is a list of considerations that any energy-aware wireless sensor node must take into account when implementing an application: →Use the lowest possible duty cycle. A common strategy consists in only sending a data frame when new measures exceed a threshold. For example, if a room temperature range lies within values from 21 ○C to 22.5○C during all day, a node may only notify when measured data falls out of this range. →Avoid function calls and iterative codes, or bucles, when possible. →Minimize receive times in order to reduce the amount of time radio is in active state. →Quickly discard packets not intended for the current wireless node in order to avoid triggering energy-demanding data decoding procedures in the transceiver. →Be aware of the received power. Wireless transceivers provide a Received Signal Strength Indicator (RSSI) in order to estimate the distance remote transmitters are at to accordingly reduce the transmit power for sending data back when required. →Minimize transmitting power. Since usually the transmitting time cannot be reduced because of bit-rate limitations, reducing its associated output power provides the best way to save energy. For example, output powers of a CC1101 radio transceiver of +12 dBm, +10 dBm, 0 dBm and -6 dBm require respective current amounts of 34.2 mA, 30 mA, 16.8 mA and 16.4 mA. Depending on if the wireless application runs in a room or in a wide open field, adjusting the output power level may represent a big difference in battery lifetime. 9
Chapter 1. Introduction to Low-Power Wireless Communications & MicroControllers →Aggregate non-critical data in order to avoid transmissions consisting on few bytes, as well as to reduce the number of internal communication procedures between the MCU and the wireless transceiver. Also, different wireless transceivers provide different transition times between their states. By knowing these transitions when designing the node’s source code, residual energy may be saved. →Besides application data, also underlying communications are to be considered. For example, a wireless technology relying on keep-alive messages, or control messages carrying no data but sent between stations to check for respective reachability or presence, provides lower battery lifetimes than others avoiding its use. Thus, taking the aforementioned points into account, the MCU execution flow diagram in Figure 1.4 is updated in Figures 1.5a and 1.5b for the respective wireless transmitting and receiving roles of a low-power, duty-cycled application. 10
Section 1.4. Best Practices on Low-Power Wireless Applications (a) (b) Figure 1.5: MCU execution flows for (a) transmitter and (b) receiver nodes. While correct, execution flows in Figures 1.5b and 1.5a overlook an important synchronization issue in real applications related to how the nodes perform the wireless communication. There is no guarantee that distant nodes in an application will wake-up at the same time. For example, if the transmitting node periodically wakes up in the middle of the cyclic process, that is, at second number 5 of each 10 seconds interval, and the receiver node wakes up, at 11
Chapter 1. Introduction to Low-Power Wireless Communications & MicroControllers second number 8 of each 10 seconds interval, they clearly do not coincide active at the same time, thus communication seems infeasible. Hence, there is a need for a so-called rendezvous mechanism that allows nodes to synchronize for wireless communication to take place. 1.5 Rendezvous Schemes for Wireless Communications In this section, three different approaches for achieving node rendezvous are introduced, each of them providing different performance degrees. Rendezvous schemes always represent a trade-off between time and energy. The first possible rendezvous scheme is as energy-consuming as time immediate. Simply, if no duty-cycling strategy is considered, the receiver is permanently active. In this way, when the transmitter sends a wireless frame, it is received with high probability. This approach is the less energyefficient among the possible, but at the same time it is logically the one providing the highest data-rates and fastest response time. On the other hand, if some degree of duty-cycling is employed, a way to assure that the participant nodes in a communication are active at the same time must be contemplated. There are numerous strategies for solving this issue. Some of them rely on the presence of one master node to coordinate communications, while others, so called ad-hoc, consider all nodes as equal entities. In the latter category, the most employed approach is based on repetition. For example, if nodes have a duty cycle period of 1 second, a transmitter node may choose to continuously transmit the intended packet during this entire time period. This way, whenever the receiver wakes up, it will receive the packet. Due to packet transmissions occurring few times in Wireless Sensor Networks (WSN) compared to the number of medium listening procedures, this approach really allows for energy savings and, in fact, is the default implementation in operating systems designed for wireless sensor nodes. Since they have to do with how nodes interact with the wireless medium, these approaches are called Medium Access Control (MAC) protocols. Since node rendezvous between transmitters and receivers presents a technical challenge, and therefore is a common subject in WSN studies under the naming to MAC protocols for WSN [10–13]. However, while MAC protocols indeed help in achieving longer battery lifetimes, they still suffer from several drawbacks summarized next: →Idle listening, which occurs when a node is in reception state but no communication is present in the channel. Even if the duty-cycling mechanism effectively reduces idle listening, it does not fully remove it. →Overhearing, which occurs when a communication is received by a node, yet it is not intended for that node. →Timing issues such as latency in data transactions, since communication is delayed up to the moment the receiver is ready to process the data. 12
Section 2.1. Proposed WuRx and WuTx Designs (a) (b) Figure 2.1: (a) Basic envelope detector; (b) input (blue) and output (red) waveforms. [1]. of 350 nA. The comparator’s threshold voltage is extracted from the voltage divider formed by R2 and R3, which consumes 526 nA. The final envelope signal coming from the antenna is presented at R1 terminals. For each VM stage, two 8 pF capacitors and two HSMS-285Y Schottky diodes are used. The SµA-WuRx features a 868 MHz ANT-868-SP antenna [18], which is a low-cost, compact footprint antenna suitable for wireless sensor devices. The technical details of the antenna, as well as of the Surface Acoustic Wavelength (SAW) filter employed after it, are shown in Table 2.1. Figure 2.3a shows the SµA-WuRx hardware prototype. The measured antenna’s return losses S11 are plotted in Figure 2.3b, where Plac. labels represent different placements of the antenna on a 3.81 cm x 4 cm board. Measurements are obtained by employing an Agilent Technologies E8364B PNA Network Analyzer. Variations of the frequency response show that the placement of the antenna on the WuRx board is an important factor. In fact, the manufacturer’s datasheet recommends a 3.81 cm x 8.32 cm ground plane, but such value would mean too much physical space in small devices. 19
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN (a) (b) Figure 2.2: (a) The SµA-WuRx circuit design; (b) five-stage VM rectified output (Vo). ANT-868-SP Center Frequency 868 MHz Bandwitdh 35 MHz Wavelength 1/4 λ VSWR <1.9 Impedance 50 Ω Gain 0.77 dBi Mounting Surface EPCOS B3715 Center Frequency 869 MHz Max. insertion loss 3.1 dB Attenuation <868 MHz min 20 dB, max 41 dB Attenuation >868 MHz min 35 dB, max 47 dB Table 2.1: Characteristics of the SµA-WuRx antenna and SAW filter. After assembling, the SµA-WuRx features a sensitivity value of around -45 dBm. As a comparison, such value is slightly higher than some commercial WuRx designs like the ATA5283 proposal from Atmel [19]. When a WuC is detected by the 868 MHz antenna (1) in Figure 2.3a, and if the threshold of the comparator (5) placed at the end of the SµA-WuRx is surpassed, the mote’s microcontroller attached to the output GPIO pin (4) is triggered on. 20
Section 2.1. Proposed WuRx and WuTx Designs (a) (b) Figure 2.3: (a) A 5-stage SµA-WuRx. In the image: 1 - antenna, 2 - SAW filter, 3 - voltage multiplier, 4 - wake-up interrupt output pin, 5 - comparator. (b) Return loss variances of the ANT-868-SP antenna depending on physical placement. The WuC is shown from the signal point of view in Figure 2.4, where the lower trace represents the signal just before the comparator. The upper trace presents the signal at the output pin in Figure 2.3a. The signal shown consists of the word wakeup encoded in ASCII. The figure shows how the diodes and capacitor values are properly dimensioned to manage the WuC, which consists of some initial ’1’ padding bits, as well of the 42 bits of the 6 ASCII characters. The time duration of each of the bits is 1 ms, which implies a wake-up bit-rate of 1 kbps. This bit duration value can be decreased if needed, but usually WuR systems do not require high bit-rates, since large data transfers are performed by the main interfaces of the nodes when activated. The SµA-WuRx prototype presents a low monetary cost due to the use of common offthe-shelf components. A market survey yielded a total cost of lower than 3 efor a prototype. Furthermore, the entire WuR system provides high flexibility since no restrictions exists regarding the transmitter side, i.e., any 868 MHz transceiver can be employed. Moreover, the 21
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN Figure 2.4: A WuC as received by the SµA-WuRx. Bottom signal shows the comparator’s input; top signal shows the comparator’s output. WuRx hardware design can be modified in several ways conveniently, as studied in section 2.2. For example, if an environment without radio interferences is expected, the filter at the input of the SµA-WuRx can be omitted to achieve better operational range. On the other hand, if long range is not critical for the deployed application, the comparator threshold of the SµA-WuRx can be increased through the potentiometer R2, which in turn reduces the effect of interference and noise. By default, the SµA-WuRx does not provide an addressing feature to be able to wake-up a specific receiver among many2. However, in a scenario comprising a broadcast scheme or in applications where nodes are distant enough, the addressing mechanism is dispensable. 2.1.2 WuTx Design The WuTx employed to wake-up the SµA-WuRx consists of an 868 MHz AdeunisRF ARF7243A module attached to the output pins of a WSN mote developed by the Wireless Networks Group at Universitat Politecnica de Catalunya [20]. The specifications of the transmitter module [21] and the antenna [22] of the WuTx are given in Table 2.2. ANT-868-CW-QW Center Frequency 868 MHz Frequency Range 750 - 950 MHz VSWR <1.9 Impedance 50 Ω Gain 0.50 dBi Mounting SMA AdeunisRF ARF7243A Center Frequency 869.525 MHz Output power 25 to 500 mW Modulation ASK VCC 2.7 to 5 V Current Consumption 150 to 600 mA Table 2.2: Characteristics of the antenna and transceiver employed in the WuTx. 2Next Chapter contains an implementation to solve this issue. 22
Section 2.1. Proposed WuRx and WuTx Designs The output power of the ARF7243A of the WuTx hardware prototype in Figure 2.5 can be adjusted from 25 mW to 500 mW in order to comply with radio spectrum regulations. Up to 10% duty cycle is allowed in Europe when working at 869.525 MHz and 500 mW, i.e., +27 dBm. During the WuTx output power tests, a 30 dB attenuator is used to protect the measurement equipment. Figure 2.5b depicts the maximum transmission power of the WuTx measured by a Rohde & Schwarz FSL6 spectrum analyzer. (a) (b) Figure 2.5: (a) The 868 MHz WuTx attached to a WSN mote. (b) Measurement of the output power of the WuTx considering a 30 dB attenuator. Note the -4.70 dBm value in Figure 2.5b, which shows that the output of the ARF7243A satisfies the power regulation value for the 868 MHz band in Europe. Finally, as in the WuRx case, it is observed that the antenna return loss strongly depends on the WuTx ground plane size and/or the antenna placement on the ground plane. Section 2.2.2.3 analyzes this effect. 23
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN 2.2 Performance Evaluation of the Developed WuR System In order to obtain the maximum performance for the WuR system without violating the electromagnetic interference regulations, there is a need to quantify the relation between the output power and the power-adjusting mechanisms provided by the WuTx. This section presents the characterization of this relation, which is crucial for realistic operational range evaluations. As a general rule, the output power increases accordingly to the supply voltage, so does the current consumption. But while this is the most important factor in determining the operational range of the WuR system, it is not the only one. However, there are several other factors that can affect the operational range. For example, by varying the size of the WuTx ground plane, its radiation pattern gets affected and so is the achieved maximum operational distance. In addition, the use of a SAW filter at the input of the WuRx, while offering higher immunity to interferences that can provoke a false wake-up positive, results in some gaps along the maximum operational distance. Another aspect to study is the number of VM stages in the WuRx, as it must achieve an optimum balance between the performance and the amount of circuitry. Depending on whether the WuR system is deployed in an outdoor or indoor scenario also affects the performance of the WuR system as well, due to different signal propagations. Finally, the effect of the antenna type on the operational distances plays an important role. All these factors are characterized through field tests in this section. 2.2.1 Current and Power Consumption Evaluations The transmitter in the WuTx provides two ways of adjusting the output power. The first one consists in a Power Control (PC) pin, shown and left unconnected in Figure 2.5a. The second one consists in directly adjusting the VCC value of the device, which requires less circuitry. However, these two mechanisms are mutually exclusive. In other words, if the PC pin is used VCC variation has no effect on the output power (as long it is not decreased more than the voltage the device needs) and vice versa. Empirically, while the PC pin variation seems to be the most flexible approach for output power control, in practice it requires managing an extra GPIO and does not behave as stable as using VCC adjustment. Hence, VCC variation is chosen as the power adjustment strategy. Figure 2.6 shows the output power value in dBm and the associated current consumption for both approaches. As previously mentioned, the 30 dB value stands for the attenuator placed for protection purposes. If for the allowed output power the WuR system provides an unsatisfactory operational range, a total or partial redesign has to be considered. As shown in Figure 2.6, under the default WuTx configuration, even for the highest VCC values the output power does not surpass the legal +27 dBm limit. Concretely, for the highest VCC value of 5 V, the output 24
Section 2.2. Performance Evaluation of the Developed WuR System (a) (b) Figure 2.6: WuTx output power controlled by using (a) the PC pin; (b) VCC variation. power is observed to be +25.66 dBm. Hence, as long as the WuTx does not employ an antenna with a gain higher than 27 - 25.66 = 1.34 dB, the system operates properly. As shown in Table 2.2, the antenna used for WuTx default configuration fits this requirement. Regarding the receiver side, the SµA-WuRx is found to feature a current consumption of just 0.9µA by employing a Kyoritsu K-1011 multimeter capable of performing measurements down to 0.1µA. For higher precision, a simple circuit is used with accurately measured resistor and voltage values. This way, a current consumption of 890 nA is obtained by applying Ohm’s law. 25
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN 2.2.2 Operational Range Evaluations To quantify the wake-up probabilities achieved by the WuR system in real applications, the WuTx is fixed at a coherent height of 100 cm and the SµA-WuRx is displaced vertically and horizontally relative to the WuTx, in steps of 20 cm and 25 cm, respectively. Hence, a grid of WuC detection results is built for each configuration under evaluation. Each of the figures in the current section show WuC detection results along with the settings applied for the WuRx and WuTx boards. In the range evaluations, the SµA-WuRx is attached to the input pin of an IEEE 802.15.4- compliant mote developed by the Wireless Networks Group at Universitat Polit`ecnica de Catalunya [20]. The WSN mote generates a single IEEE 802.15.4 frame every time it detects an interrupt on its input pin. Next, it immediately returns to its deepest low-power mode, in which the MCU presents a current consumption of just 0.4µA. The WuTx sends once WuC per second and response frames are captured by an IEEE 802.15.4 sniffer for statistical purposes. 100 WuC are sent per each grid point. 2.2.2.1 Reference Scenario The first operational range test is performed by applying VCC = 5 V to the WuTx and sending the word wakeup through its data pin. These initial measurements establish a reference operational behavior to compare the subsequent device modifications to. Attention has to be paid to the x-axis of each results graph in following sections, because different distance limits are achieved by the WuR system for different configurations. Three operational zones are defined for the figures in this section based on the ratio of IEEE 802.15.4 frames sent as a result of received WuCs. Zone1 implies a consistent reception of the WuCs and consequent activation of the SµA-WuRx, and is represented by the white color in the figures. In Zone2, which is represented by gray color in the figures, certain WuCs are detected, but the reception is not infallible. Finally, in Zone3 the WuRx does not get activated by any of the WuCs, which is represented by the black color in the figures. The wake-up zones observed from the reference field test are depicted in Figure 2.7. Along the section, the summary of the reference scenario settings are shown in the figures’ caption. Several gaps along the operational distance are observed in Figure 2.7, possibly due to the fact that to save physical space due to application requirements, the antenna in the WuTx design is not placed on a 10 cm x 10 cm ground plane acting as signal’s counterpoise as recommended by the manufacturer but on a smaller one (4.3 cm x 3.3 cm), a circumstance which distorts the radiation pattern. The observed maximum operational range is around 3.40 m. These results represent at the same tens of times less distance than for traditional wireless data transceivers while requiring thousands of times less energy. Results from Figure 2.7 also allow identifying an interesting behavior; due the the WuC reflection by the floor, the lower the WuRx heights, the better the results. This multipath effect is even more noticeable in 26
Section 2.2. Performance Evaluation of the Developed WuR System Figure 2.7: Observed wake-up zones for the reference outdoor WuR test. WuTx: Small (4.3 cm x 3.3 cm) ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA-WuRx: 3.81 cm x 4 cm ground plane, SAW filter, five-stage VM. indoor environments, as can be seen in Figure 2.8, which shows the results of the same test setup in an indoor space scenario. The general wake-up behavior is more homogeneous in indoor than for outdoor scenarios. Although, as for the outdoor scenario, there are Zone3 gaps between locations with persistent reception (Zone1), in this environment these are scattered in a wider range and in a more unpredictable way. In fact, due to the multipath effect, the indoor measurements show WuRx responses up to 9 meters, although omitted in the figure for being too occasional. 2.2.2.2 The Effect of the SAW Filter To observe the effect of including a SAW filter at the input of the VM, such filter is removed. The motivation of this modification is checking the necessity of the filter in different environments. This variation makes the whole SµA-WuRx more vulnerable to radio communications in the adjacent frequencies such as GSM but, in turn, allows longer operational distances. As shown in Figure 2.9, removing the filter effectively increases the operational range achieved of the reference scenario in section 2.2.2.1 while smoothing the gaps out. The reason is the removal of the 3 dB insertion loss due to the SAW filter. The interference rejection by the SAW filter is observed in practice as follows. When present, a cell phone in communication has to be placed closer than 15 cm to activate the WuRx circuit, which generates a false wake-up. When placed further, the SµA-WuRx is not activated. If instead the filter is removed, an operating cell phone two meters away can easily 27
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN Figure 2.8: Wake-up zones for the indoor scenario. WuTx: Small (4.3 cm x 3.3 cm) ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA-WuRx: 3.81 cm x 4 cm ground plane, SAW filter, five-stage VM. Figure 2.9: Wake-up zones for the outdoor scenario when removing the SAW filter in the SµA- WuRx. WuTx: Small (4.3 cm x 3.3 cm) ground plane, VCC = 5 V, antenna gain = 0.5 dBi. SµA-WuRx: 3.81 cm x 4 cm ground plane, no SAW filter, five-stage VM. activate the circuit and provoke a false positive. These false positives can be diminished by increasing the potentiometer value in the comparator’s threshold input (R2 in Figure 2.2a), which in turn decreases the WuC detection range. In fact, the SAW filter can be dispensable 28
Section 2.3. A Reference, Off-the-shelf WuR System when sending a WuC and the output of the WuRx comparator. Note that the delay between WuTx and SµA-WuRx depends on many factors including the use or not of a of SAW filter, the number of voltage multiplying stages, and the response time of the comparator. In addition to the WuRx delay, the time needed for the activation of the MCU after the interrupt from WuRx may also have to be considered depending on the application. For a wireless sensor mote using a CC2430 transceiver based on a 8051 MCU, this value is 120 µs [23]. 2.3 A Reference, Off-the-shelf WuR System In this section, a commercial WuR solution is analyzed from a practical perspective as a reference to compare the proposed SµA-WuRx and WuTx system against. For such purpose, the so-called Austria MicroSystems AS3933 demokit, containing both one wake-up transmitter and one wake-up receiver boards, is studied from the power consumption and operational distance points of view. 2.3.1 Design and Specifications The AS3933 [24] is a low-power Amplitude Shift Keying (ASK) receiver capable of generating a wake-up interrupt upon detection of a data signal at a carrier frequency between 15 kHz and 150 kHz. The WuRx board can operate using one, two, or three active channels, as shown in the block diagram in Figure 2.17. Enabling three channels, i.e., three orthogonal coil antennas, is a method to make reception independent of receiver orientation; the coil antenna with better reception is the one providing the input signal for the IC to work with. If such three-dimensional detection is not required, it is possible to deactivate one or more channels, or even operate them in a 50% , 33%, 20% or 11% duty cycle in order to save energy. The AS3933 WuRx includes an integrated correlator to optionally implement a 16/32 bit wake-up address decoding scheme. This WuRx features a maximum sensitivity of -69 dBm [24]. As for clocking signal (CLK), the WuRx system accepts an external clock, a crystal oscillator or its own internal one, named respectively LC-oscillator, Xtal RTC and RC-OSC. The chosen CLK signal source determines the WuRx current consumption. According to the datasheet specifications, the current consumption in standard listening mode with three active channels and crystal oscillator as CLK is 8.9µA. Instead, the consumption is reduced down to 8.3µA when employing a RC-OSC for clocking. This difference for a crystal oscillator matches the one obtained in section 1.3, Code 1.2 for a MCU configured to work with an internal oscillator instead of an external crystal. The AS3933 WuRx IC is capable to detect the presence of an inductive coupled carrier and extract the envelope of the WuC. Next, the frame content is correlated with a programmed pattern. If the received value corresponds to the stored node address, a wake-up Interrupt ReQuest (IRQ label in Figure 2.17) is generated. Such correlation can be bypassed, in which 35
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN Figure 2.17: The AS3933 block diagram. The use of correlator is optional. case the wake-up procedure performs only carrier frequency detection as in the SµA-WuRx case. 2.3.2 Performance Evaluation of AS3933 In this section, a current consumption analysis for both WuTx and WuRx boards of the AS3933 WuR system is performed. Operational range measurements are presented to quantify the wake-up zones, which is crucial to determine the applications that can benefit from this WuR system. The hardware boards are shown in Figure 2.18. Note the 3 dimensional coil system on the upper part of the WuRx. 2.3.2.1 Current Consumption Evaluations Due to the physical enclosure of the AS3933 WuTx, it is not trivial to carry out a characterization of the provided transmitter in terms of power. Conducted measurements for the current consumptions of the entire WuTx board indicate a maximum current consumption of 0.8 A while transmitting one WuC. Regarding the AS3933 WuRx board, it includes a specific jumper to allow measuring the current of just the IC, and not the entire board. The measured current consumption values of 6.3µA and 6.4µA are close to the 6.5µA value in [24] for a configuration featuring three active signal channels and a crystal oscillator as CLK source. While decoding a WuC, the current consumption value rises up to 12 µA. 2.3.2.2 Operational Range Evaluations The same testing scenario as in section 2.2.2 is set to quantify the operational distances of the AS3933 demokit. As done in the evaluations of the SµA-WuRx, the transmitter is fixed at a 36
Section 2.3. A Reference, Off-the-shelf WuR System Figure 2.18: The AS3933 WuTx (top) and WuRx (bottom). coherent, useful height of 100 cm and the receiver board is displaced vertically and horizontally to different heights and distances in 25 cm and 20 cm steps, respectively. This section studies the achievable operating distances of the system for two VCC values for the WuTx: 5 V (default) and 12 V. A higher VCC value is expected to give better range results, since the output power increases. Several settings are applied at both devices to achieve the longest possible operational distance. For example the system’s symbol-rate is reduced to its minimum (512 symbols/s), since it is expected that the lower the data-rate, the higher the distance. The comparator hysteresis of the data slicer at the WuRx is also lowered from 40 mV to 20 mV to detect weaker signals and its sensitivity increased by setting the channel amplifier gain to +3 dB. The field tests of AS3933 WuR system are performed in an outdoor environment, and the corresponding wake-up zones shown in Figure 2.19. 37
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN (a) (b) Figure 2.19: Wake-up zones of the outdoor scenario for the AS3933 demokit when WuTx power supply is (a) VCC = 5 V; (b) VCC = 12 V. The AS3933 WuRx board provides RSSI values for the received WuC signal through a set of LEDs, allowing new measurements to be performed. In Figure 2.20, the highest normalized RSSI value is logged for each different distance and height pair. The logged value may belong to any of the three channels of the AS3933. Such RSSI values can be used to observe the expected behavior of the wake-up probabilities. Comparing Figure 2.20 to Figure 2.19, it is 38
Section 2.3. A Reference, Off-the-shelf WuR System seen that a persistent reception occurs up to 20% of the maximum RSSI value. (a) (b) Figure 2.20: Normalized RSSI values measured by AS3933 WuRx when WuTx is powered at (a) VCC = 5 V; (b) VCC = 12 V. 39
Chapter 2. Design, Development & Performance Evaluation of a Low-Cost, Low-Power Wake-Up Radio System for WSN 2.4 Comparison between the Proposed WuR and the AS3933 WuR Systems The WuR system proposed in this chapter is a successful prototype useful for many low-power wireless applications. However, the system can be further improved by including several features that would be desirable, such as longer operational ranges and/or addressing mechanisms. Ways to address these two issues, among many others, are addressed in next chapters of this thesis. From the energy point of view, the SµA-WuRx clearly reduces the current consumption featured by the AS3933. Even if configuring the latter in a 50% duty cycle mode, where some WuCs may be missed by the AS3933, the SµA-WuRx features half the consumption (0.8µA vs 1.7µA). When in standard listening mode, the AS3933 requires around 7 µA for its 3-channel configuration and the corresponding signal amplifiers activated, thus the savings provided by the SµA-WuRx are even more pronounced. Regarding operational distance evaluations, the AS3933 demokit achieves a maximum range of around 5.5 meters, whereas the proposed WuR system doubles this value when used with the developed WuTx antenna. The developed WuTx also employs less power to transmit the WuC (0.5 A vs 0.8 A). In terms of hardware components, the SµA-WuRx is also far less complex than the AS3933, which in turn requires additional software to set its internal registers through its SPI interface each time it is powered off. From the monetary cost point of view, the SµA-WuRx achieves almost one third of the cost of AS3933-based WuRx when considering the costs for assembling the two WuRx devices (3 evs. 9 e). Apart of the typical components such as resistors, capacitors and diodes, the WuRx based on AS3933 needs the mentioned IC, a voltage regulator, a MCU and some input coils. Finally, a functionality that is provided by AS3933 but not currently supported by SµA- WuRx is addressing. Although not all user applications require such functionality, in case of the need for it, there are several ways to enable SµA-WuRx to be individually addressed among a set of nodes. One well-known way is the use of correlator, as in the AS3933 case. Another one, namely Time-knocKing, is introduced in next chapter 3 of this thesis and exploits the MCU’s low-power operation modes. 40
Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing Some of the advantages of using WuR over traditional duty cycling have already been introduced in Chapters 1 and 2. Still, if a WuR system is not enabled to distinguish an individual, unique node to wake-up among a set of them, the energy savings enabled by its use become minimized because of the overall network power consumption. In other words, the overhearing problem is still present in a network of nodes equipped with non-addressable WuRx, even in an order of magnitude lower than in the case the use of WuR is not contemplated. In this chapter, a WuRx addressing scheme is proposed, namely Time-Knocking (TicK), to allow non-addressable WuRx designs to be individually queried. Section 3.1 introduces the addressing feature in WuR systems. Section 3.2 presents and describes the different WuRx addressing approaches. Section 3.3 introduces this novel WuRx addressing proposal, TicK, in detail and also provides an example execution trace and enumerates some hardware characteristics to implement TicK. Afterwards, section 3.4 provides theoretical analysis relating current consumption with the WuC arrival frequency of a node operating using TicK, MCU-decoding and the correlator approaches. Section 3.5 applies such theoretical analysis to different scenarios. Section 3.6 provides a snippet of TicK’s source code. Finally, conclusions are presented in section 3.7.1 Contents 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.2.1 WuRx Addressing Through Multiple Frequencies . . . . . . . . . . . . 43 3.2.2 WuRx Addressing through the MCU . . . . . . . . . . . . . . . . . . . . 43 3.2.3 WuRx Addressing through Correlation . . . . . . . . . . . . . . . . . . 44 3.3 WuRx Addressing through Time-Knocking (TicK) . . . . . . . . . . . . . . . 47 3.4 Theoretical Analysis of the Addressing Approaches . . . . . . . . . . . . . . . 50 3.4.1 WuRx Addressing Through TicK . . . . . . . . . . . . . . . . . . . . . . 51 1The current chapter is based on and extends the work contained in the following publication: ≪J. Oller, I. Demirkol, J. Paradells, J. Casademont, and W. Heinzelman, ‘Time-Knocking: A Novel Addressing Mechanism for Wake-up Receivers’, in 8th IEEE International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), 2012, pp. 268-275.≫. 41
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing 3.4.2 WuRx Addressing through MCU-decoding . . . . . . . . . . . . . . . . 52 3.4.3 WuRx Addressing through Correlation . . . . . . . . . . . . . . . . . . 53 3.5 Performance Comparison of the Addressing Approaches . . . . . . . . . . . . 53 3.6 TicK Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.7 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.1 Introduction In the basic operation of most addressable WuRx [3,5,25], upon WuC’s carrier frequency detection, signal demodulation starts for the preamble and address decoding. Due to interference and noise sources, such carrier frequency may be detected for both correct and false WuCs. The TicK approach saves a significant amount of energy even when there are frequent WuC. A LPM-based approach like TicK also achieves less hardware complexity than using extra components such as a correlator for the address resolution task [3,5,26–29]. Also, due to the usual low bit-rate employed in WuR, and hence long bit durations, using the LPM of the MCU to resolve the address instead of, e.g., decoding the full-address through MCU processing [17], is far more energy-efficient. The idea of encoding data within time intervals is the basis of Pulse Position Modulation (PPM). In this chapter, the use of PPM at the WuTx and LPM and hardware timers of a lowpower MCU at the WuRx, respectively, enable WuC generation and node addressing in WuR systems not designed with this feature from scratch. LPMs are a common feature in low-power MCUs. For Texas Instruments’ MCUs, they are simply called LPM. For Microchip MCUs, the feature is called eXtreme Low Power (XLP). LPM operation is introduced in chapter 1, section 1.3. As an added value, TicK address mismatches are quickly determined, and non-intended nodes disable themselves from continuing the address resolution even before the sender node finishes transmitting the entire WuC, thus further optimizing energy savings. Another advantage of TicK is that the address construction is variable, and nodes can be assigned with temporary or local addresses, e.g., with short lengths to improve the energy-efficiency and reaction time, or with long ones to improve the system’s resilience to interferences. To evaluate the benefits of TicK, its expected current consumption is analytically derived along with the one for two common address resolution approaches: MCU-decoding [17] and correlation [3, 5,26–29]. In order to obtain realistic parameter values to use in the formulae, physical measurements are performed. The results show that, by slightly sacrificing from the WuC duration, a WuRx using TicK-based addressing achieves better current consumption values than that of the other two traditional approaches investigated. However, such WuC delay does not represent a drawback in WuR systems since they do not require high bit-rates. Other important advantages of TicK is that it does not require any additional hardware, and 42
Section 3.2. Related Work that all non-addressable WuRx proposals in the literature can be employed in a TicK manner. For example, the AS3933 in chapter 2 can be configured to use TicK by disabling its correlator via its SPI interface. 3.2 Related Work The current section introduces various addressing approaches for WuR systems. When there is a need to discriminate the destination device among a set of WuRx-equipped nodes, addressing capabilities become a must for energy-efficient network operation. In WuR systems, the different addressing approaches mainly distinguish by the components employed for the WuC address decoding, since this aspect affects the overall energy consumption. For example, if during the address resolution process a high degree of MCU’s intervention is required, power consumption is expected to be much higher than in the case where the addressing procedure is done entirely by a dedicated component such as a correlator. 3.2.1 WuRx Addressing Through Multiple Frequencies A Radio-Triggered IDentification (RTID) WuRx scheme basically consists of hardware capable of detecting several simultaneous RF carriers at different frequencies. In [30], when a node wants to activate another one, it simultaneously transmits in several frequencies that code the address of the destination node. Thus, nodes must be equipped with several transceivers. The RTID approach clearly has a very limited addressing space. Although, according to the authors, by distributing addresses in a non-duplicative manner RTID allows energy savings up to 88%. However, the requirement for transceivers capable of operating at different frequencies brings complexity to the WuRx. 3.2.2 WuRx Addressing through the MCU When employing a MCU to decode an address, the WuRx acts as a simplistic RF receiver. Figure 3.1 depicts this MCU-based decoding approach. After detecting the WuC, the pulse train is decoded by the MCU to obtain the destination address. In [31], when an external radio signal is detected at 868.5 MHz, the MCU is activated by an interrupt on one of its input pins to receive the WuC containing the WuRx address. Unfortunately, in [31] there is no explicit data about the current consumption of this MCU-decoding approach. However, the values are expected to be similar to other studies that also employ the MCU to decode the addresses embedded in the WuC. For example, in [17], the overall power consumption of such WuRx addressing approach is up to 819 µW, an unacceptable value for WuRx purposes, as indicated in chapter 1, section 1.6. 43
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing Figure 3.1: Time diagram for decoding the WuRx address by MCU. 3.2.3 WuRx Addressing through Correlation A different approach to MCU-decoding is the use of a hardware correlator. Internally, a correlator circuit generates a parallel output of the bits contained in a buffer, which are shifted at each clock transition with a new bit incoming through the signal input. Such output value is compared to a pre-stored one. In the WuRx case, the input shift register progressively hosts the demodulated address extracted from the WuC by analog to digital conversion (performed by envelope detection) and compares it with the node’s own identifier. If both values are the same, the wake-up interrupt output pin is asserted. Figure 3.2 depicts the use of a correlator to decode an address in a WuC. Address correlators consume few µA when in idle state and approximately 10 µA when fully active decoding the WuC address [3,24]. In [26,27], one WuC decoding attempt is shown to require 75 µW by simulation. Similarly, the wake-up architecture in [28,29] is composed of both an analog and a digital part, the latter comprising a correlator for address decoding. The proposal presents current consumption values of 12.4µW and 368.1µW when in idle listening and decoding the WuC address, respectively, considering a 1.8 V power supply and a bit-rate of 40 kbps. This bit-rate value is quite high for WuRx designs, since they use to keep it low in order to reduce current consumption. A correlation approach is also found in the commercial AS3933 WuRx [24]. The AS3933 is described in chapter 2, section 2.3.2. Basically, it consists of a 3-channel low-power ASK receiver that generates an interrupt upon detection of a Low-Frequency (LF) carrier frequency at 15 kHz - 150 kHz. It operates in the 2.4 V - 3.6 V range with a current consumption of 2.78 µA when no address decoding is in progress. The AS3933 expects the WuC to arrive as Figure 3.3 depicts. 44
Section 3.4. Theoretical Analysis of the Addressing Approaches 3.4.1 WuRx Addressing Through TicK To better understand the current consumption of the TicK approach, it is useful to define two variables; one representing the current consumption per block for the decoding period (α), and one representing the current consumption during the sleep period (β). The current section 3.4 considers the current consumption of a TicK node in case of a correct address. Section 3.5, in turn, also contemplates the case of nodes which are not the intended receivers. This is the case of nodes detecting WuC addressed to other nodes or false addressing initiation procedures due to interference, noise, etc. Figure 3.6 details the TicK operation within a block decoding. As seen in the figure, each block includes two WuCs, that will result in two ISR executions with active MCU current consumption, i.e., 2tISRIact. After the reference WuC, the MCU enters LPM3 mode on average for (tslot −tISR)+(ns−1) 2tslot duration, since the first slot represents the reference WuC and, based on uniformly random address value distributions, nodes will be in LPM3 mode for half of the rest of the block duration (ns−1)tslot, and in LPM4 for the other half of it. Then, the average current consumption per block, α, can be expressed as: Figure 3.6: Detailed TicK operation within a time block. α=2tISRIact +[(ns+1)tslot −2tISR 2](ILP M4+ILP M3)(3.1) 51
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing For β, which represents the current consumption of a wake-up period while the node is not involved in addressing, the average current consumption is based on the frequency of WuC arrivals. Let Tbe the interarrival time of addressing initiations. Then, β=[T−nb(ns+1)tslot]ILP M 4(3.2) Finally, considering the nbblocks of a complete address along with the continuous current dissipation of the WuRx hardware, the overall average current consumption per time unit in TicK (IT icK ) can be written as: IT icK =nbα+β T+IW uRx (3.3) 3.4.2 WuRx Addressing through MCU-decoding There are several recommendations for energy-efficient MCU operation, as introduced in chapter 1. Some of these recommendations consist in employing interrupts to wake the processor and control program flow, properly configuring unused GPIO as output to prevent current consumption due to floating pins, and avoiding function calls. These recommendations are applied for both MCU-decoding and TicK approaches analyzed in this chapter. The MSP430G2452 MCU has an adjustable frequency range between 1 MHz and 16 MHz. Although for WuRx addressing purposes it is more power-efficient to use the lowest frequency possible, calculations are provided for both MCU frequency values of 1 MHz and 16 MHz, to contemplate the cases where is not possible to reduce the MCU’s frequency. In WuRx addressing through MCU-decoding, a WuC duration dM CU of 20 ms is considered as the result of adding the preamble 1110 before transmitting the 16 bits of the WuC. A bit duration tslot of 1 ms is considered. When the WuC is transmitted, the one-to-zero transition at the end of the preamble acts as a falling edge at the WuRx, which triggers the interrupt for the MCU to start decoding the address. For (T−dMCU ) time, the overall current consumption will be ILP M4+IW uRx, since the MCU is in LPM4 mode and the WuRx always on. However, during the address decoding duration the overall current consumption is Iact +IW uRx. Then, the average current consumption of this MCU-decoding WuRx addressing approach is found to be: IMCU =(ILP M 4+IW uRx)(T−d) T+(Iact +IW uRx)d T(3.4) First part of Equation 3.4 pertains to the sleeping period of the MCU and lasts for all the time the MCU is not decoding any address. During this period, the presented current consumption is the result of adding the one of the WuRx to the one of the MCU in LPM4. The second part of the formula relates the current consumption in active mode (Iact +IW uRx) 52
Section 3.5. Performance Comparison of the Addressing Approaches and duration of the WuC. Both elements are divided by T in order to distribute the value along a WuC period. 3.4.3 WuRx Addressing through Correlation For the performance evaluation of the addressing through correlation scheme, the AS3933 analyzed in chapter 2, section 2.3.2 is considered. The correlator approach requires no MCU for address resolution. As for Equations 3.3 and 3.4, two stages of operation take place for address decoding: 1) Listening, where the WuRx waits for a carrier burst, which would be analogous to the LPM4 stage for MCU-based cases, and 2) Decoding, where after the carrier burst the preamble and address resolution starts. The current consumption of both stages is indicated by Iland Id, respectively. Thus, the average current consumption for the correlator approach can be derived in a similar manner as previously but considering a different WuC duration, dCorr: ICorr =Id(T−dCorr) T+Il dCorr T.(3.5) 3.5 Performance Comparison of the Addressing Approaches Precise current consumption results can be obtained for each addressing method by applying the values of Table 3.1 to Equations 3.3, 3.4, 3.5. Values in Table 3.1 are obtained by laboratory measurements. For the performance evaluation, different addressing interarrival times, T, are considered, ranging from 1 second to 1 minute. These interarrival times model frequent communications or frequent false addressing initiations due to interference or noise. Having an energy-efficient addressing mechanism becomes more important as the number of devices in a WuC range increases. In such cases, an addressing mechanism that manages the false WuCs rapidly and in a low-power manner is crucial. In the evaluations, a 16 bit addressing is considered, as it is the default configuration of the AS3933 WuRx. As illustrated in Figures 3.4 and 3.5, TicK enables three (ns, nb) value tuples: (2, 16), (4, 8), and (16, 4) for this address length. The average current consumption values of TicK for the three (ns, nb) value alternatives are calculated by using Equation 3.3 and plotted in Figure 3.7. As seen in the figure, the choice of the (ns, nb) values is crucial for the overall performance, although they also result in different addressing durations, dtick , as shown in Table 3.1. Specifically, for the 16 bit addressing in TicK, the best current consumption results are obtained for the tuple (16, 4). For a MSP430G2452 MCU implementing TicK as in Figure 3.7, a 16 MHz operational frequency requires 10 times more current consumption than at 1 MHz. Obviously, the MCU frequency also drastically affects the MCU-decoding approach, where the WuC is entirely decoded by MCU. In the AS3933 case, among the possible configurations considering different 53
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing values for carrier frequency, the bit duration, and the preamble length indicated in the AS3933 datasheet [24], the default dCorr duration is used, which is found to be around 40 ms. Calculations contemplate the most optimistic current consumption value when decoding, Id, which is stated to be around 8.7µA. Applying the maximum value in the datasheet (12 µA) would result in higher overall current consumption of this WuRx addressing approach. Figure 3.8 depicts the relationship between the addressing interarrival time, T, and the maximum battery lifetime for the three approaches, considering the average current consumption values from (3.3)-(3.5) and a CR2032 230 mAh cell coin battery. In Figure 3.8, the most energy-demanding approach is MCU-decoding at 16 MHz. Note that this approach performs (a) (b) Figure 3.7: Average current consumption of TicK for different (ns, nb) tuples for 16 bit addressing, with MCU frequency of (a) 1 MHz and (b) 16 MHz. 54
Section 3.5. Performance Comparison of the Addressing Approaches the worst because of the MCU requiring more than 4 mA in active mode at this frequency. Indeed, reducing the intervention of the MCU in such mode as much as possible, as in TicK, improves the overall current consumption. In turn, the AS3933 WuRx presents a very constant current consumption result. Since the current consumption values when sleeping, Il, and when decoding, Id, are of the same order of magnitude, there is no big difference for different period values. The approach providing longer battery lifetime is TicK at 1 MHz, showing values close to 25 years even with addressing interarrival times, T, of 10 seconds, practically doubling the performance of the other approaches. TicK at 16 MHz follows as the next most energy efficient configuration. Figure 3.8: Battery lifetime of the three WuRx addressing approaches vs. interarrival times. Figure 3.9 shows another set of evaluations performed for scenarios where several WuRxequipped nodes are present and woken up one by one. Such approach corresponds to pollingstyle data collection and is common. In the case of TicK, all nodes within the WuC range are activated at the beginning of an addressing. Afterwards, they return immediately to sleep as soon as they detect a block with a WuC that does not correspond to their address. Then, the current consumption of the nnodes have the following consumption values and probabilities, depending on how long a node is being addressed; if a node is the intended one, IT icK , as given in Equation 3.3, is required. An unintended node, on the other hand, has a probability in Equation 3.6 of having the first k−1 address block’s address bits in common with the node being addressed, and of having a different address at the kth block. Up until the kth block, the average current consumption per block is αas formulated in Equation 3.1, and the unintended node sets its timer until the end of the addressing, i.e., for nb−kblocks and disables its interrupt pin. 55
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing P(k)=1 nsk−1 ns−1 ns (3.6) Then, for n=number of nodes, the total current consumption can be expressed as: IT icKn=IT icK +(n−1)IW uRx+ (n−1)×k=nb ∑ k=1[ns−1 nk s((k−1)α+α′+(nb−k)(ns+1)tslotILP M 3 T)] where α′is the average current consumption for an unintended node within the block, the address bits of which are recognized to differ with the intended node. For the sake of brevity, this value is approximated with α. Differently to TicK, both the MCU and AS3933 decoding approaches have to decode the entire address to decide whether a WuC targets them, thus the current consumption their networks present upon WuC detection is simply a multiplication by the number of nodes. Figure 3.9 depicts the network’s total current consumption of the three approaches, with TicK showing the most benefit. It can be clearly seen that when the number of nodes in a network increases, employing a quick node-discarding address resolution scheme such as TicK is crucial to save as much energy as possible. Figure 3.9: Total current consumption featured by the three WuRx addressing approaches for a varying number of nodes (T = 1000 ms). 56
Section 3.6. TicK Source Code 3.6 TicK Source Code Provided next is the TicK source code for a MSP430G2452 MCU. This code equips the SµA- WuRx in chapter 2 with an addressing mechanism. 1// #includes contain names for registers , constants , etc. 2#include <msp430g2452.h> 3#include < stdint .h > 4 5// MSP430 GPIO pins 6#define BUTTON BIT3 7#define LED1 BIT6 8#define LED0 BIT0 9#define WURX BIT4 10 11 // WuRx constants 12 #define STARTING_SIGNAL 0 13 #define ENDING_SIGNAL 1 14 #define MAX_INDEX_WUC 10 15 #define WUC_LENGTH 3 16 #define MY_WURX_ADDRESS 15 17 #define ADDRESS_PRECISION 2 18 #define INTERRUPT_FACTOR 1 19 #define WURX_TIMEOUT MY_WURX_ADDRESS * 10 20 #define ENABLE_TIMEOUT WUC_LENGTH + 2 21 22 // debug things 23 #define DEBUG_WURX 24 25 // WuRx variables 26 volatile uint16_t miliseconds = 0; 27 volatile uint8_t WuRx_phase = STARTING_SIGNAL ; 28 # ifdef DEBUG_WURX 29 volatile uint8_t index_chain = 0; 30 volatile uint16_t chain [ MAX_INDEX_WUC ]; 31 # endif 32 33 34 // main code , all based in interrupts 35 int main(void) 36 { 37 WDTCTL = WDTPW + WDTHOLD ; // Stop watchdog timer 38 39 // GPIO pins most energy saving configuration 40 P1DIR = 0 xFF ; // All P1.x outputs 41 P1OUT = 0; // All P1.x reset 42 P2DIR = 0 xFF ; // All P2.x outputs 57
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing 43 P2OUT = 0; // All P2.x reset 44 45 // P1IES = 0xFF by default = 1, INT is high -to -low 46 // Set P1 .0 and P1 .1 to output direction 47 P1DIR |= ( LED0 + LED1 ); 48 P1DIR &= ~( BUTTON + WURX ); // launchpad : P1 .3 , P1 .4 are inputs 49 P1OUT &= ~( LED0 + LED1 ); // set LEDs to OFF 50 P1IFG &= ~ WURX ; // WuRx IFG cleared 51 P1IE |= WURX; // WuRx interrupt enabled 52 53 BCSCTL1 = CALBC1_1MHZ ; // set core @ 1 MHz 54 DCOCTL = CALDCO_1MHZ ; 55 // LFXT1 source : LFXT1S0 for 32 KHz crystal , LFXT1S1 for VLO 56 BCSCTL3 |= LFXT1S1; 57 58 // If timerA uses ACLK (12 kHz) then , respectively , the periods for TACCR0⤦ Ç= 11 & TACCR0 = 119 are 12000/( TACCR0 +1) = 1000 Hz or 1ms & 100 Hz or 10⤦ Çms 59 TACCR0 = (11 * INTERRUPT_FACTOR ) + 9 * ( INTERRUPT_FACTOR / 10) ; 60 61 // enable int for CCR0 , timer in ACLK , counter mode , clear timer 62 TACCTL0 = CCIE; 63 TACTL = TASSEL_1 + MC_1 + TACLR ; 64 65 // Enter LPM4 & configure to leave it by interrupt , timer is OFF 66 _BIS_SR ( LPM4_bits + GIE ); 67 } 68 69 70 // Port 1 interrupt service routine 71 #pragma vector=PORT1_VECTOR 72 __interrupt void Port_1_ISR ( void) { 73 // check if we have captured whole WUC 74 if ( WuRx_phase == ENDING_SIGNAL ) { 75 // recollect address = milliseconds and put to chain 76 # ifdef DEBUG_WURX 77 chain[index_chain] = miliseconds; 78 index_chain = (index_chain + 1 ); 79 if ( index_chain == MAX_INDEX_WUC ) index_chain = 0; 80 # endif 81 // check address 82 if (( miliseconds <= MY_WURX_ADDRESS + ADDRESS_PRECISION ) && (⤦ Çmiliseconds >= MY_WURX_ADDRESS - ADDRESS_PRECISION )) { 83 P1OUT |= ( LED0 + LED1 ); 84 // blink for one second 85 __delay_cycles(100000); 86 P1OUT &= ~( LED0 + LED1 ); 87 } 58
Section 3.6. TicK Source Code 88 } 89 // for the next WuC 90 miliseconds = 0; 91 92 // disable meanwhile the GPIO INT sources 93 P1IFG &= ~( BUTTON + WURX ); 94 P1IE &= ~( BUTTON + WURX ); 95 96 // pass to LPM3 , we need OSC for next block 97 _BIC_SR_IRQ ( LPM4_bits + GIE ); 98 _BIS_SR_IRQ ( LPM3_bits + GIE ); 99 } 100 101 102 // Timer A interrupt service routine 103 #pragma vector=TIMER0_A0_VECTOR 104 __interrupt void CCR0_ISR(void) { 105 // we only use CCIFG , no need to diff between TAIFG and CCIFG 106 miliseconds += INTERRUPT_FACTOR ; 107 if( miliseconds == ENABLE_TIMEOUT ) { 108 // clear just -in - case and reenable INT 109 P1IFG &= ~( BUTTON + WURX ); 110 P1IE |= ( BUTTON + WURX ); 111 112 // after the second WUC , pass to LPM4 , no need for OSC 113 if ( WuRx_phase == ENDING_SIGNAL ) { 114 _BIC_SR_IRQ ( LPM3_bits + GIE ); 115 _BIS_SR_IRQ ( LPM4_bits + GIE ); 116 } 117 118 // next step 119 WuRx_phase ^= 1; 120 } 121 else if ( miliseconds == ( WURX_TIMEOUT )) { 122 // wake - up timeout ! 123 WuRx_phase = STARTING_SIGNAL ; 124 P1OUT &= ~( LED0 + LED1 ); 125 } 126 } 127 128 #pragma vector = PORT2_VECTOR , WDT_VECTOR , ADC10_VECTOR , COMPARATORA_VECTOR , \ 129 NMI_VECTOR , TIMER0_A1_VECTOR , USI_VECTOR 130 __interrupt void ISR_trap(void) 131 { 132 WDTCTL = 0; // this means an access violation and a PUC reset 133 } Code 3.2: TicK source code for the MSP430G2452 MCU. 59
Chapter 3. Time-knocKing: a Novel Low-Power Mechanism for WuR Addressing 3.7 Conclusions Wake-up radio is a promising energy-efficient rendezvous method for wireless networks. However, for the energy efficiency of such approaches, all related operations, including the address decoding for WuRx, should also be energy-efficient due to the very limited power source in devices such as wireless sensors or actuators. The so-called Time-Knocking approach enables energy efficient addressing by varying the sleep duration of MCUs through WuC to encode the address. In this chapter, the current consumption results of TicK are compared against two common addressing methods: MCU- decoding and correlator-based addressing. For all three methods, current consumption formulas are derived and evaluated using realistic system parameter values. The results show that TicK achieves much better current consumption values compared to the two other methods, while slightly sacrificing delay from the duration of addressing. TicK also enables variable length addresses, which can be used for temporary or local address assignments, and supports multicast or group-based wake-up inherently and in a very energy-efficient way because of addresses in TicK being encoded in a progressive manner. Moreover, address mismatches in TicK are determined without waiting for the end of addressing, hence surrounding nonintended nodes can go to sleep mode quickly. Evaluations in this chapter also contemplate scenarios comprising multiple nodes, where only one node is addressed but the WuC reaches the rest of the nodes, too. Such scenarios show the current consumption advantage of TicK even more significantly. TicK allows employing a panoply of different hardware at WuTx and WuRx and is also implementable in many MCU and WuRx combinations. However, TicK being a PPM-based strategy makes it vulnerable to interferences, even if address mismatching is quickly detected by TicK. The problem of interferences gets worse as the sensitivity of the WuRx employed in TicK gets better, since more range means more false WuC triggering taking place. In addition, despite its versatility, TicK is designed with the WuTx and WuRx prototypes from chapter 2 in mind. Unfortunately, there are applications where a large antenna is not suitable and boards should be considered as designed as equal peer entities. Finally, longer ranges that the ones providing by designs in chapter 2 would be desirable. In order to address the previous issues, chapter 4 presents and analyzes a WuR design developed at the University of Freiburg. During a research partnership, Universitat Polit`ecnica de Catalunya thoroughly analyzed such system’s performance in terms of time and energy, implemented several energy harvesting prototypes, provided an extensive state-of-the-art to the community (chapter 5), developed the first WuR simulator (chapter 6) and finally successfully extended the WuR concept to new research areas, like being capable of shifting WuR systems to IEEE 802.11 areas in chapter 8. 60
Section 4.2. Performance Analysis of the SCM-WuR System allow to adjust the Q of the circuit. π-networks as the one in Figure 4.5 allow for custom Q designs. While simulations like the ones in Figures 4.4 and 4.5 are useful, the WuRx impedance matching can behave differently than expected if some design guidelines are not followed. For example, it is essential to have a proper ground plane when designing RF and to leave proper clearance in the RF trace. In the developed SCM-WuR system, the last bits of the WuC contain the address of the intended receiver node. The AS3932 IC in the WuRx generates an interrupt only if the correlator matches the address in the WuC with the one set for that WuRx via SPI commands, as shown in chapter 3, Code 3.1. WuRx can either use unique address assignments or rolebased assignments. For example, all router or relay devices can be assigned a specific role identifier. In a similar way, a WuC can be employed to activate only nodes attached to a particular sensor type, which can be humidity, fire, garbage, heart-rate, pressure, etc. Interestingly, SCM-WuR can perfectly also be implemented without an AS3932 integrated circuit, since the main component it employs is an address correlator. Other WuRx proposals in the literature implement similar correlators by means of shift registers and parallel comparators. However, since the AS3932 already contains an efficient address correlator as well as a kHz envelope detector, this integrated circuit is conveniently reused and deployed in SCM- WuR boards for a high-performance and reproducible design. Another important feature of SCM-WuR is that, by deploying proper envelope detection stages in the RF input path, systems working at other frequencies such as 433 MHz or 2.4 GHz can be easily implemented, which makes the SCM-WuR design very flexible. A final advantage of the SCM-WuR is not requiring two separate wireless transceivers for data communication and for WuR, reducing the overall monetary cost of the system. 4.2 Performance Analysis of the SCM-WuR System This section presents a complete performance analysis of the SCM-WuR system. The characterization is done for timing and wake-up delay analysis, current consumption of WuTx and WuRx boards at different communication stages, and operational distance ranges achieved for WuCs transmitted at different WuTx power levels. 4.2.1 Timing and Wake-Up Delay Analysis In the SCM-WuRx, the AS3932 chip, found after the 868 MHz envelope detector, expects the WuC to be sent according to the format detailed in Figure 4.6. This format matches the one in chapter 3, Figure 3.3 for the AS3933 and is further detailed next. The WuC format consists of a carrier burst, a preamble containing several consecutive 0-1-0 bit transitions, a 16-bit address pattern and an optional data sequence. The data field allows two devices to exchange a small size data without leaving wake-up mode. If employed, such data reception requires 67
Chapter 4. Analysis & Performance Evaluation of SubCarrier Modulation Wake-up Radio Systems (SCM-WuR) the MCU to monitor a pin labeled as DATA in the AS3932. Low-power pin monitoring can be done by means of energy-efficient strategies such as TicK [34] in chapter 3, which barely requires few µA on average. Figure 4.6: WuC format as in the AS393x datasheet. The AS3932 generates a wake-up interrupt for the node’s MCU only if the entire WuC protocol is fulfilled and the address pattern matches the node’s address. Otherwise, the AS3932 can also be configured as a plain frequency detector to further reduce energy consumption if addressing is not needed or, again, if alternative energy-efficient wake-up addressing strategies such as TicK [34] are considered. In such frequency-detection case, only the carrier burst is needed. In the evaluations in this chapter, SCM-WuR boards are configured to use addressing but no trailing data. In the SCM-WuR system, the WuC bit-rate can vary from 1024 bps to 8192 bps. Empirical evaluations show that WuCs sent at higher bit-rates than 2730 bps result in a challenging signal for the envelope detector and data slicer of the WuRx, which leads to both operational range and WuC detection rate decrease. At such bit-rate of 2730 bps, the transmission of a WuC is measured to last for 12 ms. In data communication, components are able to work at higher bit-rates than when used for WuR purposes. For example, the CC1101 is able to operate up to 600 kbps. To quantify the total time required to activate an SCM-WuR board through a WuC, the total wake-up delay is measured by attaching one oscilloscope probe to the output of the WuTx and another to the GPIO wake-up input of the MCU. As shown in Figure 4.7, the wake-up delay is observed to be 13.08 ms, as a result of adding factors such as RF amplification settling time (250 µs) and the delay for the data slicer (366 µs) to the WuC duration. 4.2.2 Current Consumption Analysis The power level at which a WuC is transmitted presents a trade-off between energy consumption at WuTx and the system’s effective operational range. To quantify this trade-off, three different transmit power levels are tested, -10 dBm, 0 dBm and +10 dBm, for which the corresponding current consumption values are measured to be 13 mA, 14.4 mA and 19.1 mA, 68
Section 4.2. Performance Analysis of the SCM-WuR System Figure 4.7: Incoming WuC from the SCM-WuTx and corresponding interrupt (INT) signal to the node’s MCU in the receiving SCM-WuRx. respectively. Considering the latter value, a WuTx employs a total of 0.68 mJ when transmitting a WuC and 0.23 mJ when transmitting one 100-bytes data packet. Regarding the WuRx side, the CC1101 868 MHz transceiver is turned off in wake-up mode, while the antenna switch only requires a few nA, which is a negligible value compared to the current consumption levels in the µA order of the AS3932 chip (2.6µA) and the MCU. The exact current consumption of the MCU depends on the LPM it is in. The MSP430F2350 MCU [35] employed in SCM-WuR boards can be configured to use LPM levels from 0 to 4. Different levels correspond to disabling/enabling the core, digital oscillators and different clock sources. As introduced in chapter 1, section 1.3, disabling all such elements enables reducing the current consumption of the MSP430 from 300 µA in 1 MHz active mode, to 0.1µA when in its deepest sleep mode LPM4, where it can only be activated by an external interrupt on one of its configured GPIO pins. In sleep mode, the entire SCM-WuRx current consumption is ∼2.7µA. This value allows for up to 8 years of battery lifetime if considering a 230 mAh CR2032 cell coin battery. An Agilent Technologies N6750A power analyzer is employed in Figure 4.8a to depict the stages of communication between WuTx and WuRx along the corresponding current consumption values experienced by SCM-WuR systems in detail. In the tests conducted, one SCM-WuR device is programmed to operate as WuRx. Upon reception of a WuC, it activates a LED for 100 ms and next switches from WuRx to WuTx mode role to send a WuC to a third node. As shown in Figure 4.8a, the WuRx in wake-up mode initially consumes as low as 2.7µA (2.6µA for the AS3932 + 0.1µA for the MCU), since it is just waiting a possible incoming WuC carrier burst. When a carrier burst is detected, the WuRx starts decoding the address, which requires 8.8µA. Comparatively, under duty-cycling schemes (e.g., IEEE 802.15.4, IEEE 802.11 or 3G/4G) the mobile device is periodically activated to check for a possible incoming 69
Chapter 4. Analysis & Performance Evaluation of SubCarrier Modulation Wake-up Radio Systems (SCM-WuR) communication, requiring current consumption amounts in the order of mA, i.e., 1000 times higher than that of SCM-WuR. In Figure 4.8a, after the decoding of a matching address an interrupt is sent to the MCU and a signalling LED blinks for 100 ms. Then, the CC1101 is activated (240 µs, value not shown in the figure) and a new WuC is transmitted. Such WuC lasts 12 ms as in Figure 4.7 and requires 19.1 mA for an output power of +10 dBm. For further energy savings at the WuTx, and if the whole 16-bit addressable space is not required, the WuC duration value can be reduced by using node addresses ending with bit values of ‘0’. (a) (b) Figure 4.8: (a) Power analyzer trace of a SCM-WuR relay node; (b) Powering the relay SCM-WuR node by means of a solar cell and a supercapacitor. The described application example represents a multi-hop wake-up through the use of SCM- WuR, which, to the best of the authors’ knowledge, is being demonstrated in the literature for the first time in a real WuR hardware platform. A similar power profile is expectable for another type of application where a node sends back a transducer measure to a collector node originally sending the WuC. The energy requirements of SCM-WuR nodes are so low that they can be easily powered by means of solar harvesting solutions. As a proof-of-concept, a novel functional prototype 70
Section 4.2. Performance Analysis of the SCM-WuR System implementing the WuR multi-hop procedure in Figure 4.8a is shown in Figure 4.8b. 4.2.3 Wake-Up Range Analysis As in the case of the WuR system in chapter 2, a characterization of the operational distances achievable when employing different transmit power levels is essential to observe the tradeoff between range and current consumption for the SCM-WuR system. This evaluation also enables devising adaptive transmitting power strategies for further energy efficiency. In the test set-up of the wake-up range analysis, the WuTx is fixed at a coherent height of 1 m and the WuRx displaced vertically and horizontally relative to the WuTx, in steps of 40 cm and 50 cm, respectively. For the WuTx, three transmit power levels are evaluated: -10 dBm, 0 dBm and +10 dBm. In the evaluations, the WuRx is attached to a Bluetooth Low Energy (BLE) device. When the WuRx receives a WuC destined to it, it sends a wake-up interrupt to the input pin of the BLE device’s 8051 MCU. Such MCU is programmed to stay in low-power mode when idle, and to generate a single BLE Advertising frame for every wake-up interrupt on its GPIO input pin. These BLE reply frames are detected over the air by the use of a BLE sniffer. Thus, in this scenario the main data communication and the wake-up communication are done in different frequency bands, i.e., it corresponds to an out-of-band WuR solution. If instead data frames are transmitted back by means of an integrated transceiver, such as the CC1101 in case of the SCM-WuR boards, the WuR solution is considered in-band. The amount of sniffed BLE Advertising Frames matches the number of successfully decoded WuC. Based on this number, and analogously to the performance evaluations in chapter 2, three operational zones are defined in Figure 4.9. Zone1 denotes a consistent reception of the WuCs and is represented by white color; Zone2 denotes the zones with certain WuCs are detected, but reception is not 100% guaranteed and is represented by gray color; in Zone3 the WuRx is not activated at all by any WuC, which is represented by black color. As shown in Figure 4.9, the maximum operational distance achieved is approximately 41 m for a WuTx transmit power of +10 dBm, which is a significant improvement over the maximum range of most state-of-the-art WuR solutions, as thoroughly analyzed in the next chapter 5. For the other two tested transmit power levels of -10 dBm and 0 dBm, the maximum operational distances measured are 6 m and 24 m, respectively. A range of 6 m is adequate for several applications such as Wireless Body Area Networks (WBAN). By combining the patch antenna design in chapter 2 and a SCM-WuTx, about 100 m are observed at +10 dBm, which is among the best values in the literature. Since the maximum allowed transmit power at the 868 MHz band is +27 dBm in Europe, the wake-up range of SCM-WuR can still be increased by using amplifiers such as the CC1190, with the counterpart of increasing energy consumption at the transmitter side. For a +20 dBm output power, more than 100 m range has been measured for SCM-WuR systems. Again, this operational wake-up range is among the longest ones in the literature for a WuRx current 71
Chapter 4. Analysis & Performance Evaluation of SubCarrier Modulation Wake-up Radio Systems (SCM-WuR) (a) (b) (c) Figure 4.9: Wake-up distance evaluations for SCM-WuTx output power of (a) -10 dBm; (b) 0 dBm; and (c) +10 dBm. 72
Section 4.3. Illustrative Application Scenarios and Multi-Hop Network Performance Evaluation of SCM-WuR consumption of few µA [36]. Choosing between the configuration comprising a power amplifier or one with a high-efficiency antenna depends on the application. The combination between the patch antenna and the amplifier-enabled WuTx has not been tested. A Mathematica [37] simulation employing the values in Table 4.1 is conducted in order to compare the values featured by the SCM-WuRx to the maximum theoretical limits. Parameter Value Frequency 868 MHz WuTx Power +10 dBm WuRx Sensitivity -53 dBm WuTx Antenna gain +2 dBi WuRx Antenna gain +2 dBi WuTx Height 1 m WuRx Height 1.25 m Table 4.1: Parameters for the range simulation in Figure 4.10. The results in Figure 4.10 show both the theoretical free-space Friis distance and the 2-ray ground reflection model for the described scenario. The dot in the figure depicts the WuRx real operational range results from Figure 4.9c. Figure 4.10: Simulation of the theoretical received power of SCM-WuRx vs. measured sensitivity. 4.3 Illustrative Application Scenarios and Multi-Hop Network Performance Evaluation of SCM-WuR The characteristics of SCM-WuR make it suitable for a wide range of applications. This section illustrates two types of scenario, one single-hop and one multi-hop, and evaluates by simulation the network performance of the latter for nodes featuring the SCM-WuR system. 73
Chapter 4. Analysis & Performance Evaluation of SubCarrier Modulation Wake-up Radio Systems (SCM-WuR) A possible single-hop scenario is urban sensing, for which a collector data-mule application is considered. Under this scenario, a SCM-WuR board acting as a collector node is placed in a non-power-restrained mobile node, which can be a public bus or a garbage truck. Such mobile node travels around the city and queries SCM-WuRx-equipped sensors placed along its route. Thus, the only moment that the deployed SCM-WuR boards get activated is when the mobile node passes nearby. Such behavior differs from typical duty-cycling wireless sensors, which activate periodically but are only really queried when the data-mule passes nearby, which can correspond to once in several hours. Remote sensors may be placed or attached to any element in town, as illustrated in Figure 4.11. In addition, and as shown in Figure 4.8b, in case that such SCM-WuR sensor nodes are queried infrequently, they can even be powered by means of energy harvesting solutions, allowing a power supply capacitor to charge up between queries. The trash bin in Figure 4.11 can host an SCM-WuR-equipped ultra-sound sensor to transmit back the height of the garbage once queried. Also, trees can be equipped with humidity sensors in order to check they are being irrigated correctly during the day. Even the bus stop can be equipped with environmental sensors such as solar radiation and pollution sensors. Finally, panels may feature proximity sensors to be aware of how many users read the information, or advertisements, displayed in them. The SCM-WuR system can query any or all of these sensors by means of proper addressing. Such addressing may be not unique, thus the same address can be set for all the sensors of the same type, e.g., humidity, in a role-based addressing schema. Thus, the same address can be reused between several bus stops to just address certain types of sensors. A GPS-based application connected to the city database makes the mobile node aware of which kind of sensor is deployed in each area of the town. For this single-hop application, SCM- WuR boards capable of operating up to 40 m are adequate. As commented, this range can be reduced if shorter ranges are enough. Figure 4.11: A bus stop equipped with SCM-WuR sensors. 74
Section 4.3. Illustrative Application Scenarios and Multi-Hop Network Performance Evaluation of SCM-WuR For the multi-hop scenario, a slightly different version of the SCM-WuR boards is considered to enable them operating up to distances of 100 m and/or traverse walls. For this, the boards are equipped with a CC1190 output power amplifier for up to an output power of +20 dBm. In this configuration, the current consumption featured by SCM-WuRx only slightly increases up to 3.5µA, while the current consumption for a WuC transmission noticeably raises up to 152 mA. Currently, there are ongoing research efforts to reduce such high value for WuC transmission. Comparatively, in case of the 40-m version of the SCM-WuR system, the ratio between the energy required to send a WuC (Section 4.2.2) and a 100-byte data packet and a WuC is calculated to be 0.68 mJ / 0.23 mJ = 2. In case of the 100-m capable SCM-WuR system, this value increases up to 5.5 mJ / 0.23 mJ = 24. The current consumption increment for boards in wake-up mode is due to a design modification to employ a CC430, which merges in a single integrated circuit both MSP430 and CC1101 components. While this change allows for less circuitry, the LPM4 for the CC430 SoC is not as efficient as the one for a standalone MSP430F2350 MCU. The 100-m version of the SCM-WuR boards is powered by 2 AA batteries for a capacity of 1500 mAh (3 V). This change also provides more robust management of current peaks. These values are indicated in Table 4.2. In order to test the performance of the SCM-WuR approach in a the multi-hop network, an OMNET++ [38] model for the SCM-WuR boards is developed for the convergecast tree topology in Figure 4.12. SCM-WuR transmissions are empirically proven to be able to traverse up to three walls along their RF path. Therefore, sensors can be placed anywhere in three dimensions along the scenario, where nodes periodically send their vibration measurements to a sink. Intermediate nodes have to send their own measurements, as well as to relay the information they receive. The network’s sink, i.e., Node 0, merely operates as a receiver until a mobile data-mule node, or a human operator, comes nearby. Then, the sink provides all the information collected in an aggregated fashion. A more extensive analysis comprising more topologies, applications and metrics evaluating the SCM-WuR system are included in chapter 6. In the simulation results of Figure 4.13, the x-axis represents packet rates (λ) of 0.006, 0.01, 0.02, 0.03 and 0.1 packets per second. This values correspond to periods from 180 s to 10 s between two packets generated by the same node. Packets to be forwarded are sent immediately. The simulation is conducted for 10 000 s and up to 10 tests are performed for each packet rate. The rest of parameters of the scenario are shown in Table 4.2. Figure 4.13a depicts lifetime values achieved by one of the bottleneck nodes, Node 1. Node 1, besides sending its own measures, is in charge of forwarding packets from half of the nodes in the network and hence, it is one of the two most power-demanding nodes. As seen in the figure, the lifetime values for this Node 1 decrease as more frequent sensor reports are required. For periods longer than one minute (λ∼0.016), the SCM-WuR network in Figure 4.12 allows for lifetimes longer than two years. In the network in Figure 4.12, each report from a sensor consists of one WuC followed by one regular data transmission, which approximately requires 75
Chapter 4. Analysis & Performance Evaluation of SubCarrier Modulation Wake-up Radio Systems (SCM-WuR) Figure 4.12: A network of SCM-WuR vibration sensor nodes along a multi-hop scenario. Parameter Value Frequency 868 MHz Inter-node Distance 100 m or up to 3 walls Packet Payload 100 bytes Battery Capacity 1500 mAh Rx Current: Data Communications Mode 18.8 mA Tx Current: Data Communications Mode 19.1 mA Data Communications Radio Bit-rate 250 kbps Joules to transmit one 100-bytes packet 0.23 mJ Rx Current: Wake-up Mode 3.5µA Tx Current: Wake-up Mode 152 mA (+20 dBm) WuC Duration 12.2 ms Energy to transmit 1 WuC 5.5 mJ Number of Nodes 15 Table 4.2: Parameters for the simulation in Figure 4.12. 12 ms (WuC) + 3 ms (data) ∼15 ms channel access time. Numerically, for a reporting period of 180 s, or λ= 0.006, a SCM-WuR node is active during 0.000083% of the time. In contrast, duty cycled systems may be active up to 5% of the time [10]. The difference in percentages comprises several orders of magnitude. When the reporting period decreases, WuR lifetime performance logically gets closer to the ones typical for duty cycled solutions (e.g., lifetime is approximately 69 days for a reporting period of 10 s or λ= 0.1 packets per second). However, for many real-life applications reporting periods of several minutes are expectable. The successful Packet Delivery Ratio (PDR) of the sensor readings to the sink is depicted in Figure 4.13b. As shown, for reporting periods longer than 10 s (λ= 0.1 packets per second) the 76
Section 5.3. MCU-Based WuRx Proposals A recent super-heterodyne proposal seems to target solving the previous issues. The WuRx in [47] features current consumption values of 1.2µA, 3.2µA and 86.7µA for different WuC bit-rates, which allow for wake-up latencies of 484 ms, 121 ms and 3.8 ms, respectively. While all these combinations perform worse than SCM-WuR, they outperform existing heterodyne approaches. Comparing heterodyne approaches to SCM-WuR is challenging, since most of the studies lack information about their application areas, addressing capabilities and/or achievable operational distances. For example, heterodyne WuRx proposals in the literature output a baseband sequence when receiving a WuC, thus they are not considered to feature embedded addressing. Despite this, they can still be compared for other metrics, such as bit-rate. In fact, heterodyne WuR system proposals provide WuC bit-rates noticeably higher than SCM-WuR. Nevertheless, because of the main function of a WuRx consists of activating an intended sleeping sensor node, SCM-WuR systems do not feature the hundreds of kbps of heterodyne WuR systems, thus can discount several active components. Such circumstance allows SCM-WuRx designs for less complicated and cheaper circuitry, which results in designs requiring up to ten times less power. Also, SCM-WuR systems operate in-band at 868 MHz, thus there is no need for additional transceivers. 5.3 MCU-Based WuRx Proposals These proposals employ an additional independent MCU in a WuRx to perform several tasks, such as signal filtering. Unfortunately, such approach is as agile to implement as inefficient in terms of energy consumption. The design in [17], shown in Figure 5.3, features an AT-mega128L MCU to decode a WuC after signal rectification and amplification. The AT-mega128L is always kept in active mode requiring 801 µW at 3 V. If this MCU decodes the proper node address in the WuC, it wakes up a second and more powerful MCU from its sleep mode. Before the AT-mega128L, the WuRx deploys an energy-hungry but not very efficient amplifier stage, which provides operational ranges of barely 3 m. Figure 5.3: MCU-based WuRx design. 83
Chapter 5. Comparative Analysis of State-of-the-Art Wake-up Radio Systems The design in [17] is not suitable for WuRx purposes because of requiring an always-active MCU, its high current consumption value and the mentioned limited operational range. SCM- WuR simply outperforms WuR systems based on a secondary MCU [17] in every metric. Clearly, MCU-based WuR systems cannot be considered for realistic applications, yet they are presented in this chapter as an alternative proposal in the literature. 5.4 Low-Complexity WuRx Proposals The performance achieved in both the previously presented WuRx types, heterodyne and MCU-based, shows that precisely the most effective way to reduce energy need is trying to simplify the circuitry in a WuRx. Chronologically, the first proof-of-concept WuRx is presented in [30], simply featuring a capacitor and a rectifying diode. Interestingly, this simplistic and low-complexity WuR system even considers a RTID addressing scheme described in chapter 3, section 3.2.1, where the WuTx transmits signals at different frequencies simultaneously to activate an intended WuRx. However, this WuR system features poor operational ranges of few meters. Another low-complexity 868 MHz WuRx consisting of a voltage multiplier, a rectifier scheme and a voltage comparator is presented in [31]. The WuR system, while featuring an interesting WuRx current consumption value of just 900 nA, does not achieve operational distances larger than 3.5 m and is prone to false wake-ups caused by RF interferences at the mentioned frequency. To overcome these limitations, this thesis proposes several improvements to this system in chapter 2, such as adding a SAW filter to protect the WuRx from being activated by interferences and different WuTx designs to increase the operational distances up to 15 m, a value that effectively allows the WuR system to be employed for medium-range applications. Another low-complexity WuRx proposal [48] can selectively operate at 915 MHz or 2.4 GHz depending on the chosen input stage configuration, which can be varied by means of different input coil configurations at the RF impedance matching stage. The described WuRx consumes 51 µA at 1 V and basically amplifies the WuC signal, extracts its envelope and, if a dutycycled Analog to Digital Converter (ADC) considers the signal powerful enough, generates an interrupt destined to the node’s MCU. Similarly, the WuRx presented in [48] splits its operation in a two-step fashion, the former one of which is also duty-cycled. In the so-called monitoring mode, WuC is detected by means of a duty-cycled comparator. This mode consumes as low as 4.7µA from a 1.8 V power supply. Afterwards, upon detection of a WuC, the WuRx is switched to identification mode to decode the address in the WuC. Unfortunately, the high bit-rates employed by this WuR system drive the decoding of the address in the WuC to require up to 599 µA. The most efficient low-complexity WuRx proposal to date is presented in [3]. The WuRx, which block diagram is shown in Figure 5.4, is designed for WBAN applications. The design provides operational ranges of up to 10 m for a WuTx output power of +10 dBm. Indeed, 84
Section 5.4. Low-Complexity WuRx Proposals the WuRx in [3] features one of the lowest current consumption of the all WuRx approaches (180 nA at 1.5 V), while still presenting a good trade-off between current consumption, hardware complexity and operational range. However, the WuC addressing feature is left to the MCU and its related current consumption not mentioned in the paper. In fact, the WuC is considered as the trigger to start the data slicer and the Pulse Width Modulation (PWM) demodulator, which provide a SPI translation of the incoming data to the MCU. Figure 5.4: The low-complexity WuRX design in [3]. Yet another low-complexity WuRx design for WBAN is presented in [49]. Even though it also presents a minimal current consumption value of 82 nA at 1.2 V, the proposed 915 MHz design barely achieves operational distances of 1 m for 0 dBm. Thus, this latter WuRx is not considered for the comparison in this chapter. Low-complexity WuR designs can be considered as an intermediate approach that combines the best of RFID-based and heterodyne approaches, since they feature less circuitry complexity than heterodyne approaches and, at the same time, better ratio between operational range and WuTx current consumption than RFID-based WuR systems. In addition, most low-complexity WuRx proposals provide full details in order to make designs reproducible and also operate at bit-rates much more adequate for WuR purposes than those of heterodyne approaches. As a proof-of-concept, the low-complexity WuR system in [31] fits in the short-range application area, like RFID-based WuRx designs. However, since the related WuTx can be implemented by means of a RF transceiver instead of a RFID reader, it presents much better possibilities in terms of peer-to-peer applications. In addition, in case some design improvements are incorporated in the WuRx design and more efficient antennae line the one in [4] are allowed in WuTx, the resulting WuR system may feature higher operational range values than that of RFID-based WuR. Such potential for larger operational distance values, along with a current consumption value as low as 0.9µA, enables the WuRx to be employed in a larger number of applications. Figure 5.5 shows a wireless sensor platform based on the Texas Instruments CC2530EM [50] board equipped with a custom implementation of the low-complexity WuRx described in [4]. The design is empirically checked to feature operational distances around 13 meters by the same procedure in chapter 2, section 2.2.2. 85
Chapter 5. Comparative Analysis of State-of-the-Art Wake-up Radio Systems Figure 5.5: The low-complexity WuRx design in [4] attached to a wireless sensor node. When the WuRx detects a WuC, the main board is woken up from sleep mode to transmit back an IEEE 802.15.4 data frame. Several low-complexity WuRx proposals [48,51], duty cycle several WuRx components to reduce the current consumption. Such strategy cannot be performed without affecting WuTx transmissions, which need to be longer or repeated to ensure the duty-cycled WuRx is able to detect them, in a similar case as protocols like B-MAC [12]. Clearly, both circumstances imply either higher current consumption at the WuTx side, increased latency, or a reduction in the performance in terms of WuC detection, which may be not acceptable in certain WuR applications. Another drawback among all low-complexity WuR proposals is that they either lack addressing capabilities or require high amount of current to perform the address decoding procedure (up to 0.6 mA in [48]). Unfortunately, most low-complexity WuR proposals lack of range-related information, thus their comparison to SCM-WuR is difficult. However, since their design includes few active components, operational distances around 10 m would be expectable. For example, the WBAN low-complexity proposal in [3] is stated to achieve 10 m for a WuTx output power of +10 dBm. However, due to the fact the WuTx already employs the maximum allowed power at 433 MHz, the design cannot achieve longer operational ranges. Compared to [3], SCM-WuR provides noticeably higher operational ranges and slightly higher sensitivity (-51 dBm vs. -53 dBm). As shown in Figure 4.9c, the maximum operational distance achieved by SCM-WuR is about 41 m for a WuTx transmit power of +10 dBm. While low-complexity WuR systems present an evolution when compared to RFID-based, heterodyne and MCU-based ones, their limited operational distances and the fact that they lack an address correlator imply important performance issues. Instead, SCM-WuR systems 86
Section 5.5. Correlator-Based WuRx Proposals deploy a correlator in the WuRx expressly devoted to decode the address embedded in WuC while still requiring very few µA. In addition, the SCM approach allows for real operational ranges up to 100 m. Finally, SCM-WuR boards do not present duty-cycled components in their design. These characteristics allow SCM-WuR systems to be more efficient in every aspect and adequate for a wider range of application scenarios than low-complexity WuR. 5.5 Correlator-Based WuRx Proposals The most efficient WuRx designs in the literature employ hardware correlators. Thus, all correlator-based WuRx designs implicitly feature addressing capabilities. For example, SCM- WuR boards only require 8.8µA for their correlator to decode a WuC address. A simulated correlator-based WuRx approach can be found in [52]. It features a current consumption value of 19 µA and operational distances of 4 m for a 0 dBm output power. This work is the basis of several newer proposals, since it depicts a complete WuC signal processing trace including all the sequential steps from envelope detection to the address comparison stages. Another simulated WuRx, but based on a Field Programmable Gate Array (FPGA), is presented in [53]. Because of both works being proposed only by simulation and featuring similar characteristics, only the proposal in [52] is considered for the comparison in this chapter. A real correlator-based WuRx employing a FPGA for decoding the WuC is presented in [54]. It requires 8.4µA and is powered by 1.5 V power supply. Prior the FPGA, the design deploys an envelope detector and a programmable amplifier. Unfortunately, the operational ranges achieved when varying the amplifier gain are not provided in the paper. Since the WuRx is stated to target short-range applications, probably distances from 3 m to 10 m are expectable. The most efficient WuRx as of 2013 is presented in [5]. Such 868 MHz WuRx is based on a correlator capable of identifying addresses up to 64 bits in length. The power supply is 1.0 V and the total power consumption 2.4µW. The study in [5] includes the total time for the WuRx to fully activate the MCU, which takes from 40 ms to 110 ms. This WuRx is stated to feature operational distances of up to 304 m for a WuTx transmit power of +6.4 dBm. However, the proposed design, shown in Figure 5.6, omits crucial design details of the WuRx and is presented as a black box. Because of this, the proposal in [5] is hardly reproducible and analyzable. Because of the proposal in [52] merely simulates a WuRx circuit, its performance cannot be compared to SCM-WuR directly. Hence, the most relevant WuR proposals in the category of correlator-based WuRx to be compared to SCM-WuR are [5,54]. The authors in [54] state the WuC address decoding is performed in FPGA for the sake of flexibility. This means the 8.4µA consumption value featured by the WuRx can be reduced if addressing is implemented on-chip. Precisely, such modification is already performed in SCM-WuR boards, which only present a value of ∼10 µA when decoding of a WuC address. Instead, during idle state, SCM- WuR boards feature a third of the current consumption of the proposal in [54]. Despite this, 87
Chapter 5. Comparative Analysis of State-of-the-Art Wake-up Radio Systems Figure 5.6: Block diagram of the correlator-based WuRx design in [5]. both designs can be considered similar, even if the proposal in [54] is designed with short-range applications in mind. In fact, because of decoding of the WuC being performed by FPGA, the proposal in [54] even outperforms SCM-WuRx in few metrics such as WuC bit-rate capabilities of up to 100 kbps, which in turn means shorter WuC latencies. However, usually such high bit-rates are neither common, nor required for WuR applications. Unfortunately, a WuRx design featuring a FPGA may present higher monetary cost. When compared to other high bit-rate WuR systems such as heterodyne ones, the FPGA-based proposal in [54] enables a drastic improvement in terms of current consumption. On the other hand, the high performance WuRx presented in [5] features an 868 MHz impedance matching stage based on high-quality inductors for increased sensitivity as in SCM- WuR boards, along with operational ranges of 300 m for WuTx transmit power values below +10 dBm. Unfortunately, the WuRx design becomes hardly to reproduce due to the lack of details in the paper. In addition, the transmission of the WuC in [5] lasts for 4 to 10 times longer than that of SCM-WuR. Since during the WuC decoding the WuRx cannot handle any other input RF signal, such WuC time duration may seriously affect the PDR of a network comprising several WuRx-equipped nodes. Some proposals are just cited but not analyzed in this section since they are either difficult to reproduce or their utility is limited. For example, the WuRx in [55] requires a 60 GHz WuTx. On the other part, some systems like [56], because of being designed as intra-vehicle systems, provide limited ranges of barely 2 meters. 5.6 Other Types of WuRx Apart from RF WuR systems, there are also proposals based on different transmission medium. For example, the proposal in [57] utilizes Free Space Optical (FSO) communications to generate the WuC. It achieves operational ranges of up to 20 m for a WuTx power of 16.5 mW. The wake-up receiver requires 100 µA. Unfortunately, the system suffers from low bit-rates of 2 kbps even in data communication mode and requires Line-of-Sight (LoS) between nodes. The authors in [57] state that, in the case of optical wake-up systems, addressing is inherently 88
Section 5.7. Summary implemented by means of the directional nature of the optical medium. Yet, it is not clear the performance of this system for networks where nodes are not perfectly aligned. Another FSO proposal is presented in [58], which features an ultra-low power consumption of 695 pW. This WuRx allows for operating distances up to 50 m when employing a fixedposition 3 mW laser as WuTx, of 6 m when employing a 3 W focusable LED and of 20 cm when employing a 0.5 W standard LED. Similarly to the design in [57], the wake-up system in [58] suffers from LoS requirements, even lower bit-rate (91 bps) and WuC detection capabilities extremely dependent on the physical alignment between the optical transmitter and receiver nodes. Each of these issues limits the application areas of optical systems. Differently from [57], the proposal in [58] features an embedded addressing scheme. An infrared (IR)-light wake-up system is presented in [59]. The WuRx features an IR-LED energy harvester which provides the energy required by a WuC-detector and an external-noise current canceller to operate. The system allows to wake-up domestic electronic appliances up to 6 m away by a WuRx only requiring 40 pW. While this is an interesting value, the system also presents some issues like the lack of addressing, the traditional high current consumption of infrared transmitters and latency values of up to 50 ms, as well as the same line-of-sight requirements of any infrared communication. The last type of wake-up systems employs ultrasonic communications between receiver and transmitter [60]. The receiver requires less than 1 µA when in idle state and up to 7 µA when active. The system may be employed to estimate distances up to 9 m between receiver and transmitter with a maximum error of 0.1 m. The WuTx consumes 37 mW (2 V) and takes about 0.5 s to specify an 8-bit address, thus its bit-rate is 16 bps. Clearly, optical and ultrasonic WuR systems target different application scenarios than SCM-WuR. However, they can still be compared in terms of several metrics. In fact, the optical approach in [58] features the lowest power consumption among all the wake-up systems by only requiring 695 pW in sleeping mode. In turn, the related WuTx only consumes 3 mW to reach up to 50 m. Unfortunately, the number of applications which can benefit from two perfectly aligned nodes, as required by the optical system due to employing a laser as WuTx, is very restricted compared to SCM-WuR systems, which are not alignment-dependent. On the other hand, while the ultrasonic WuRx in [60] requires less than 1 µA to operate, its application areas are restricted to short-range distance estimation. In addition, its bit-rate is extremely low even for wake-up applications, making a single WuC to last for up to 500 ms. 5.7 Summary The most relevant WuRx proposals in the literature are plotted in Figure 5.7 to allow a quick comparison of their features. 89
Chapter 5. Comparative Analysis of State-of-the-Art Wake-up Radio Systems −100 −90 −80 −70 −60 −50 10−1 100 101 102 103 [14] [40] [2] [45] [46] [17] [4,31] [48] [51][24] [3] [52] [54] [5] [61] sensitivity (dBm) power consumption (µW) Full details are provided in summary Table 5.1. There are currently no standardization efforts for WuR systems, thus most of them operate on unlicensed Industrial, Scientific and Medical (ISM) frequency bands. Column labeled as @ in Table 5.1 indicates if the WuRx features embedded addressing capabilities. Due to missing information about RFID-WuR proposal in [40], values from the core RFID active tag employed in the WuRx design are indicated. 90
Ref. Type Frequency Sensitivity Current Consumption @ Range Bit-rate Applications [14] RFID 900 MHz (ASK) -80 dBm 0.2µA (3 V) Y 5 m (N/A) N/A Short-Range WBAN [40] 2.4 GHz (ASK) -95 dBm 6 µA (3 V) Y 30 m (0 dBm) 250 kbps Experimental [2] 2 GHz (OOK) -72 dBm 104 µA (0.5 V) N N/A 200 kbps WSN [45] Heterodyne 2.4 GHz (PPM) -82 dBm 346 µA (1.2 V) N N/A 500 kpbs WSN [46] 45 MHz (FSK) -62 dBm 54 µA (0.7 V) N <10 m (N/A) 200 kbps WBAN [17] MCU 868 MHz (OOK) -51 dBm 266.6µA (3 V) N 3 m (+4.7 dBm) N/A Experimental [30] 433 MHz N/A 100 µA (1.5 V) Y 7 m (+10 dBm) N/A Experimental [4,31] 868 MHz (OOK) -77 dBm 0.876 µA (3 V) N 15 m (+27 dBm) 2 kbps Short-Range Data-mule WBAN [48] Low-complexity 2.4 GHz (OOK) 915 MHz (OOK) -69 dBm -80 dBm 51 µA (1 V) N N/A 10 kbps WSN [51] 928 MHz (OOK) -73 dBm idle/decoding 4.7µA/599 µA (1.8 V) Y N/A 1 kbps WSN [24] 150 kHz (ASK) -67 dBm idle/decoding 2.6µA/8.3µA (3 V) Y 5 m (+33 dBm) 0.5 to 8 kbps Short-Range WBAN Keylock [3] 433 MHz (PWM) -51 dBm 180 nA (1.5 V) Y 10 m (+10 dBm) 2 to 80 kbps Data-mule WBAN Warehouse [52] Correlator 2.4 GHz (PWM) -50 dBm 19 µA (1 V) Y 4 m (0 dBm) 50 kbps Experimental [54] 2.4 GHz (OOK) -55 dBm 8.5µA (1.5 V) Y N/A 100 kbps Short-Range [5] 868 MHz (OOK) -71 dBm 2.4µA (1 V) Y 304 m (+6.4 dBm) 20 to 200 kbps Data-mule Warehouse Environmental Table 5.1: Comparative table of representative WuR proposals.
Ref. Type Frequency Sensitivity Current Consumption @ Range Bit-rate Applications [57] Optical Light -53 dBm 25 µA (3.3 V) Y 15 m (+12 dBm) 20 cm (0.5 W LED) 2 kpbs WSN [58] Light (PWM) 37 lux 580 pA (1.2 V) Y 6 m (3 W focus LED) 50 m (3 mW Laser) 91 bps Experimental [60] Ultrasonic Sound (OOK) 1 mV at 1 m 874 nA (2 V) Y 9 m (+15.6 dBm) 16 bps Distance measur. SCM-WuR Correlator 868 MHz (OOK) -53 dBm idle/decoding 2.7µA/8.4µA (3 V) Y 40 m (+11 dBm) 100 m (+20 dBm) 0.5 to 8 kbps Short-Range Data-mule WBAN Warehouse Environmental Table 5.1: Comparative table of representative WuR proposals (cont).
Section 6.3. Simulation Framework for MAC Protocols and Wake-up Radio CSMA-based protocols, such as IEEE 802.15.4, no preamble or wake-up packet is needed, transmissions can be performed quicker than in preamble-based MAC approaches such as B-MAC and X-MAC introduced next: →B-MAC [12], also included in MiXiM by default, is a widely known WSN MAC protocol and the default MAC layer for several versions of operating systems for WSN nodes such TinyOS [72]. In B-MAC, as shown in Figure 6.2, a transmitting node first emits a preamble which is slightly longer than the entire sleeping period of duty-cycling nodes. This timing ensures the receiver node to detect the preamble after the sleeping period of its duty cycle. During such detection, and in order to save energy, the receiver’s transceiver is not operated at full power, but it performs CCA to simply detect the presence of a radio transmission. Thus, the preamble is detected by a so-called Low Power Listening (LPL) strategy as a simple raw medium-busy indication by the receiver, which waits until the preamble’s end. Afterwards, it switches to real data reception mode, where the transceiver presents higher current consumption since, from this point on, it requires demodulation and decoding capabilities to receive the intended node’s address included in the data packet. This uninterrupted preamble approach of B-MAC implies severe medium occupancy levels and latency issues. These issues can be reduced by increasing the duty cycle ratio, i.e., by shortening the sleep period of the MAC protocol, which in turn increases the energy consumption. Because of its preamble, which is implemented as a constant and uninterrupted flow of bits, B-MAC is executed by bytelevel radios such as the Texas Instruments CC1000, where the minimum transmission unit is not packet but byte. This implies that data packets need to be decomposed to bytes and reassembled from the received bytes. Nowadays, this popular radio transceiver has been replaced by the CC1101, which implements both byte-level and packet-level features. →X-MAC [10] shifts the operation of B-MAC to packet-level radios in order to solve the aforementioned problems. Its performance is known to be better than the one of B-MAC, thus it is an imperative protocol to evaluate and omnipresent in related literature. In fact, a variant of X-MAC, so called X-MAC-UPMA, is the base MAC protocol of the Contiki operating system for WSN [73]. Thus, performance evaluations of X-MAC in this chapter can be extrapolated to several similar protocols. In X-MAC, as shown in Figure 6.2, the preamble is sliced or strobed, which means that the transmitter alternatively sends short preamble packets and listens to the channel. Differently from B-MAC, such short preamble packets already include the address of the intended receiver of the communication. Thus, the surrounding nodes not being currently addressed can return immediately to sleep in order to reduce overhearing as soon as they detect that the ongoing communication is not destined to them. In turn, the intended node must respond with an acknowledgment frame. This behavior solves the long preamble issue in B-MAC 99
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach and allows for a fairer channel usage. Once the transmitter receives back the ACK, it can proceed to send the data frame. Note that if no ACK is received back, the X-MAC preamble may be as long as in B-MAC. X-MAC can be implemented in packet-level radios such as in CC2420, CC2520 or CC1101 radios, the models of which are provided by MiXiM. The X-MAC implementation in this chapter strictly follows both X-MAC paper [10] and MiXiM design guidelines [62]. →In some applications, it is convenient that the receiver node starts the communication. This paradigm is called Receiver Initiated communication. RI-MAC [64] in Figure 6.2 is the reference WSN MAC protocol for RI communications and presents a noticeably different performance for certain applications when compared to IEEE 802.15.4, B-MAC and X-MAC, which are all Transmitter Initiated protocols. In the active part of its duty cycle, a RI-MAC node without any packet to transmit indicates this condition by sending a beacon. Nodes that require delivering a data frame to this node proceed to listen to the medium for a prolonged time slot. The reception of the beacon from the ready-to-receive node precisely acts as the trigger to start communication. This procedure is effectively the reverse equivalent of a preamble. Upon reception of a beacon from the intended receiver, the transmitter node proceeds to send the data frame. Thus, RI-MAC achieves lower power consumption if the power for packet reception is higher than for transmission and the data traffic and node density are not high, since all the nodes without queued packets contend for sending their beacons during their active period. RI-MAC does not suffer from long preambles occupying the medium. However, as in B-MAC and X-MAC, RI-MAC also suffers from an unavoidable current consumption because of its periodic beacon sending. By considering the following equations for X-MAC, the rest of the approaches can be expressed in an simplified, yet analogous and useful, manner. In X-MAC, the expected energy to send a packet Esis: Es=[(preamble energy +energy per ACK listen)× (expected preamble iterations)]+ energy to send packet (6.1) From Equation 6.1, an approximation for sending a packet in B-MAC can be obtained by considering expected preamble iterations =1 and energy per ACK listen =0: 100
Section 6.3. Simulation Framework for MAC Protocols and Wake-up Radio Es=[(preamble energy +0)× (1)]+ energy to send packet (6.2) From Equation 6.1, an approximation for sending a packet in RI-MAC can be obtained by considering expected preamble iterations =1 and preamble energy =0: Es=[(0+energy per beacon listen)× (1)]+ energy to send packet (6.3) On the other hand, the expected energy to receive a packet Erin X-MAC is: Er=[(listen cycle energy +sleep cycle energy)× (expected preamble iterations on reception)]+ energy to send ACK + energy to receive packet (6.4) From Equation 6.4, an approximation for receiving a packet in B-MAC can be obtained by considering expected preamble iterations on reception =1 and sleep cycle energy =0 and energy to send ACK =0: Er=[(listen preamble energy +0)× (1)]+ 0+ energy to receive packet (6.5) From Equation 6.4, an approximation for receiving a packet in RI-MAC can be obtained by considering listen cycle energy =0 and sleep cycle energy =0 and expected preamble iterations on reception =0: 101
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach Er=[(0+0)× (0)]+ energy to send beacon + energy to receive packet (6.6) Thus, from Equations 6.1, 6.2 and 6.3, and by removing the common energy to send packet term, it can be deduced than sending a packet in X-MAC, B-MAC and RI-MAC, respectively, mainly depends on expected preamble iterations (related to contention), preamble energy and energy per beacon listen parameters . IEEE 802.15.4 presents a common maximum energy value. Accordingly, from Equations 6.4, 6.5 and 6.6, and by removing the common energy to receive packet term, it can be deduced than receiving a packet in X-MAC, B-MAC and RIMAC, respectively, mainly depends on expected preamble iterations on reception (related to contention), listen preamble energy and energy to send beacon . IEEE 802.15.4 presents a common maximum energy value. 6.3.2 Wake-up Radio Design Implementation As seen in the node model in Figure 6.1, WuR nodes in the proposed model feature two radio transceivers; the main transceiver and the wake-up transceiver, respectively located in the Data and Wake-up Radio modules. This two-radio model enables the simulation of any kind of WuR system, either with two physically separated radio interfaces or with a shared transceiver, as in the SCM-WuR case. Independently of its hardware implementation, the operation of WuR in Transmitter and Receiver Initiated flavors is depicted in Figure 6.3. In the general case of WuR, MCU and the main data communication transceiver are initially switched off to reduce the energy consumption, while the wake-up radio is left activated to monitor the channel. However, different to traditional transceivers, WuRx only employ few µA for such activity. The SCM-WuR MiXiM model in Figure 6.1 precisely emulates the behavior of a WuR system. When a node wants to communicate, it first transmits a WuC via its WuTx. At the receiver node, a WuRx receiving a WuC generates an interrupt to wake up the node’s MCU, which in turn switches on the main transceiver so that upcoming data frames can be received in a traditional fashion through the main radio. After the MCU of the node is activated, it may perform several tasks before disabling the data transceiver and going to low-power WuR mode again, such as receiving an incoming data frame (TI-WuR approach), or obtaining a measurement from a sensor and sending back the data (RI-WuR approach). In Figure 6.1, incoming and outgoing WuCs are managed by the Wake-up Radio block, while traditional communications are done through the Data Radio block, which implements IEEE 102
Section 6.3. Simulation Framework for MAC Protocols and Wake-up Radio TI-WuR Transmitter node data rx WuC Receiver node data rx WuC rx Data Radio Wake-up Radio WuRx WuTx RI-WuR Transmitter node data rx WuC rx Receiver node data rx WuC SCM-WuR systems send and receive WuC through separated RF paths. Data Radio Wake-up Radio WuRx WuTx Figure 6.3: Working principles of the WuR approach. Differently to data Radios, WuRx only requires feu µA to operate. 802.15.4 during the short amounts of time it gets activated by the Control block in Figure 6.1 upon WuC detection by the WuRx. As explained in chapter 4, a SCM-WuR node may dinamically operate as either WuRx or WuTx by simply adjusting its MCU’s configuration. This flexibility is useful when the same node must be able to use both Transmitter and Receiver Initiated approaches. For example, some nodes may be interested in reporting notifications (e.g., sending sensor measurements without a previous query) or may provide responses to queries (e.g., about the last temperature measurement). Code 6.1 shows a fragment of the code of the Finite State Machine (FSM) of the Wake-up Radio implementation in OMNET++ / MiXiM. Along the code, comments also help identifying the different stages. 103
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach 1void Dual_Mode :: handleSelfMsg ( cMessage * msg ) { 2 3// FSM for WuR acting as Transmitter - Initiated 4switch ( FSM_STATE ) { 5 6... 7 8// SLEEP_STATE (send OR receive WuC) 9// ********************************* 10 case SLEEP_STATE: 11 // generating WuC 12 // -------------- 13 if (( msg -> getArrivalGateId () == upperLayerIn_dual ) && (msg -> getKind () == ⤦ ÇAPP_WUC_MESSAGE )) { 14 send (msg , lowerLayerOutWuR_dual ); 15 FSM_STATE = WUC_TO_DATA_TX_STATE; 16 } 17 // WuR receiving WuC 18 // ----------------- 19 else if(msg -> getArrivalGateId () == lowerLayerInWuR_dual && (msg -> getKind⤦ Ç() == APP_WUC_MESSAGE )) { 20 NetwPkt * incoming_wuc = static_cast < NetwPkt * >( msg ); 21 if ( incoming_wuc -> getDestAddr () == findHost () -> getIndex ()) { 22 // main NIC on 23 __MACRO_RADIO_RX_ON__ 24 cancelEvent ( rx_timeout_msg ); 25 scheduleAt ( simTime () + RX_TIMEOUT , rx_timeout_msg ); 26 FSM_STATE = RX_DATA_STATE ; 27 delete msg ; 28 } 29 } 30 // WuR receiving DATA_MESSAGES ( not even possible ) 31 // --------------------------- 32 else if(msg -> getArrivalGateId () == lowerLayerInWuR_dual && (msg -> getKind⤦ Ç() == APP_DATA_MESSAGE)) { 33 delete msg ; 34 } 35 break ; 36 37 // WUC_TO_DATA_TX_STATE (send Data) 38 // ******************************** 39 case WUC_TO_DATA_TX_STATE: 40 // send Data 41 // --------- 42 if (( msg -> getArrivalGateId () == upperLayerIn_dual ) && (msg -> getKind () == ⤦ ÇAPP_DATA_MESSAGE)) { 104
Section 6.3. Simulation Framework for MAC Protocols and Wake-up Radio 43 dual_to_phy = FindModule < MacToPhyInterface * >:: findSubModule ( this->⤦ ÇgetParentModule ()); 44 send (msg , lowerLayerOut_dual ); 45 FSM_STATE = TX_DATA_STATE ; 46 } 47 else if (msg -> getKind () == RADIO_SWITCHED ) { 48 delete msg ; 49 } 50 break ; 51 52 // TX_DATA_STATE (to end ) 53 // ********************** 54 case TX_DATA_STATE : 55 // when TX_over , return to sleep 56 // ----------------------------- 57 if (( msg -> getArrivalGateId () == lowerControlIn_dual ) && (msg -> getKind () ⤦ Ç== TRANSMISSION_OVER)) { 58 FSM_STATE = INIT_STATE ; 59 scheduleAt ( simTime () + TIME_TO_GO_TO_SLEEP , init_msg ); 60 delete msg ; 61 } 62 else if (msg -> getKind () == RADIO_SWITCHED ) { 63 delete msg ; 64 } 65 else if (msg -> getKind () == MAC_ERROR ) { 66 FSM_STATE = INIT_STATE ; 67 // RESET 68 scheduleAt ( simTime () + 0.1 , init_msg ); 69 delete msg ; 70 } 71 break ; 72 73 // RX_DATA_STATE (to end ) 74 // ********************** 75 case RX_DATA_STATE : 76 // main receiving DATA 77 // -------------------- 78 if (( msg -> getArrivalGateId () == lowerLayerIn_dual ) && (msg -> getKind () == ⤦ ÇAPP_DATA_MESSAGE)) { 79 NetwPkt * incoming_data = static_cast < NetwPkt * >( msg ); 80 if ( incoming_data -> getDestAddr () == findHost () -> getIndex ()) { 81 cancelEvent ( rx_timeout_msg ); 82 recordPacket ( PassedMessage :: INCOMING , PassedMessage :: LOWER_DATA , ⤦ Çmsg ); 83 send (msg , upperLayerOut_dual ); 84 FSM_STATE = INIT_STATE ; 85 scheduleAt ( simTime () + TIME_TO_GO_TO_SLEEP , init_msg ); 86 } 105
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach 87 } 88 // main receiving WuC ( not even possible ) 89 // ------------------ 90 if (( msg -> getArrivalGateId () == lowerLayerIn_dual ) && (msg -> getKind () == ⤦ ÇAPP_WUC_MESSAGE )) { 91 delete msg ; 92 } 93 // we have a timeout because no received DATA after being activated 94 // ---------------------------------------------------------------- 95 else if (msg -> getKind () == RX_TIMEOUT_MSG_TYPE ) { 96 FSM_STATE = INIT_STATE ; 97 scheduleAt ( simTime () + TIME_TO_GO_TO_SLEEP , init_msg ); 98 } 99 else if (msg -> getKind () == RADIO_SWITCHED ) { 100 delete msg ; 101 } 102 break ; 103 } 104 return; 105 } Code 6.1: SCM-WuR message handling implemented in MiXiM. The code is programmed as a FSM that the MCU of the node visits depending on the messages it receives. These messages can be both external (a WuC, a data frame) or internal (a timer, a CCA, a timeout, a message for the FSM to go to next state, etc.). Messages may arrive to Wake-up Radio module in Figure 6.1 from both upper and lower layers and can be data packets or control packets. For example, when in SLEEP_STATE the node may be required to wake-up a further node by the Application layer in Figure 6.1 generating a APP_WUC_MESSAGE. Thus, such message comes from upperLayerIn. If instead the node, when in SLEEP_STATE, is activated by a WuC incoming from a remote node, such message comes from the lowerLayerInWuR gate. As another example, the lowerControlIn entry point, or gate in OMNET++ terminology, represents the control channel from the lower PHY layer. Messages are parsed depending on the current FSM state. For example, in Code a SCM-WuR node which reaches the RX_DATA_STATE has correctly been woken up. At this point, since Code 6.1 refers to a transmitter initiated approach, the node may: →Receive a data packet APP_DATA_MESSAGE. This packet must contain the correct address of the node. →Receive a WuC. In this state, receiving a WuC does not imply any change in the FSM. However, the simulation framework does not allow to receive a data packet at the same time of a WuC. 106
Section 6.4. Performance Results →Expire a radio time-out. After switching to RX_DATA_STATE upon detecting a WuC, the transceiver of node should remain in reception only for a limited amount of time. If no frame arrives during this time, in order to save energy the node must sleep again. In this chapter, the 100-m version of the SCM-WuR is considered, that is the one implementing a power amplifier at the WuTx. A SCM-WuR board features as low as 3.5µA when operating as WuRx in low-power wake-up mode and no WuC is present. This value increases up to 8 µA when the WuRx is decoding the address embedded in an incoming WuC. Regarding the transmitter side, the WuTx role requires up to 152 mA when sending a WuC to achieve the 100 meters range. This way, SCM-WuR transmissions present operational ranges comparable to traditional wireless sensor communications. However, due to the fact that WuRx designs are kept simplistic in order to operate in the mA order of magnitude, WuC transmissions in SCM-WuR require noticeably more power than conventional data frames to be detected. As a counterpart, and unlike duty-cycling systems, this energy for transmitting a WuC is only employed when really required, instead of employing it periodically, e.g., to check the wireless medium. In addition, the SCM-WuR platform is perfectly capable of performing multi-hop, as shown in chapter 4, Figure 4.8b. Compared to MAC protocols, SCM-WuR only presents the consumption of a WuC per packet when sending and divides the consumption for receiving packets of any of the previous MAC approaches by at least a factor of 1000. 6.4 Performance Results Three application scenarios are considered in this section; a single-hop scenario and two multihop scenarios, one with static topology and one with mobile topology. Each of the four WSN MAC protocols and the SCM-WuR approach are evaluated for every scenario. 6.4.1 Evaluated Scenarios The three application scenarios are depicted in Figures 6.4a and 6.5. Network nodes are colored lighter, while darker ones represent interference sources modeled as contention generators that perform their own transmissions not intended for the current network. Contention nodes run the same protocol under evaluation as the network nodes. However, their transmissions are directed to a node address not present in the network evaluated. Thus, they can be considered as collocated networks deployed close to the one under evaluation that transmit packets in an uniform(1 s, 10 s) time distribution. Several aspects for each scenario are studied along the performance evaluation in this chapter, such as the effect of diverse metrics like variable data-rates, the mobile node’s speed or the duty cycle featured by nodes implementing the MAC protocols, where appropriate. 107
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach (a) (b) Figure 6.4: The two first scenarios analyzed in this chapter: (a) data-collector mobile singlehop; (b) converge-cast tree, or static multi-hop. The first scenario in Figure 6.4a depicts a single-hop use case where a mobile data-collector, e.g., a bus, train, drone or robot, collects information from sensors deployed along its route. The collector node’s mobility pattern of a bus is indicated by arrows in the figure and is periodic. Around a real city, the wireless sensors to be queried may be attached to trees, 108
Section 6.4. Performance Results ● ● ● ●● 0 25 50 75 100 0 15 30 45 60 Interferer Nodes PDR (%) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.8: Effect of the number of interferer nodes on the PDR for the single-hop scenario. the wireless medium. However, because of being based on duty cycle, RI-MAC power savings can never improve the mA order of magnitude. In this subject, SCM-WuR performs the best and offers the optimum trade-off. Globally, the WuR solution allows for the best results combination by providing both excellent PDR and lifetime results, thanks to its µA current consumption when in sleep mode and its implicit resilience to WuC generated by interferer nodes thanks to its hardware address correlation, explained in chapter 3, section 3.2.3. 6.4.3 Multi-hop Static Scenario In order to effectively compare the performance of the studied approaches for multi-hop static scenarios, a binary tree as in Figure 6.4b is defined, where packets are sent in a regular manner towards the sink in a multi-hop fashion. Thus, differently from the single-hop scenario in section 6.4.2, this scenario follows a Transmitter Initiated paradigm where nodes constantly generate packets instead of waiting to be queried. For the WuR approach, TI-WuR is considered. Packet routes are predefined to do the performance comparison independently of the employed routing protocol, if any. Under this tree topology, the network nodes periodically generate data packets and send them to their parent nodes, which are in charge of forwarding the packets towards the sink. Along this scenario, PDR is defined as the number of packets received at the sink over the total number of packets generated during the experiment by all network nodes. Transmissions from interferer nodes are not accounted for PDR measurements. No data aggregation strategy is considered. 115
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach ● ●●●● 10 100 1000 10000 0 15 30 45 60 Interferer Nodes Lifetime (days) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.9: Effect of the number of interferer nodes on the network lifetime for the single-hop scenario (logarithmic graph). 6.4.3.1 Effect of the Duty Cycle Ratio In this section, the network nodes are set to generate a packet every 10 seconds. Interestingly, when considering a number of retransmissions up to the maxAttempts parameter in Table 6.1, a 100% value for PDR is not achieved by any approach in this multi-hop static scenario even for no-contention circumstances, as shown in Figure 6.10. In addition, and differently to section 6.4.2.1, in this case RI-MAC performs as poor as any other duty-cycled MACs because in this tree application the duty cycle does not vary the network performance in terms of PDR. This is because the long preamble and high number of strobed preambles and beacons in B-MAC, X-MAC and RI-MAC respectively, prevent nodes running any MAC approach to successfully process the totality of both their own transmissions and the ones coming from the nodes they are in charge of. A node is also unable to process communication when performing a retransmission of one packet which has been unable to process previously. These issues result in poor PDR. Differently, in applications where transmission depends on a query, such as the single-hop scenario, the benefit of duty-cycling is clearer since nodes do not suffer of accumulating pending jobs. Regarding power consumption, since for a packet generation rate of 10 seconds, Node 1 in Figure 6.4b, that is, one of the two most energy-demanding nodes in the network, is permanently busy, it does not change its power profile in Figure 6.11 when varying duty cycle ratios for MAC protocols. 116
Section 6.4. Performance Results ●● ● ● 40 60 80 100 1 2 4 10 Duty−Cycle (%) PDR (%) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.10: Effect of the duty cycle on the PDR for the multi-hop static scenario. 0 10 20 30 1 2 4 10 Duty−Cycle (%) Average Power Consumption (mW) B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.11: Effect of the duty cycle on the mean power consumption of Node 1 for the multi-hop static scenario. In fact, Node 1’s mean power consumption values are used to calculate the network lifetime, which is measured to be about 3 days, 12 days, 18 days, 20 days and 140 days in average for IEEE 802.15.4, B-MAC, X-MAC, RI-MAC and SCM-WuR, respectively. These lifetime values are much lower than the ones for the single-hop scenario due to the constant traffic load of 117
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach the tree scenario, much more persistent than the one for the single-hop scenario where nodes are allowed to sleep for much longer periods of time and only queried sporadically. 6.4.3.2 Effect of the Packet Generation Period The time between consecutive packet generations by nodes in the network is varied in order to evaluate the tree network performance under different traffic loads, i.e., data rates. As a numerical example, if the packet generation period is 10 seconds, a node placed at penultimate level of the tree will have to forward 2 packets, 1 from each child, as well as to generate its own packet, for a total of 3 packets every 10 seconds. Nodes closer to the sink are naturally in charge of forwarding many more packets than the nodes closer to the leaf nodes. Packet generation periods are tested starting at 300 s and go down gradually to 1 s to increase the traffic load. Figure 6.12 shows the PDR achieved by the five approaches investigated for different packet traffic loads. ● ● ● ● ● ● ● ● 0 25 50 75 100 300 180 90 60 30 10 5 1 Packet Generation Period (s) PDR (%) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.12: Effect of the packet generation period on the network PDR for the multi-hop static scenario. As seen in the figure, B-MAC results in a PDR close to 0% when time between packet generations approximates 1 second. Since the B-MAC’s preamble duration is also 1 second, this circumstance saturates the network. However, few WSN applications are required to transmit this often and packet generation periods longer than 30 seconds are much more common. In B-MAC, wait periods due to busy medium can be significant because of the long preamble duration and, in addition, during this procedure both transmitting node and nodes that are detecting the preamble cannot receive any packets from any other node. Moreover, 118
Section 6.4. Performance Results surrounding nodes’ energy consumption is also increased, since in B-MAC they cannot sleep until receiving the data frame containing the address of the destination node, which comes after the preamble. For nodes in charge of forwarding packets from a greater number of descendants, this issue is even more pronounced. X-MAC suffers from the same issue as B-MAC, but thanks to its strobed preamble it slightly diminishes its effect and offers a better PDR. In turn, IEEE 802.15.4 and SCM-WuR provide good PDR values close to 100% except in the most demanding use case. In case of WuR, considering each data communication includes both WuC and data packet, Nodes 1 and 2 simply cannot attend all incoming transmissions taking place in the tree for packet generation periods of 1 and 5 seconds. On the other hand, while in the previous scenario RI-MAC offered similar performance in terms of average consumed power but much better PDR than B-MAC and X-MAC, because of the Transmitter Initiated nature of this current multi-hop static scenario this trend is no longer observed. The mean power profile for Node 1 is analyzed for the different approaches and shown in Figure 6.13. As expected, IEEE 802.15.4 nodes consume the highest average power among all approaches due to the continuous listening of the channel. The purpose of duty-cycled protocols is precisely to reduce such energy-demanding continuous listening. X-MAC and RI-MAC effectively accomplish this for packet generation periods larger than 30 seconds. 0 10 20 30 300 180 90 60 30 10 5 1 Packet Generation Period (s) Average Power Consumption (mW) B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.13: Effect of the packet generation period on the mean power consumption of Node 1 for the multi-hop static scenario from Figure 6.4b. In a similar way, the mean power profile for the analyzed approaches is shown in Figure 6.14 for Node 11, yet this node is required to participate much less in the network. The lifetime values of Node 1 and/or Node 2, as they are the ones in charge of performing most tasks in the tree from Figure 6.4b, indeed represent the global network’s lifetime, shown 119
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach 0 10 20 30 300 180 90 60 30 10 5 1 Packet Generation Period (s) Average Power Consumption (mW) B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.14: Effect of the packet generation period on the mean power consumption of Node 11 for the multi-hop static scenario from Figure 6.4b. in Figure 6.15. For a packet generation period of 300 seconds, SCM-WuR guarantees network lifetimes of up to 1000 days of network operation time, RI-MAC and X-MAC around 100 days, B-MAC around 65 days and finally IEEE 802.15.4 can only provide around 3 days. Clearly, SCM-WuR outperforms any other approach. Although they may seem to provide similar lifetime results, in this scenario RI-MAC performs worse than X-MAC’s if considering the ratio between total energy featured by accounting all activities in the network nodes over the total number of payload bits received at the sink, as shown in Figure 6.16. Logically, the energy per bit performance of IEEE 802.15.4 improves as the data rate gets higher. The reason is that IEEE 802.15.4 consumes energy independently of the traffic rate because of its always-on state, thus the energy efficiency increases in accordance with the data load. However, although the energy efficiency of IEEE 802.15.4 is better than that of WuR for very high data rates, these are not common in WSN. Clearly, WuR obtains its energy advantages in Figure 6.16 from the fact that the main radio interface is in the sleep mode most of the time. B-MAC, X-MAC and RI-MAC, due to the long preamble or receiving time they feature for each data packet, require more energy per bit than WuR but still less than IEEE 802.15.4 for low traffic loads. The energy per bit trends for these three MAC protocols are similar when increasing the data load, although the respective PDR values for the highest packet generation periods are so low that this subset of Figure 6.16 reports few relevance. The network’s latency is calculated in the tree scenario as the difference between the time a packet is generated and its reception time at the destination. Figure 6.17 shows the mean 120
Section 6.4. Performance Results ● ● ● ● ● ● ● ● 10 100 1000 300 180 90 60 30 10 5 1 Packet Generation Period (s) Lifetime (days) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.15: Effect of the packet generation period on the network lifetime for the multi-hop static scenario (logarithmic graph). latency for packets to travel from the leaf Node 7 in Figure 6.4b to the network’s sink. Such measure can be seen as the total time it takes for a packet generated at the furthest tree level to go through all the levels of the network’s topology. For preamble-based MACs, a preamble is generated at the same time of a data packet and sent just before it. In B-MAC, data packets may suffer long wait periods before being transmitted due to surrounding preamble transmissions. Such issue is repeated in all hops up to the sink, and becomes more and more important as the data load increases. Hence, MAC approaches saturate again for high data generation rates. IEEE 802.15.4 obtains the best latency results due to being constantly active for monitoring the channel and for not incurring in any delay overhead except the CCA prior the packet transmissions. However, this comes at the cost of high consumed power. For its part, SCM-WuR performs efficiently in terms of latency when compared to the other approaches, with values not higher than 60 ms for packets to go through the entire network. This value corresponds to the summation of the amount of time needed for the WuC (12.2 ms in Table 1, as obtained from measurements in chapter 4, section 4.2.1), the transition of the MCU and main network interface card from sleep to receiving state (1.79 ms), the reception of the data packet (time for a 100-byte packet at 250 kbps is 3.2 ms) and the average contention and processing-related times (1.5 ms) for a total of 18.5 ms. Such value, multiplied by 3 hops (4 levels) from Node 7 to reach the sink, sums up to a total of approximately 60 ms. 121
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach ● ● ● ● ● ● ● ● 1−4 1−3 1−2 300 180 90 60 30 10 5 1 Packet Generation Period (s) Energy per bit (J/bit) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.16: Effect of the packet generation period on the energy required per received bit by the sink’s network for the multi-hop static scenario (logarithmic graph). ● ● ● ● ● ● ● ● 0.1 1 10 100 300 180 90 60 30 10 5 1 Packet Generation Period (s) Latency (s) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.17: Effect of the packet generation period on the average latency observed by Node 7 for the multi-hop static scenario (logarithmic graph). 6.4.3.3 Effect of Coexistent Network Interference The number of seconds between packet generations from network nodes is kept constant at 90 to isolate and evaluate the effect of the number of interferer nodes in this tree scenario. 122
Section 6.4. Performance Results Interferer nodes generate and transmit packets in an uniform(1 s, 10 s) time distribution. In this case, as shown in Figure 6.18, because of the multi-hop nature of the tree scenario, even SCM-WuR and RI-MAC suffer from the effect of interferer nodes and cannot provide PDR close to 100% any longer. ● ● ● ●● 0 25 50 75 100 0 75 150 225 300 Interferer Nodes PDR (%) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.18: Effect of the number of interferer nodes on the network PDR for the multi-hop static scenario. Regarding B-MAC and X-MAC, Figure 6.19 shows that in presence of interferers they feature the same poor lifetime of the single-hop scenario. Again, WuR achieves the best PDR-lifetime trade-off in this scenario. 6.4.4 Multi-hop Mobile Scenario In the third application, nodes remain idle until the presence of a mobile data-collector on a bridge. Such mobile node queries the first node in a chain of four placed along the longitude of the bridge’s pillars, as depicted in Figure 6.5. As in the single-hop scenario case, this third scenario is an example of a Receiver Initiated application and, accordingly, for the WuR approach the RI-WuR variant is considered. However, this RI scenario requires multi-hop communication as in the tree application. For this bridge monitoring application, the mobile node continuously travels on the bridge or target area, back and forth. The query from the mobile node travels in a multi-hop fashion down to the last node of the pillar and then returns back to the mobile node, which may be a bus or even a drone. Thus, 8 communication hops take place, 4 in each direction, to recover the information from a bridge’s pillar. It is clear to see how this scenario mixes the nature of the previous two. 123
Chapter 6. Performance Comparison of WuR vs. Conventional WSN MAC Protocols: A Simulation Approach ● ●●●● 10 100 0 75 150 225 300 Interferer Nodes Lifetime (days) ●B−MAC IEEE 802.15.4 RI−MAC SCM−WuR X−MAC Figure 6.19: Effect of the number of interferer nodes on the maximum lifetime for the multihop static scenario (logarithmic graph). This section studies the effect of the interferences, the effect of the duty cycle and the effect of the mobile node’s speed. Considering the communication delay at each hop, situations may arise in this scenario where the answer from the bridge’s pillar is not detected by the mobile node because of being already out of range due to its traveling speed. 6.4.4.1 Effect of the Duty Cycle Ratio As in the tree example, in the current application an increase of the duty cycle does not signify an immediate performance improvement. The number of interferers is set to zero for the duty cycle evaluation, otherwise B-MAC and X-MAC cannot complete a single data transaction in this scenario even for the default mobile node’s speed of 10 m/s (36 km/h). The effects of the variation of the duty cycle can be observed in Figures 6.20 and 6.21 for network’s PDR and latency, respectively. Only if all the nodes in a chain can provide their results the entire query is accounted as successful for the application PDR. In Figure 6.20, by increasing the duty cycle the PDR for X-MAC improves up to 100%. This behavior is consistent with the analogous in Figure 6.18 in the no-interferers case. In terms of latency, IEEE 802.15.4 performs the full up-down-up communication in 50 ms, while SCM-WuR, RI-MAC, X-MAC and B-MAC require 160 ms, 4000 ms, 4500 ms and 7500 ms, respectively. Communication is possible as long as the mobile node does not get extremely far away during the communication time, as analyzed in next section. These values correspond to the average single-hop latency multiplied by the number of hops. On average, RI-MAC and 124