Sensing Platforms and Microcontroller Architecture Tutorial Lecture 3 September 9, 2004 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor.

Slides:



Advertisements
Similar presentations
Telos Fourth Generation WSN Platform
Advertisements

Overview: Chapter 7  Sensor node platforms must contend with many issues  Energy consumption  Sensing environment  Networking  Real-time constraints.
The Mote Revolution: Low Power Wireless Sensor Network Devices
1 Introduction to Wireless Sensor Networks. 2 Learning Objectives Understand the basics of Wireless Sensor Networks (WSNs) –Applications –Constraints.
Crossbow Open Mote Developments Crossbow Technology.
DSP Architecture Differences and Examples of Embedded Computers Lecture 3 January 18, 2005 EENG 449b / CPSC 439b Computer Systems Andreas Savvides
Mica: A Wireless Platform for Deeply Embedded Networks Jason Hill and David Culler Presented by Arsalan Tavakoli.
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
Surrey Space Centre, University of Surrey, Guildford, Surrey, GU2 7XH ESA Wireless Sensor Motes Study George Prassinos, SSC, University of Surrey.
Sensing Platforms and Power Consumption Issues Lecture 2 September 12, 2006 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks.
Integrated  -Wireless Communication Platform Jason Hill.
Sensing Platforms and Power Consumption Issues Lecture 2 September 6, 2005 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks.
IEEE Standardized radio technology for low power personal area networks Joe Polastre January 14, 2004.
Generic Sensor Platform for Networked Sensors Haywood Ho.
The Mote Revolution: Low Power Wireless Sensor Network Devices
EENG449b/Savvides Lec 7.1 2/3/05 Feb 2, 2005 Prof. Andreas Savvides Spring g449b EENG 449b/CPSC 439b Computer.
XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Node Applications Dimitrios Lymberopoulos and Andreas Savvides Embedded.
A Framework for Patient Monitoring A. L. Praveen Aroul, William Walker, Dinesh Bhatia Department of Electrical Engineering University of Texas at Dallas.
1 ECE 263 Embedded System Design Lessons 2, 3 68HC12 Hardware Overview, Subsystems, and memory System.
MICA Node Architecture WEBS retreat Jason Hill 1/14/2002.
EENG449b/Savvides Lec 5.1 1/27/04 January 27, 2004 Prof. Andreas Savvides Spring EENG 449bG/CPSC 439bG Computer.
Intel ® Research mote Ralph Kling Intel Corporation Research Santa Clara, CA.
ASPPRATECH.
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
Team Members Jordan Bennett Kyle Schultz Min Jae Lee Kevin Yeh.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Camera Interfacing using ARM7
Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007.
COMPONENTS OF THE SYSTEM UNIT
Spring 2000, 4/27/00 Power evaluation of SmartDust remote sensors CS 252 Project Presentation Robert Szewczyk Andras Ferencz.
PADS Power Aware Distributed Systems Architecture Approaches USC Information Sciences Institute Brian Schott, Bob Parker UCLA Mani Srivastava Rockwell.
MICA: A Wireless Platform for Deeply Embedded Networks
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
A System Architecture for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
Multimedia & Communications ATMEL Bluetooth Background information on Bluetooth technology ATMEL implementation of Bluetooth spec.
Lab 4 ZigBee & with PICDEM Z Boards 55:088 Fall 2006.
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
ATmega128RFA1 Power Measurement. ATmega128RFA1 SoC (uC and Transceiver) Up to 16 MHz (i.e. almost 16 MIPS) Voltage range: 1.8v to 3.6v 16K bytes RAM 128.
Typical Microcontroller Purposes
Introduction to Wireless Sensor Networks
1 XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Network Applications Presenter: James D. Lymberopoulos, A. Savvides.
Overview of Sensor Networks David Culler Deborah Estrin Mani Srivastava.
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presented by Yang Zhao.
1 Introduction to Wireless Sensor Networks and its H/W Design Experiences Paper from: P. Zhang, C. Sadler, S. Lyon, and M. Martonosi, “ Hardware Design.
Simon Han – Ram Kumar Rengaswamy – Roy Shea – Mani Srivastava – Eddie Kohler –
Computer Organization & Assembly Language © by DR. M. Amer.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
EA PROJETO EM ELETRÔNICA APLICADA Bruno Mourão Siqueira.
Power and Control in Networked Sensors E. Jason Riedy and Robert Szewczyk Presenter: Fayun Luo.
TI MSP430 MICROCONTROLLERS BY ADITYA PATHAK. THE MSP FAMILY Ultra-low power; mixed signal processors Widely used in battery operated applications Uses.
AT91 Products Overview. 2 The Atmel AT91 Series of microcontrollers are based upon the powerful ARM7TDMI processor. Atmel has taken these cores, added.
Xiong Junjie Node-level debugging based on finite state machine in wireless sensor networks.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Introduction to Wireless Sensor Networks
Product Overview 박 유 진박 유 진.  Nordic Semiconductor ASA(Norway 1983)  Ultra Low Power Wireless Communication System Solution  Short Range Radio Communication(20.
Low Power Management for CC2430 Jinho Son Real-Time System Lab.
Why does it need? [USN] ( 주 ) 한백전자 Background Wireless Sensor Network (WSN)  Relationship between Sensor and WSN Individual sensors are very limited.
HOME SECURITY USING WIRELESS SENSOR NETWORK UNDER THE ESTEEMED GUIDANCE OF: P.RAMESH D.SIVOM( ) KANMANI RAVI( ) B.SAI RAJSEKHAR( )
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
박 유 진.  2.4-GHz IEEE Compliant RF Transceiver  Excellent Receiver Sensitivity ( -97dBm) and Robustness to Interference  6-mm × 6-mm QFN40.
Microcontrollers & GPIO
Wireless Sensor Network
Subject Name: Microcontroller Subject Code: 10ES42
Introduction to Microprocessors and Microcontrollers
Journey: Introduction to Embedded Systems
Sensing Platforms and Power Consumption Issues Lecture 2 September 6, 2005 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks.
Today’s agenda Hardware architecture and runtime system
Wireless Embedded Systems
Presentation transcript:

Sensing Platforms and Microcontroller Architecture Tutorial Lecture 3 September 9, 2004 EENG 460a / CPSC 436 / ENAS 960 Networked Embedded Systems & Sensor Networks Andreas Savvides Office: AKW 212 Tel Course Website

Today  Overview Sensing Platforms  Embedded Processor Study Case: OKI ARM Processor  Supplementary reading for this lecture Kaiser & Pottie Chapter 13 Zhao & Guibas Chapter 7

Need for Sensing Platforms Fundamental Problems Close coupling between fundamental research questions and the physical world Experimental Systems In situ data collection Architectural requirements Numerous unknown factors and conditions with no prior knowledge Sensing channels not well characterized - very complex environment dynamics Power consumption hard to characterize – need to understand battery behaviors and how SW & HW components affect power consumption

Wide Spectrum of Devices  Sensors with inplantable RFIDs  Smart-dust size nodes Typically they act as data-collectors or “trip-wires” Cannot afford to have massive processing and communication  Mote-size devices  More powerful gateway nodes etc  For some applications, form factor is also dictated by the size of individual sensors  Many designs out there, each design has its own philisophy

Some platforms & applications  Seismic monitoring, personal exploration rover, mobile micro-servers, networked info-mechanical systems, hierarchical wireless sensor networks [NIMS, UCLA][Robotics, CMU] [Intel + UCLA] [CENS, UCLA] [Intel + UCLA] [Slide from V. Ragunanthan]

A Generic Sensor Network Architecture PROCESSING SUB-SYSTEM COMMUNICATION SUB-SYSTEM SENSING SUB-SYSTEM POWER MGMT. SUB-SYSTEM ACTUATION SUB-SYSTEM

Base Case: The Mica Mote (The most popular sensing platform today) AVR 128, 8-bit MCU DS2401 Unique ID 51-PIN I/O Connector Transmission Power Control Hardware Accelerators Radio Transceiver (CC1000 or CC2420) Power Regulation MAX1678(3V) Co-processor External Flash Digital I/OAnalog I/O Programming Lines For more information refer to the TinyOS Website

What is Stargate?  A single board, wireless-equipped computing platform Developed at Intel Research  Leverages advances in computation, communication and storage to facilitate wireless systems research

System architecture

Computation sub-system  PXA255 processor based on the XScale microarch. Successor to the StrongARM family Variable clock ( MHz), less than 500 mW power Several sleep modes, rich set of peripherals

Wireless DPM: Hierarchical radios  Three vastly different wireless radios supported  Combined to form power-efficient, heterogeneous communication subsystem Hierarchical device discovery and connection setup scheme leads to up to 40X savings in discovery power Technolog y Data Rate Tx Current Energy per bit Idle Current Startup time Mote 76.8 Kbps 10 mA430 nJ/bit7 mALow Bluetooth1 Mbps45 mA149 nJ/bit22 mAMedium Mbps300 mA90 nJ/bit160 mAHigh IEEE Bluetooth Mote Energy per bit Startup time Idle current

Other power management features  Wake on wireless: Bluetooth based remote wakeup BT module awake, rest of the system is shutdown Incoming BT packet causes wakeup On-demand power management (event-driven apps) BT module in “wake on wireless” mode draws ~ 3mA  Motion detection for wake up Passive small-bead mercury switch connected to GPIO Movement causes switch to close and wakeup system Can also be used to trigger wireless scanning for APs

UCLA iBadge

iBadge Functional Units  Main Processing Unit ATMega128L Microcontroller from Atmel Responsible for power management, localization, and interfaces different functional units  Localization Unit: Relative and absolute positioning responsible for obtaining precise 3D location of iBadge in the classroom estimates its 3D location using an ad-hoc localization process  Speech Processing Unit: Consists of TI DSP and CODEC Performs speech codec and front end processing of the real time speech of the children Two modes (Simple Coding or Front End Processing) of operation based on power requirements and user request.

iBadge Functional Units (Continued)  Power Management/Tracking Unit: Battery Monitors (DS2438) keep track of energy usage of various functional units CMOS switches provides control to turn on/off different part of the circuits  Orientation/Tilt Sensing Unit Accelerometer combined with magnetometer provides the orientation of the children with earth’s magnetic field  Environment Sensing Unit Temperature, Humidity, Atmospheric Pressure, and Light Intensity

Medusa MK-2 PALOS ARM/THUMB 40MHz Running Palos RS-485 & External Power MCU I/F Host Computer, GPS, etc ADXL 202E MEMS Accelerometer UI: Pushbuttons

Ultrasonic Ranging Subsystem USND TX Start 4ms 15ms (for max range) RF TX Start RF Signal 4ms Start Symbol Detected (start timer) TransmitterReceiver Ultrasound Detected Ultrasound Signal RF Reception Complete

Telos: New OEP Mote*  Single board philosophy Robustness, Ease of use, Lower Cost Integrated Humidity & Temperature sensor  First platform to use CC2420 radio, 2.4 GHz, 250 kbps (12x mica2) 3x RX power consumption of CC1000, 1/3 turn on time Same TX power as CC1000  Motorola HCS08 processor Lower power consumption, 1.8V operation, faster wakeup time 40 MHz CPU clock, 4K RAM  Package Integrated onboard antenna +3dBi gain Removed 51-pin connector Everything USB & Ethernet based 2/3 A or 2 AA batteries Weatherproof packaging  Support in upcoming TinyOS Release  Codesigned by UC Berkeley and Intel Research  Available February from Moteiv (moteiv.com) *D. Culler, UC Berkeley

ENALAB XYZ Sensor Node  Sensor node created for experimentation Low cost, low power, many peripherals Integrated accelerometer, light and temperature sensor  Uses an IEEE protocol Chipcon 2420 radio  OKI ARM Thumb Processor 256KB FLASH, 32KB RAM Max clock speed 58MHz, scales down to 2MHz Multiple power management functions  Powered with 3AA batteries & has external connectors for attaching peripheral boards  Designed at Yale Enalab and Cogent computer systems, will be used as the main platform for the course

Manufacturers of Sensor Nodes  Millenial Net ( iBean sensor nodes  Ember ( Integrated IEEE stack and radio on a single chip  Crossbow ( Mica2 mote, Micaz, Dot mote and Stargate Platform  Intel Research Stargate, iMote  Dust Inc Smart Dust  Cogent Computer ( XYZ Node (CSB502) in collaboration with  Mote iv – Telos Mote  Sensoria Corporation ( WINS NG Nodes  More….

Other Sensor Node Projects  Augmented off-the-shelf systems PC104 computers (used in some habitat monitoring applications) iPAQ PDAs (used for UCLA/CENS)  Networked Infomechanical Systems (NIMS)  Dedicated embedded sensor nodes and SOCs MIT uAMP nodes ( Berkeley BWRC picoradio node ( ISI Pasta node (

Power Perspective Comparison of Energy Sources With aggressive energy management, ENS might live off the environment. Source: UC Berkeley & CENS

Typical Operating Characteristics for 4 classes of Sensor Nodes Source: J. Hill, M. Horton, R. King and L. Krishnamurthy,”The Platforms Enabling Wireless Sensor Networks”, Communications of the ACM June 2004

Many ways to Optimize Power Consumption  Power aware computing Ultra-low power microcontrollers Dynamic power management HW oDynamic voltage scaling (e.g Intel’s PXA, Transmeta’s Crusoe) oComponents that switch off after some idle time  Energy aware software Power aware OS: dim displays, sleep on idle times, power aware scheduling  Power management of radios Sometimes listen overhead larger than transmit overhead  Energy aware packet forwarding Radio automatically forwards packets at a lower level, while the rest of the node is asleep  Energy aware wireless communication Exploit performance energy tradeoffs of the communication subsystem, better neighbor coordination, choice of modulation schemes

XYZ Node:why build a new node? Research and education node to do tasks not doable with existing nodes Need for 32 bit computation for distributed signal processing protocols oE.g Localization protocol stacks and optimizations Need to be closer to the Sensors oDo fast sampling and processing close to the sensors –E.g real-time acceleration or gyro measurements –Acoustic sampling and correlation – need memory, peripherals and processing to be close to the computation resource – simplifies programming Accommodate custom form factors and interfaces for experimenting with mobile computing applications oMobility support interfaces (stronger connectors, output for motor contollers) oWearable applications – small package Very low power, long term sleep modes

XYZ’s Architecture

XYZ: Communication Subsystem  Chipcon CC2420 Zigbee RF Transceiver 2.4 GHz IEEE 250Kbps Programmable output power RX/TX data buffering Digital RSSI support DSSS modulation Security features oCTR encryption/decryption oCBC-MAC authentication oCCM encryption and authentication oAll security operations are based on AES encryption using 128 bits

XYZ: Supervisor Circuitry & Low Power Sleep OKI μC RTC DS1337 Voltage Regulator 3 x AA batteries 2.5V 3.3V I2CI2C WAKEUP Enable Interrupt (SQW) DS1337 Real Time clock datasheet:  Step 1: The μC selects the total time that wants to be turned off and programs the DS1337 accordingly, through the 2-wire serial interface.  Step 2: The DS1337 turns-off the μC and uses its own crystal to keep the notion of time.  Step 3: The DS1337 wakes up the μC after the programmed amount of time has elapsed.  Note that the DS1337 RTC can disable the voltage regulator and completely turn-off the sensor node!

XYZ: On Board Sensors Light Accelerometer Temperature OKI μC ADCADC AIN0 AIN1 AIN2 X Y PIOE5(EXINT0) 2-axis accelerometer datasheet (ADXL202E): Temperature Sensor datasheet (TMP05): Light Sensor datasheet (TSL251R):

Current Efforts on XYZ Peripheral Boards  UCLA  Suspended nodes and camera Yale, ENALAB

Operating System: SOS – Dynamic Software Re- configuration(NESL UCLA)  Remotely insert binary modules into a running kernel Partial system reconfiguration without interrupting system operation Superior performance than virtual machines No stop and re-boot unlike differential patching  Design challenges Dealing with severe resource constraints Reliable operation of the dynamically evolving system Hardware Abstraction Msg Passing Scheduler Memory Manager Static SOS Kernel Dynamic Loadable Binary Modules Dynamic Loadable Binary Modules [Slide from Simon Han, Nesl, UCLA]

Computation: OKI ML67Q5002  OKI ML67Q bit ARM7TDMI core (16-bit THUMB mode) Built-in memory: oSRAM 32Kbytes oBoot ROM 4Kbytes oFLASH memory 256Kbytes Provided interfaces: o4 channels of 10-bit resolution ADC. oDMA support. oSPI, SIO, I2C, UART, PWM interfaces o42 configurable GPIO pins oVariety of external and internal configurable interrupts o6 hardware timers

Features ARM7TDMI ROM-less (ML675001) 256KB MCP Flash (ML67Q5002) 512KB MCP Flash (ML67Q5003) 8KB Unified Cache 32KB RAM Interrupts FIQ I2C (1-ch x master) DMA (2-ch) Timers (7 x 16-bit) WDT (16-bit) PWM (2 x 16-bit) UART (2-ch)/ SIO (1-ch) GPIO (5 x 8-bit) ADC (4-ch x 10-bit) up to 66MHz -40 ~ +85  C Package 144 LFBGA 144 QFP XYZ Computation: The OKI ARM ML675001/67Q5002/67Q5003 [Slide from OKI Semiconductor]

OKI ARM ML675001/67Q5002/67Q5003 ARM7TDMI

What does ARM7TDMI Mean?  Based on an ARM7 core Von Neuman Architecture oSame address and data bus Approximately 1.9 Clock cycles per instruction T – Thumb architecture extension – 2 instruction sets oARM 32-bits oThumb 16-bits D – Core has debug extensions M – Core had an enhanced multiplier (32x8) with instructions for 64-bit results I – Core has EmbeddedICE Logic Extensions

CPU States  CPU can be either in ARM or THUMB states User can implicitly change the processor state from ARM to THUMB All exception handling happens in ARM mode If an exception happens during Thumb mode, the the processor transitions to ARM to execute the instruction and returns to THUMB at the end of the exception handler  THUMB mode trades-off performance for code density Cheaper memory and lower power consumption for embedded systems

FLASH Starts here External SRAM starts here Internal RAM starts here

MCU Basics: What are interrupts?  Asynchronous breaks in the program execution Press of a button, expiration of a timer, DMA interrupt indicating the completion of a memory transfer  When an interrupt occurs, the processor will transition to the corresponding interrupt handler to service the interrupt and then resume execution  The OKI processor has an 8-level interrupt priority mechanism Total of 24 types of interrupts that can happen during instruction execution o1 fast external interrupt o4 external interrupts o19 Internal interrutps –E.g System timer, watchdog timer, DMA interrupts etc  The chip has mechanisms for dealing with interrupts Interrupts are enabled and disabled through registers for each peripheral

MCU Basics:Many flavors of Microcontrollers  From embedded x86 processors 16 and 32-bit processors all the way down to tiny 4-bit processors  Some of the popular 8-bit families AVR, 8051, Z80, 6502, PIC, Motorola HC11  16-bit families Hitachi, Dragon  Many embedded Java controllers are also emerging

Hardware Timers(16-bit) Controls the mode (interval or one-shot) Starts and stops the timer Enables/disables the interrutps for this timer Holds value to compare against Holds the value that initializes the timer at startup

Clock Divider

Steps in Setting up a Hardware Timer Example using hardware TIMER0 1.Stop timer & disable interrupts by writing to control register (TIMECNTL0) 2.Write the timer starting value to the base register (TIMEBASE0) 3.Write the stop value in the compare register (TIMECOMP0) 4.Start the timer by writing to the control register (TIMECNTL0) This will start the timer. An interrupt will occur when the counter register reaches the value of the compare register Note: After the interrupt is handled, the status register (TIMESTAT0)needs to be cleared to use the timer again.

How to you access peripherals?  You can access peripherals and GPIO by reading/writing registers  Typically one would write device drivers and then use higher level abstractions  You will need this knowledge to write device drivers for different peripherals and to assess the real-time capabilities of your software

How do you program the OKI ARM?  Use the JTAG  Use Micromonitor with a serial connection to write to FLASH Works well, be careful not to over-ride micromonitor  Use the programmer utility from OKI Least reliable method

Projects Discussion look at the handout…