220 likes | 241 Views
Crossbow: Smarter Sensors in Silicon. Johann Ammerlahn. Crossbow Platform Review. Overview and Goals History Design Approach Current System Hardware Software Future Directions. Overview and Goals. Big Idea: Ubiquitous sensing How? Necessarily “cheap”
E N D
Crossbow: Smarter Sensors in Silicon Johann Ammerlahn
Crossbow Platform Review • Overview and Goals • History • Design Approach • Current System • Hardware • Software • Future Directions Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Overview 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Crossbow Mote History $$ + Network Embedded Systems Technology Program Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Hardware Development Cycle Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Current 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 rock…great 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Available 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
51-Pin I/O Expansion Connector Digital I/O 8 Analog I/O 8 Programming Lines Atmega103 Microcontroller DS2401 Unique ID Coprocessor Transmission Power Control Hardware Accelerators SPI Bus TR 1000 Radio Transceiver 4Mbit External Flash Power Regulation MAX1678 (3V) Available 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Available 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Available 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Next 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) Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Next Generation Mote: Spec (Cont.) Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Sensor & 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Operating 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Design 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
sensing application application Routing Layer routing Messaging Layer messaging UART Packet Radio Packet packet Radio byte UART byte Temp byte photo SW HW RFM ADC i2c bit clocks Example Software Layer Structure Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Example Memory Allocation Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Components Packet reception work breakdown Percent CPU Utilization Energy (nj/Bit) AM 0.05% 0.20% 0.33 Packet 1.12% 0.51% 7.58 Radio handler 26.87% 12.16% 182.38 Radio decode thread 5.48% 2.48% 37.2 RFM 66.48% 30.08% 451.17 Radio Reception - - 1350 Idle - 54.75% - Total 100.00% 100.00% 2028.66 Example Utilization: Radio Receive Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
TinyOS: 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
TinyOS: 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)(); Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
TinyDB: 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs
Crossbow 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 Graphics Courtesy Crossbow Technologies, Inc. and Berkeley Labs