Download presentation
Presentation is loading. Please wait.
Published byPearl Spencer Modified over 9 years ago
1
System Architecture Directions for Networked Sensors Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David Culler, Kris Pister Presenter: James
2
Computing in millimeters: Advances in low power wireless communication technology and micro- electromechanical sensors (MEMS) make this possible How to combine sensing, communication and computation into a complete architecture What are the requirements of the software?
3
Organization Hardware of today Software Requirements TinyOS system architecture System evaluation
4
Today ’ s Hardware Assembled from off-the-shelf components 4Mhz, 8bit MCU (ATMEL) 512 bytes RAM, 8K ROM 916.5Mhz Radio (RF Monolithics) 10-100 ft. range Temperature Sensor & Light Sensor LED outputs Serial Port 1.5” x 1.5”
5
Today ’ s Hardware (cont.) Bit by bit interaction with Radio No buffering missed deadline lost data No dedicated I/O controllers
6
Key Software Requirements Capable of fine grained concurrency Small physical size Efficient Resource Utilization Highly Modular
7
Real time operating systems VxWorks: in hundreads of kilobytes QNX: context switch = 2400 cycles on x86 Creem: no preemption
8
TinyOS system architecture
9
TinyOS component model Component has: Frame (storage) Tasks (computation) Command and Event Interface Constrained Storage Model allows compile time memory allocation Provides efficient modularity Explicit Interfaces help with robustness Messaging Component Internal State Internal Tasks CommandsEvents
10
TinyOS Component Messaging Component AM_SUB_INIT AM_SUB_POWER AM_SUB_TX_PACKET AM_TX_PACKET _DONE AM_RX_PACKET _DONE Internal State AM_INIT AM_POWER AM_SEND_MSG AM_MSG_REC AM_MSG_SEND_DONE Internal Tasks CommandsEvents //AM.comp// TOS_MODULE AM; ACCEPTS{ char AM_SEND_MSG(char addr, char type, char* data); void AM_POWER(char mode); char AM_INIT(); }; SIGNALS{ char AM_MSG_REC(char type, char* data); char AM_MSG_SEND_DONE(char success); }; HANDLES{ char AM_TX_PACKET_DONE(char success); char AM_RX_PACKET_DONE(char* packet); }; USES{ char AM_SUB_TX_PACKET(char* data); void AM_SUB_POWER(char mode); char AM_SUB_INIT(); };
11
State Machine Model System composed of state machines Command and event handlers transition a module from one state to another Quick, low overhead, non-blocking state transitions Many independent modules are allowed to efficiently share a single execution context
12
A Complete Application RFM Radio byte Radio Packet i2c Temp photo Messaging Layer clocks bit byte packet Routing Layer sensing application application HW SW ADC messaging routing
13
Analysis Let ’ s take apart Space, Power and Time
14
Space Breakdown … Code size for ad hoc networking application Scheduler: 144 Bytes code Totals: 3430 Bytes code 226 Bytes data
15
Energy It turns out energy is your most valuable resource Traditional notions of resources – memory, CPU, I/O become expenses, not resources All components must support low power modes
16
Power Breakdown … What does this mean? Lithium Battery runs for 28 hours at peak load and years at minimum load! All its energy can only support 144KB data ActiveIdleSleep CPU6.4 mA2 mA5 μA Radio12/4.5 mA (TX/RX) 4.5 mA (RX) 5 μA EE-Prom3 mA00 LED ’ s 4.6 mA00 Photo Diode 200 μA00 Temperatur e 200 μA00 Energizer CR2450 575 mAh
17
Time Breakdown … 50 cycle thread overhead (6 byte copies) 10 cycle event overhead (1.25 byte copes)
18
An Example Timing Diagram Message Send Transition Timing diagram of event propagation
19
Conclusions TinyOS is a highly modular software environment tailored to the requirements of Network Sensors, increasing efficiency, modularity and concurrency
20
Discussions Transmitting encoding Zeros and Ones Acks and retransmissions Data compression, aggregation, etc. Single MCU vs. multiple MCUs Concurrency-intensive operation? Power allocation Other ways of power conservation Duty cycle Lower accuracy
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.