first results with eblocks embedded systems building blocks l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
First Results with eBlocks: Embedded Systems Building Blocks PowerPoint Presentation
Download Presentation
First Results with eBlocks: Embedded Systems Building Blocks

Loading in 2 Seconds...

play fullscreen
1 / 18

First Results with eBlocks: Embedded Systems Building Blocks - PowerPoint PPT Presentation


  • 183 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'First Results with eBlocks: Embedded Systems Building Blocks' - Mia_John


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
first results with eblocks embedded systems building blocks

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

Frank Vahid, UC Riverside

introduction a typical problem
Introduction – A Typical Problem

Garage door

Frank Vahid, UC Riverside

introduction a typical problem3
Introduction – A Typical Problem

Garage door

left open

at night

Oops!

Frank Vahid, UC Riverside

introduction solution simple embedded system

LED

rx

tx

AND

light

sensor

contact

switch

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

Frank Vahid, UC Riverside

introduction solution is not so easy

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?

Light sensor – no “light sensor” listing, it’s a photoresistor

Light – not a light bulb but an LED (light emitting diode)

There are over 80+ listing in a single catalog

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?

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?

Introduction – Solution is not so easy
  • Find components
    • Parts catalogs, from different vendors, many varieties
    • Intended for specialists
  • Read datasheets to understand components
    • 10’s to 100’s of pages
    • Intended for specialists

Frank Vahid, UC Riverside

introduction solution is not so easy6

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 doesn’t work?

How do I read a schematic?

My circuit doesn’t 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?

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

Frank Vahid, UC Riverside

introduction solution is not so easy7
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

Completed 29%

Not Completed 71%

Frank Vahid, UC Riverside

introduction not just garage doors
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 don’t exist, or are too costly
    • Low volume, or custom designed

Frank Vahid, UC Riverside

introduction solution mass produced easy to use monitor control system building blocks

tx

contact

switch

light

sensor

“Smart dust”

logic

rx

Getting awfully

small...

light

sensor

Courtesy of Joe Kahn

light

sensor

light

sensor

LED

LED

LED

logic

rx

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

tx

tx

Frank Vahid, UC Riverside

design issues
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

Frank Vahid, UC Riverside

defining basic eblocks partial catalog

Magnetic Contact Switch

yes/no

Light Sensor

yes/no

yes/no

Button

yes/no

LED

yes/no

Splitter

yes/no

yes/no

yes/no

yes/no

yes/no

yes/no

Toggle

yes/no

yes/no

yes/no

2-Input Logic

Defining Basic eBlocks – Partial Catalog

Frank Vahid, UC Riverside

defining basic eblocks how to implement logic

Output

B

A

A

Logic

From motion sensor

no

no

no

yes

B

From light sensor

no

yes

no

yes

yes

no

no

yes

yes

yes

no

yes

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
  • Can’t 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

Frank Vahid, UC Riverside

building eblocks systems

yes/no

yes/no

yes/no

2-Input Logic

Configure Logic Block to turn led on when it’s night and when door is open

We want to detect night – use light sensor

Need something to indicate garage open at night – use led

Light Sensor

Light Sensor

yes/no

yes/no

LED

LED

yes/no

yes/no

yes/no

yes/no

yes/no

yes/no

yes/no

yes/no

2-Input Logic

2-Input Logic

Magnetic Contact Switch

Magnetic Contact Switch

yes/no

yes/no

Need a function of light sensor output and contact switch output – use Logic Block

We want to know if garage door open – use contact switch

Building eBlocks Systems
  • Build the Garage Door Open at Night System Using eBlocks

Plug pieces together and the system is done!

Frank Vahid, UC Riverside

current status working prototypes

Garage Door Open at Night

(wireless solution)

wireless TX

Light Sensor

wireless RX

Outside

LED

2-Input Logic

Magnetic Contact Switch

Light Sensor

LED

Inside house

Outside

Inside house

2-Input Logic

Magnetic Contact Switch

At garage door

At garage door

Current Status: Working Prototypes

Garage Door Open at Night

(wired solution)

Frank Vahid, UC Riverside

eblock system implementations

LED

LED

Splitter

Toggle

2-Input Logic

Button

Button

Service Line

Kitchen

eBlock System Implementations
  • Cafeteria Food Alert

Frank Vahid, UC Riverside

battery lifetimes
Battery Lifetimes
  • Off the shelf 9V battery
  • Power down PIC when it is idle
  • Use sampling techniques to reduce HW energy cost

Frank Vahid, UC Riverside

eblock design experiment

Completed 29%

Not Completed 71%

Completed 100%

Without eBlocks, and 3 weeks

With eBlocks, 1 hour

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

Frank Vahid, UC Riverside

conclusions and future work
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

Frank Vahid, UC Riverside