BU Presentation

Download Report

Transcript BU Presentation

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
–
–
–
Dominant Frequency vs. Time for a Ringed Plover Bird
Chirp on the XYZ
3000
2000
1500
1000
500
Time (ms)
25
0
23
0
21
0
19
0
17
0
15
0
13
0
11
0
90
70
50
30
0
10
Frequency (Hz)
2500
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 Architecture
XYZ’s Multiple Operational Modes
 Sleep modes
 Frequency scaling
 6 different operating frequencies.
 1.8MHz – 57.6MHz
 STANDBY
• Clock oscillation is stopped.
• Only an external interrupt can cause
CPU to exit this mode.
• Wait for clock to stabilize after waking
up.
 Radio management
 8 discrete transmission power levels.
 Sleep mode.
 Turn on/off.
 HALT
• Clock oscillation is not stopped.
 Individual peripherals
 I/O clock is different than the CPU clock
 enable/disable
 internal clock divider.
• 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
 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
2.5V
Voltage Regulator
ON
3 x AA
batteries
3.3V
Enable
GPIO
Interrupt (SQW)
STBY
RTC
DS1337
OKI μC
WAKEUP
INT_2
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
80
80
CPU CORE
TOTAL
RADIO
CPU I/O
only timers enabled
all I/O enabled
70
50
40
30
50
SOS and Zigbee active
40
30
20
20
10
10
0
0
10
20
IDLE (SOS and Zigbee loaded)
60
CURRENT (mA)
CURRENT (mA)
60
70
CPU Core
Total
30
FREQUENCY (MHz)
40
50
60
0
0
IDLE (SOS and Zigbee NOT loaded)
10
20
30
40
FREQUENCY (MHz)
50
60
 Current consumption varies from
 SOS and Zigbee MAC layer overhead:
15.5mA(1.8MHz) to 72mA(57.6MHz)
 2 schedulers
 Disabling all the peripherals (except the
 4 hardware timers
timers) results to a reduction of 0.5mA
 1 software timer
(1.8MHz) to 12mA(57.6MHz)
 20 mA @ maximum frequency
 Peripherals cause most of the overhead
Power Mode Transitioning Overheads
STANDBY
 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!
Transistion from
(MHz)
Current (mA)
Core
Total
Core
Total
57.6(radio IDLE)
≈0
4.1
32.2
43.76
57.6/32(radio IDLE)
≈0
3.5
2.02
13.93
57.6(radio listening)
≈0
23.62
32.24
63.2
57.6/32(radio listening)
≈0
23.62
2.3
34.85
STANDBY
Frequency
(MHz)
Sleep
HALT
HALT
Wake up
Sleep
Wake up
Time(μs)
Energy(μJ)
Time(ms)
Energy(mJ)
Time(μs)
Energy(μJ)
Time(μs)
Energy(μJ)
57.6
300
22.49
24.2
1.53
204
37.43
552
105.41
57.6/4
320
20.63
23.8
1.47
60
5.35
400
36.7
57.6/32
320
18.39
1.4
0.1
40
2.38
148
9.54
 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
25
Level
TX
Power(dBm)
Power
Consumed (mW)
0(max)
0
57.2
1
-1
55.41
2
-3
50.02
3
-5
44.2
4
-7
41.9
5
-10
36.4
6
-15
33.93
7(min)
-25
28.6
CURRENT (mA)
20
15
Radio Listening
Radio IDLE
Radio Transmitting
Cubic Polynomial Fit
Radio IDLE
Radio Listening
10
3
2
y = 0.00064*x + 0.042*x + 0.99*x + 18
5
0
-25
-20
-15
-10
TX POWER (dbm)
-5
0
 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
XYZ: Software Infrastructure
Dynamic Loadable
Binary Modules
Application Layer
CPU and Radio APIs
Zigbee MAC protocol
Low Power API
IEEE 802.15.4 MAC
SOS Operating System
Operating System
Hardware Drivers
Software Infrastructure: SOS
Dynamic Loadable
Binary Modules
Dynamic Loadable
Binary Modules
Static SOS Kernel
Hardware
Abstraction
Module
Communication
 Module-based SOS operating system






Memory
Manager
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
NECK INTERFACE
(RFID, UID, USB)
HEAD INTERFACE
(Video, Audio, IR “Weapons”)
…AND MUCH
MUCH MORE!
Six-element, full-coverage, IR obstacle
detection and short-range communications
array
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
Edge detector prevents
falls from cliffs
Plug-and-play support for all
(not shown)
xBow Mote compatible devices
Battery monitor
(on underside of PCB)
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)