crossbow: smarter sensors in silicon johann ammerlahn

22
Crossbow: Crossbow: Smarter Sensors in Smarter Sensors in Silicon Silicon Johann Ammerlahn

Upload: donna-wilcox

Post on 19-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Crossbow: Crossbow: Smarter Sensors in SiliconSmarter Sensors in Silicon

Johann Ammerlahn

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

2

Crossbow Platform ReviewCrossbow Platform Review

Overview and GoalsHistoryDesign ApproachCurrent System

– Hardware– Software

Future Directions

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

3

Overview and GoalsOverview 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

4

Crossbow Mote HistoryCrossbow Mote History

$$ +

Network Embedded Systems Technology

Program

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

5

Hardware Development CycleHardware Development Cycle

                            

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

6

Current Design Analysis: Mica SeriesCurrent 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

7

Available Mote Designs: MICAAvailable 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

8

Available Mote Designs: MICAAvailable Mote Designs: MICA

Atmega103 Microcontroller

TR 1000 Radio Transceiver4Mbit External Flash

51-Pin I/O Expansion Connector

Power Regulation MAX1678 (3V)

DS2401 Unique ID

8 Analog I/O8 Programming

Lines

SP

I Bus CoprocessorTransmission

Power ControlHardware

Accelerators

Digital I/O

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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

9

Available Mote Designs: MICA2Available 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

10

Available Mote Designs: MICA2DOTAvailable 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

11

Next Generation Mote: SpecNext 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)

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

12

Next Generation Mote: Spec (Cont.)Next Generation Mote: Spec (Cont.)

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

13

Sensor & External ModulesSensor & 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

14

Operating System: TinyOSOperating 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

15

Design ConsiderationsDesign 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

16

Example Software Layer StructureExample Software Layer Structure

RFM

Radio byte

i2c

Tempphoto

Messaging Layer

clocksbit

byte

packet Radio Packet

Routing Layer

sensing applicationapplication

HW

SW

ADC

messaging

routing

UART Packet

UART byte

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

17

Example Memory AllocationExample Memory Allocation

0

500

1000

1500

2000

2500

3000

3500

4000

Multihop Router

AM light

AM Temp

AM

Packet

Radio Byte

RFM

Photo

Temp

UART Packet

UART

i2c

Init

TinyOS Scheduler

C Runtime

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

18

Example Utilization: Radio Receive Example Utilization: Radio Receive

ComponentsPacket 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

19

TinyOS: Programming 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

20

TinyOS: Example Code 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)();

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

21

TinyDB: Overview 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

04/18/23Graphics Courtesy Crossbow

Technologies, Inc. and Berkeley Labs

22

Crossbow Motes ConclusionCrossbow 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