Title: Crossbow: Smarter Sensors in Silicon
1Crossbow Smarter Sensors in Silicon
2Crossbow Platform Review
- Overview and Goals
- History
- Design Approach
- Current System
- Hardware
- Software
- Future Directions
3Overview and Goals
- Big Idea Ubiquitous sensing
- How?
- Necessarily cheap
- This is the military. Cheap is relative.
- Necessarily small
- (more survivable, low profile, etc.)
- Necessarily many
- (economies of scale, higher measurement
granularity, lower power comms, etc.) - Necessarily robust
- Common case no maintenance
4Crossbow Mote History
Network Embedded Systems Technology Program
5Hardware Development Cycle
6Current Design Analysis Mica Series
- Integrate sensors, computation and communication
in single unit - Basic board has radio, processor, memory
- Sandwich sensor boards in layers
- Just like the rockgreat cleavage
- Open-source hardware/software concept
- Software is TinyOS (TOS) and TinyDB (TDB)
- Hardware design and Intel networking technology
is licensed to Crossbow - Modular design allows fast development
7Available Mote Designs MICA
- Crossbow 2nd generation wireless sensor, 4th from
Berkeley Labs - Atmel ATMEGA103/128L
- 4 Mhz 8-bit CPU
- 128KB Instruction Memory
- 4KB SRAM and EEPROM
- 4 Mbit flash (AT45DB041B)
- SPI interface
- 1-4 uj/bit r/w
- RFM TR1000 Radio (916/433 MHz)
- 50 kb/s ASK
- Focused hardware acceleration
- 1 to 300 ft. range, RSSI
- 51-pin connector
- Analog ADC comparators, I2C, SPI, interrupts,
PWM, ext. SRAM, UART - 100-400 depending upon configuration
8Available Mote Designs MICA
- Three low-power modes
- Idle Processor is turned off
- Power Down Everything but the
- watch-dog is turned off
- Power Save Only asynchronous
- timer powered on
- 100 mW power consumption
- Processors, radio, typical sensor load
- 30 uW power consumption
- All components asleep
9Available Mote Designs MICA2
- Crossbow 3rd generation wireless sensor
- Design changes to MICA
- Processor now offers standalone boot-loader
- New radio (Chipcon 1000)
- 500 to 1000 ft. range, 38.4 Kbaud
- Better noise immunity, linear RSSI
- FM modulated (vs Mica AM)
- Digitally programmable output power
- Built-in Manchester encoding
- Software programmable freq.
- hopping within bands
- Tiny OS v. 1.0 - improved network stack,
debugging - Wireless remote programming
- 512 Kb serial flash
10Available Mote Designs MICA2DOT
- Crossbow 3rd generation wireless sensor
- Similar feature set to MICA2
- Degraded I/O capabilities 18 pins vs. 51
- 6 analog inputs, digital bus,
- serial or UART
- Integrated temperature and battery
- voltage sensors, status LED
- Battery is 3V coin cell instead of AA x 2
- 25 mm diameter, 6 mm height
- Compatible with MICA2
11Next Generation Mote Spec
- Single-chip mote
- 2 mm x 2.5 mm
- RISC core
- 3k Memory
- 8-bit on-chip ADC
- FSK 19.2 kbps RF transmitter
- Paged memory
- SPI, RS232 compatible UART
- 4-bit input/4-bit output port
- Hardware support for comms encryption
- Hardware OEM costs Under 1 in quantity (w/o
antenna and sensors)
12Next Generation Mote Spec (Cont.)
13Sensor External Modules
- Each sensor has individual power control
- MTS300
- Light, temperature, acoustic, sounder
- MTS310
- 2-axis accelerometer, 2-axis magnometer, MTS300
feature set - MTS101
- Thermistor, light sensor/photocell, 24-point
general prototyping area - MDA500
- Connects MICA2DOT I/O signals to thru holes
- WSC100
- Four-channel analog (12-bit digital, 100hz)
Bluetooth radios - Single module dedicated to either input or output
- 100 ft range
14Operating System TinyOS
- Tiny Microthreading Operating System
- Tiny - 4k OS program memory limit
- Microthreading - processor directly handles
almost all data (radio, sensors, etc.) - OS - allows platform for future development
- - convenient abstractions for hardware
- Designed to do the job fast and then turn off
everything allowed - Open source
15Design Considerations
- Make best use of most constrained asset battery
power - Network self-configuration
- Manage complexity, respond to unplanned events
- Sensor self-configuration (?)
- Glue and go
- Real-time
- Limited buffering available
- Network robustness and maintenance
- Multiple points of failure, self-healing ability
- Heterogeneous end environments
- Application specific rather than general purpose
(?) - Fast creation of efficient, specific applications
w/o too much HW-specific nastiness
16Example Software Layer Structure
17Example Memory Allocation
18Example Utilization Radio Receive
19TinyOS Programming
- Structural VHDL puts the pieces together
- Schematics are (usually) easier to put
- together and understand than code
- Industry standard design model
- Scripts take VHDL description and
- compile the resultant code base
- Components are aggregated and
- easily reused
- Low-level component software written
- In C and/or assembly
- But, this is largely hidden from view for
- standard modules
20TinyOS Example Code
/ Messaging Component Declaration
/ //ACCEPTS char TOS_COMMAND(AM_SEND_MSG)(char
addr,char type, char data) void
TOS_COMMAND(AM_POWER)(char mode) char
TOS_COMMAND(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
TOS_COMMAND(AM_SUB_TX_PACKET)(char data) void
TOS_COMMAND(AM_SUB_POWER)(char mode) char
TOS_COMMAND(AM_SUB_INIT)()
21TinyDB Overview
- Imposes SQL-like querying ability on nodes
- Treats distributed network like a database (!)
- Allows specification of which data should be
sent, update rate, etc. - Filters and aggregates before displaying on PC
screen (Java interface) - Saves bandwidth and power by allowing nodes to
only transmit requested data - Graphical query-builder
- Download self-configuring runtime to motes, no C
coding
22Crossbow Motes Conclusion
- Crossbow motes are very cool
- Probably cheap enough for us to buy a couple for
playing with? - Otherwise, maybe just TinyOS emulation?
- Sensor Hardware
- Cheap, publicly-available, modular, integrated,
power-efficient, extensible, tiny - Sensor Software
- Free, open-source, modular, abstract,
power-efficient, extensible, small