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)