200 likes | 529 Vues
XYZ : A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Node Applications. Dimitrios Lymberopoulos and Andreas Savvides Embedded Networks and Applications Lab ENALAB Yale University http://www.eng.yale.edu/enalab. Research Supported by:. The XYZ Sensor Node.
E N D
XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Node Applications Dimitrios Lymberopoulos and Andreas Savvides Embedded Networks and Applications Lab ENALAB Yale University http://www.eng.yale.edu/enalab Research Supported by:
The XYZ Sensor Node • Sensor node created for experimentation • Low cost, low power, many peripherals • Integrated accelerometer, light and temperature sensor • IEEE 802.15.4 compliant radio • Chipcon CC2420 radio • OKI ARM Thumb Processor • 256KB FLASH, 32KB RAM • 2 Mbits External RAM • Max clock speed 57.6MHz, scales down to 1.8 MHz • Multiple power management functions • Rich set of peripherals • Powered with 3 AA batteries • Long term sleep modes
Why do we need a new platform? • Research and education node to do tasks not doable with existing nodes • Need for 32 bit computation for distributed signal processing protocols • E.g Localization protocol stacks and optimizations • Need to be closer to the Sensors • Do 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 • Capture, process & transmit video images • Accommodate custom form factors and interfaces for experimenting with mobile computing applications • Mobility support interfaces (stronger connectors, output for motor controllers) • Wearable applications – small package • Full control of our experiments • Fully flexible and open platform at all levels • Low power, long term sleep modes • Need to sleep for extended time periods
XYZ’s Playground: Enalab’s 3-D Testbed ZIPMOTE • Initial uses: • Localization, time synch and calibration • Ultrasonic localization, inertial tracking • Motion coordination • Sensor fusion and intelligent information harvesting
Processor choice: OKI ARM ML67500x ARM7TDMI
Acoustic Detection on XYZ • Prototype status • Can recognize specific sound signatures • Continuous sampling and processing of acoustic events up to 40KHz • Uses a 512-Point FFT that runs in O(1.8ms) on XYZ
XYZ’s Multiple Operational Modes • Sleep modes • STANDBY • Clock oscillation is stopped. • Only an external interrupt can cause CPU to exit this mode. • Wait for clock to stabilize after waking up. • HALT • Clock oscillation is not stopped. • Clock signal is blocked to specific blocks. • Any interrupt (internal or external) can cause the CPU to exit this mode • No need to wait for the clock to stabilize after waking up • Frequency scaling • 6 different operating frequencies. • 1.8MHz – 57.6MHz • Radio management • 8 discrete transmission power levels. • Sleep mode. • Turn on/off. • Individual peripherals • I/O clock is different than the CPU clock • enable/disable • internal clock divider. • Deep Sleep mode • XYZ is turned off! Only the Real Time Clock is operational. • Only the Real Time Clock can wake up the node. • Current drawn: ≈30μΑ
XYZ’s Deep Sleep mode: Supervisor Circuitry OKI μC 2.5V Voltage Regulator 3.3V Enable ON GPIO Interrupt (SQW) STBY INT_2 WAKEUP RTC DS1337 3 x AA batteries INT_1 I2C Step 1: Turn on the node. Step 2: The μC takes control of the Enable pin of the voltage regulator. Step 3: Turn the power switch to the STBY position. Step 4: The μC selects the total time that wants to be turned off and programs the DS1337 accordingly, through the 2-wire serial interface. Step 5: The DS1337 disables the voltage regulator and uses its own crystal to keep the notion of time. The entire sensor node is turned off! Step 6: The DS1337 enables the voltage regulator after the programmed amount of time has elapsed. Step 7: The μC takes control of the Enable pin of the voltage regulator
XYZ: Power Characterization Frequency Scaling • Current consumption varies from15.5mA(1.8MHz) to72mA(57.6MHz) • Disabling all the peripherals (except the timers) results to a reduction of 0.5mA (1.8MHz) to 12mA(57.6MHz) • Peripherals cause most of the overhead • SOS and Zigbee MAC layer overhead: • 2 schedulers • 4 hardware timers • 1 software timer • 20 mA @ maximum frequency
Power Mode Transitioning Overheads • Power Consumption in the HALT mode depends on the previous operating mode! • The reason is that most of the peripherals are active in the HALT mode! • Waking up the node takes orders of magnitude more time than putting it into sleep mode. This time is not software-controlled and can vary from 10 to 24ms for the maximum operating frequency. • The time that is required to wake up the processor depends on the next operating mode!
XYZ: Power Characterization Radio’s Power Consumption • The current drawn by the radio while listening the channel is higher than the current drawn when the radio is transmitting packets at the highest power level
IEEE 802.15.4 MAC Low Power API Application Layer XYZ: Software Infrastructure Dynamic Loadable Binary Modules CPU and Radio APIs Zigbee MAC protocol Operating System Hardware Drivers SOS Operating System
Dynamic Loadable Binary Modules Dynamic Loadable Binary Modules Static SOS Kernel Hardware Abstraction Module Communication Memory Manager Software Infrastructure: SOS • Module-based SOS operating system • Message passing communication • Intertask communication • Virtual Delta Timers (Software timers) • Supports module insertion/deletion • Event driven sensing interface • Cross Platform • Easy to use • Applications are written in pure C • Minimum use of macros • Clean implementation • Reduces the application development time
XYZ is moving! The XYZ ZipMote • Adding mobility to the XYZ sensor node • An add-on board was designed to support the mobility mechanism • A geared motor is used for moving the sensor node on a string. • 2 HBRIDGEs are used to drive the geared motor with 5V. • Experimental results while carrying a servo motor and a camera: • Average speed: 0.14m/s • Total distance traveled before battery death: 165 meters • Integrated ultrasonic and mobility board • 3 Ultrasonic transducers • Multiplexed TX/RX functionality on each transducer • 12 channels / 10-bit resolution ADC for interfacing more sensors
XYZ meets Ragobot @ http://www.ragobot.com Six-element, full-coverage, IR obstacle detection and short-range communications array HEAD INTERFACE (Video, Audio, IR “Weapons”) NECK INTERFACE (RFID, UID, USB) …AND MUCH MUCH MORE! IRMAN programming header Integrated 3D Compass Integrated 2D Accelerometer Power robot and recharge battery from DC wall supply Battery charger with under-voltage, over-voltage, reverse polarity, over-load, and regulation Protection Battery monitor (on underside of PCB) Edge detector prevents falls from cliffs (not shown) Plug-and-play support for all xBow Mote compatible devices Self-docking power transfer plates for automatic battery recharge
XYZ Deployment • Deployment in New Haven Sound High School • Large user community of 320 students • Initial Goal: monitor machine status, fish tanks and algae production (temperature, DO, pH) • Machine breakdowns can waist 6-month work • Optimize algae production
CONCLUSION • The results of the characterization provide valuable insight on what would be the best way to operate the different modes. • Long term sleep modes as well as ample computation and memory resources are available • An additional board provides mobility and ultrasound ranging capabilities to the node. • A 3-D testbed installed in our lab is the playground for 50 XYZ nodes. • http://www.cs.yale.edu/enalab/XYZ/ • http://www.ragobot.com • http://nesl.ee.ucla.edu/projects/sos • XYZ in class. • XYZ is available to the research community from Cogent Computer Systems Inc. at a cost of $150 per node for a 20 node batch. (http://www.cogcomp.com)