Presentation is loading. Please wait.

Presentation is loading. Please wait.

Frank Vahid, UC Riverside 1 First Results with eBlocks: Embedded Systems Building Blocks Susan Cotterell, Frank Vahid*, Walid Najjar and Harry Hsieh Department.

Similar presentations


Presentation on theme: "Frank Vahid, UC Riverside 1 First Results with eBlocks: Embedded Systems Building Blocks Susan Cotterell, Frank Vahid*, Walid Najjar and Harry Hsieh Department."— Presentation transcript:

1 Frank Vahid, UC Riverside 1 First Results with eBlocks: Embedded Systems Building Blocks Susan Cotterell, Frank Vahid*, Walid Najjar and Harry Hsieh Department of Computer Science and Engineering University of California, Riverside *Also with the Center for Embedded Computer Systems at UC Irvine http://www.cs.ucr.edu/~vahid This work is being supported by the National Science Foundation and a Department of Education GAANN Fellowship

2 Frank Vahid, UC Riverside 2 Introduction – A Typical Problem Garage door

3 Frank Vahid, UC Riverside 3 Introduction – A Typical Problem Oops! Garage door left open at night

4 Frank Vahid, UC Riverside 4 Introduction – Solution: Simple Embedded System Blink LED in the bedroom if garage door is open at night Homeowner sees LED before sleep Components needed Light sensor Contact switch Logic (no light AND switch open) Wireless transmitter Wireless receiver LED light sensor contact switch AND tx rx LED

5 Frank Vahid, UC Riverside 5 Introduction – Solution is not so easy Find components Parts catalogs, from different vendors, many varieties Intended for specialists Read datasheets to understand components 10s to 100s of pages Intended for specialists Light sensor – no light sensor listing, its a photoresistor Light – not a light bulb but an LED (light emitting diode) There are over 80+ listing in a single catalog Use a wireless transmitter/receiver or a transceiver? Do we need a antenna or amplifier? AM or FM? Which MHz can we use given FCC regulations? What does the instruction set look like? Which pins/ports can I use? How do I specify if a pin is output or input? What are the connections – power, ground, data transmitted, data received, interface to hardware? How does transmitter/receiver work? Who does encoding/decoding? What does the encoding look like? Timing Issues? What are the connections – ground, power, data, address?

6 Frank Vahid, UC Riverside 6 Introduction – Solution is not so easy Program microcontrollers Software Tool Interfacing/communication Debug Hardware Breadboard or PCB Debug Other Issues... Battery drains in 2 days Need packets - requires networking skills How do I program the PIC? Which compilers can I use? How do I download/install/configure the tools? How do I interface with other components? How do I debug my program if it doesnt work? How do I read a schematic? My circuit doesnt work, now what? How do I use a multimeter or logic analyzer to debug a circuit? How do I test the circuit to ensure correctness? Am I missing other components – voltage regulators, capacitors, resistors?

7 Frank Vahid, UC Riverside 7 Introduction – Solution is not so easy We gave this as a project in an upper-division embedded systems university course, several years in a row Three week project Students already took courses, from various universities, involving digital design, microcontrollers, electronics, and interfacing with sensors/displays Overall, 50 students attempted the project Only 20 completed the project Problems Misunderstanding (or vague) data sheets Interfacing errors Debugging difficulties No way a regular person could build this seemingly simple, useful system Not Completed 71% Completed 29%

8 Frank Vahid, UC Riverside 8 Introduction – Not Just Garage Doors Home monitoring Garage door open, side fence open, visitor at front door, pool occupied Inventory Restaurants, stores, storehouses Assistance for disabled Hard of hearing (vibration when sound), vision impaired, object locators Doorbell type applications Proximity doorbell (carpoolers), temporary building usage, silent doorbells, customer detection Logging/tracking applications Log temperature, humidity, customer traffic, car speeds Ad-hoc security Voting systems Countless more applications that today either dont exist, or are too costly Low volume, or custom designed

9 Frank Vahid, UC Riverside 9 Introduction – Solution: Mass-produced easy-to- use monitor/control system building blocks Shrinking processor cost and size enables new solution Put intelligence in every sensor, in every output device, etc. Proposed solution Define matchbox-sized building blocks with accompanying standards, protocols, etc. Easily connected, no programming/electronics experience, battery powered Like connecting LEGOs light sensor LED contact switch logic tx rx LED light sensor light sensor tx light sensor logic tx rx LED Smart dust Getting awfully small... Courtesy of Joe Kahn

10 Frank Vahid, UC Riverside 10 Design Issues Categories of blocks Sensors, Outputs, Communication, Logic/Timing Presently Boolean only (yes/no); now extending to integers Presently about 10 items in each category Enough to build huge variety of systems Working iteratively with users to refine and create new blocks Definition of compute and communicate protocols Main constraints: good response, but 2-3 year battery Everything is inter-related, difficult problem Traditional separation of concerns (compute/comm., and networking layers) too inefficient Need tools to automate exploration

11 Frank Vahid, UC Riverside 11 Defining Basic eBlocks – Partial Catalog eBlockDiagramDescriptionInterface Magnetic Contact Switch Determines when contact between two sensors is made. yes = contact between sensors no = no contact between sensors Light Sensor Sensor detects presence of light.yes = light detected no = no light detected Button Indicates whether button is pressed or not.yes = button pressed no = button not pressed LED Device blinks a light when input is a yes. Device emits no light when input is no. yes = blink LED no = turn LED off Splitter Device receives a signal and replicates that signal on each output. yes = output yes signal no = output no signal Toggle An input of yes toggles (inverts) the current value outputted by the device. yes = toggle previous output value no = do nothing 2-Input Logic Block Configurable logic block programmed by the user via DIP switch. For each of the possible outcomes of a and b, there is a corresponding switch which can be set so the resulting output is a yes or no for that particular combination. 2-Input Logic yes/no Toggle yes/no Splitter yes/no Button yes/no Magnetic Contact Switch yes/no Light Sensor yes/no LED

12 Frank Vahid, UC Riverside 12 Defining Basic eBlocks – How to Implement Logic? Logic to detect motion at night Motion sensor output A = yes, light sensor output B = no Motion at night = A AND (NOT B) = A * B Equations too hard for regular person, plus how to enter it? In general, regular people very weak with logic Cant create unique eBlock for every unique 2-input logic function Create one 2-input logic block User must configure that block Solution: print truth table on block, user sets switches for each possible input Not ideal, but sufficient for now Logic A B From motion sensor From light sensor no yes A B Output no yes no yes

13 Frank Vahid, UC Riverside 13 Building eBlocks Systems Build the Garage Door Open at Night System Using eBlocks Plug pieces together and the system is done! Light Sensor yes/no We want to detect night – use light sensor Light Sensor yes/no Magnetic Contact Switch yes/no We want to know if garage door open – use contact switch Magnetic Contact Switch yes/no Need a function of light sensor output and contact switch output – use Logic Block 2-Input Logic yes/no Configure Logic Block to turn led on when its night and when door is open 2-Input Logic yes/no 2-Input Logic yes/no LED yes/no Need something to indicate garage open at night – use led LED yes/no

14 Frank Vahid, UC Riverside 14 Current Status: Working Prototypes Garage Door Open at Night (wired solution) At garage door Outside Inside house Light Sensor Magnetic Contact Switch LED 2-Input Logic Inside house LED wireless RX At garage door Outside Light Sensor Magnetic Contact Switch 2-Input Logic wireless TX Garage Door Open at Night (wireless solution)

15 Frank Vahid, UC Riverside 15 eBlock System Implementations Cafeteria Food Alert 2-Input Logic Splitter Toggle Button LED Button LED KitchenService Line

16 Frank Vahid, UC Riverside 16 Battery Lifetimes Off the shelf 9V battery Power down PIC when it is idle Use sampling techniques to reduce HW energy cost eBlocksEnergy/day (J/day)Lifetime PICHW Button 2.722020 years Light Sensor 2.72244.51 year LED 2.67814.43 years Green/Red LED 2.67828.82 years Beeper 2.678272 years 2-Input Logic Block 2.766019 years Toggle 2.722020 years Prolonger 2.722020 years

17 Frank Vahid, UC Riverside 17 eBlock Design Experiment Gave garage door project in embedded systems course 3-page eBlock catalog that included basic examples (30 minutes to read) All 22 students successfully designed the system In less than one hour Students built numerous additional designs during remaining two hours With eBlocks, 1 hour Completed 100% Without eBlocks, and 3 weeks Not Completed 71% Completed 29%

18 Frank Vahid, UC Riverside 18 Conclusions and Future Work eBlocks Can be used by regular people to construct useful class of embedded systems No programming or electronics experience Can be mass produced to be cost effective Boolean eBlock prototypes shown to be effective Essentially creating higher-level digital components Illusion of continuous time, but event-based packet network underneath Only recently made possible due to low-cost, low-power, tiny processors Will be useful with complementary efforts Intelligent homes, UPnP, IEEE smart sensor standard All need sensors that people can actually use Sensor networks Can serve as basic sensor input system (most research focuses on networking infrastructure) Future work Timing model definition; wireless protocol definition; power sharing methods Extend to integer eBlocks, with arithmetic blocks too; Usage experience Automatic synthesis of eBlock systems from specifications Optimization of eBlock systems; use of eBlocks as a form of spatial programming eBlocks for those with programming experience


Download ppt "Frank Vahid, UC Riverside 1 First Results with eBlocks: Embedded Systems Building Blocks Susan Cotterell, Frank Vahid*, Walid Najjar and Harry Hsieh Department."

Similar presentations


Ads by Google