External Interfaces and Software Tools for Electronic Blocks - PowerPoint PPT Presentation

About This Presentation
Title:

External Interfaces and Software Tools for Electronic Blocks

Description:

Phone Relay eBlock 'Reverse' of phone dialer block takes a telephone input and outputs to an ... Disadvantage: Requires user to have mobile phone. ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 28
Provided by: snemat
Learn more at: http://alumni.cs.ucr.edu
Category:

less

Transcript and Presenter's Notes

Title: External Interfaces and Software Tools for Electronic Blocks


1
External Interfaces and Software Tools for
Electronic Blocks
  • Shawn Nematbakhsh
  • University of California, Riverside

Thesis Defense Dr. Frank Vahid, Chairman Dr.
Harry Hsieh Dr. Walid Najjar
2
eBlocks
  • What are eBlocks?
  • Single-function blocks that snap together to
    build useful simple systems.
  • Each block contains its own microcontroller to
    process data.
  • Three types of blocks Input, output,
    computation.
  • Current protocol completely binary YES/NO.
  • eBlock Project Goals
  • Allow construction of simple monitor/control
    systems in a short period of time.
  • Allow inexperienced users to build simple systems
    that would otherwise be impossible.

3
Overview
  • eBlock External Interfacing
  • Internet
  • Telephone
  • PDA
  • eBlock Software Tools
  • eBlock Simulator
  • Programmable eBlock
  • Sample Application
  • Parking Lot Monitor

4
eBlock External Interfacing
  • eBlock systems designed to be entirely
    self-contained.
  • Sensors, buttons, lights, buzzers, etc all
    implemented as stand-alone eBlocks
  • Would be useful to interface with external
    non-eBlock systems.
  • Devices and technologies already exist to perform
    tasks that would be inefficient to implement as
    stand-alone eBlocks.
  • Three interfaces created Internet, Telephone,
    PDA.

5
Network eBlock
  • Intended for long-range monitoring of eBlock
    systems.
  • Takes input from eBlock system, output to
    ethernet interface.
  • On startup gets IP of listening host gateway
    networking information from user.
  • Constantly streams UDP packets with eBlock status
    to listening host.

Network eBlock
6
Network eBlock
  • Listening socket program on host defines
    behavior.
  • Ships with application outputting date/time of
    input change to web page.
  • Users can define own behavior with C API.
  • Many possible applications
  • Record and display every packet received.
  • Send email when YES packet is received.
  • Output packet data to IRC chat channel.
  • Any network application required completely
    customizable.

7
Phone Dialer eBlock
  • Takes eBlock input, on startup is configured with
    a target telephone number. Connects to telephone
    line.
  • When YES packet is received dialer opens line
    and calls target number, waits 30 seconds, and
    hangs up.
  • Intended for remote emergency alerts such as
    intrusion or disaster detection.

Dialer eBlock
8
Phone Relay eBlock
  • Reverse of phone dialer block takes a
    telephone input and outputs to an eBlock system.
  • User dialing in enters code to stream YES or
    NO packets to system. Packets sent continuously
    until next call.
  • Intended for remote control of eBlock systems
  • Sample application toggling lights in house
    while on vacation to deter theft.

Phone Relay eBlock
9
Palm Logger
  • Palm PDA application used to record history of
    input changes.
  • Data saved on Palm system in text file for later
    analysis.
  • eBlock input fed through converter device to
    translate TTL to RS232 for Palm use.
  • Solves problem of automatic monitoring of eBlock
    status.

10
eBlock Software Tools
  • eBlock External Interfacing
  • Internet
  • Telephone
  • PDA
  • eBlock Software Tools
  • eBlock Simulator
  • Programmable eBlock
  • Sample Application
  • Parking Lot Monitor

11
eBlock Simulator
  • eBlock simulator allows drag-and-drop layout and
    testing of eBlock systems.
  • Simulation-based testing of eBlock systems
    without physical construction, saving
    construction time.
  • Input, computation, and output blocks supported.
  • Input blocks simulated with user input toggling
    state.
  • Output blocks simulated with visual alerts.
  • Computation blocks display current state.
  • Stepwise simulation or real-time.

12
eBlock Simulator
  • As design is layed out, table keeps track of
    blocks and connections. Cycles disallowed.
  • Simulation algorithm
  • Evaluate() produces block output based on inputs
    block type. UpdateDisplay() changes display to
    reflect output.
  • Running time O(VE) (Vblocks,Ewires) because
    of topological sort

Simulate(table Tn) OrderedTopologicalSort(
T). for i 1 to n do Evaluate(Orderedi)
UpdateDisplay(Orderedi))
13
eBlock Simulator
  • eBlock Simulator widely used.
  • Basis for current version in use by over 500
    people.
  • Allows worldwide eBlock use without distributing
    sets of physical blocks.
  • Simulator useful for testing and feedback.
  • Allows eBlock designers to judge user
    understanding of blocks.
  • Able to test and change block customization
    without physical construction. Ex 2-input logic
    user interface.
  • Lack of cycles a limitation certain systems
    cannot be simulated.
  • Software simulator generally well-liked by users.
  • What if physical systems could be built using the
    simulator interface?

14
Programmable eBlock
  • Idea Use simulator to layout eBlock system.
    Replace multiple computation blocks with a single
    custom block synthesized to perform the same
    exact function for implementation.

15
Programmable eBlock Tool
  • Design laid out using simulator drag-and-drop
    interface.
  • Different input blocks replaced with INPUT
    point.
  • Output blocks replaced with OUTPUT point.
  • Represent input and output points into
    programmable block.
  • Once design completed, SYNTHESIS button is
    clicked.
  • Ordered table created from users design.
  • C struct representation copied into code file
    along with static code to step through table.
  • File is compliable using PICC to program onto a
    microcontroller without any code needing to be
    written by user.
  • Usable by advanced users or engineers without
    programming experience.

16
Programmable eBlock Tool
  • Algorithm
  • GetOrdered runs on PC, produces ordered
    representation in C.
  • Step runs on microcontroller once each time a
    packet is received or timeout occurs. Both O(VE).

GetOrdered(table Tn) Call Simulate(T)
Keep Ordered array and output to C code Step
(table Orderedm) for i1 to m do
evali Evaluate(Orderedi) output
evalm

const struct block blocksNUMBLOCKS-1,-1,INPUT
,0,0,0,0,0,-1,SPLITTER,0,0,0,0,1,-1,TOGGLE,0,0
,0,0,1,-1,INVERTER,0,0,0,0,3,2,OR,0,0,0,0,4,
-1,OUTPUT,0,0,0,0
17
Programmable eBlock
  • After C code generation, PIC microcontroller can
    be programmed.
  • Zero programming knowledge required by user
    simply compile and download to chip.
  • Programmable block implemented as enclosure with
    ZIF socket.
  • Allows easy chip placement after programming.
  • Problem One UART per microcontroller.
  • Separate microcontroller needed for each set of
    inputs and outputs included.
  • Extra microcontrollers serve only to receive
    input and send output.
  • Communicate with single master microcontroller to
    perform all computation.

18
Virtual Blocks
  • Blocks in programmable eBlock tool do not
    necessarily have to exist at physical level.
  • Blocks implemented in C code for programmable
    block.
  • No need for stand-alone eBlock implementing the
    same function.
  • Size of virtual eBlock library does not have to
    be limited.
  • Selecting a virtual block from library as simple
    as selecting from menu and dragging.
  • Fine-grained functional blocks can be created
    without worry of bloat.
  • Certain blocks requiring user customization are
    easier to set by computer. Ex dial-switch timer.
  • Programmable blocks can be a mix of actual
    physical blocks and virtual blocks which exist
    only in software.

19
Virtual Blocks
  • Two additional blocks created for programmable
    eBlock tool.
  • Sequencer block used for pattern matching of
    previous input.
  • Eight previous inputs represented with 1, 0,
    .
  • Ex 101 outputs YES only if previous
    input was YES, previous to that NO, previous
    to that YES.
  • Replaces gate-level pattern matching.
  • N-Timer block used to monitor time with
    continuous YES packets received.
  • Value N from 1-59,999 specified by user
  • If only YES packets have been received for N
    continuous
  • seconds then YES is outputted for one
    timeout period
  • (2 secs).

20
Virtual Block Applications
  • Sequencer
  • Can be used for passcode systems.
  • Also useful for error correction dont sound
    alarm unless motion sensor detects several
    consecutive YES inputs. First input may be false
    alarm.
  • N-Timer
  • Useful for systems that perform long-range
    timing.
  • Difficult for users to easily specify large
    periods of time on-block Dial and DIP switches
    dont work well for customizing large values.
  • Best solution is to specify using computer
    simply type desired value in.

21
Sample Application
  • eBlock External Interfacing
  • Internet
  • Telephone
  • PDA
  • eBlock Software Tools
  • eBlock Simulator
  • Programmable eBlock
  • Sample Application
  • Parking Lot Monitor

22
Parking Lot Monitor
  • Meter-free time-limited spaces usually monitored
    manually.
  • Chalk tire marks used to determine time elapsed.
  • Labor-intensive Monitor must constantly walk
    around lots.
  • Automate parking lot monitoring using
    electronics.
  • Keep track of time elapsed in parking space.
  • Wirelessly alert car driver several minutes
    before expiration.
  • Wirelessly alert lot monitor at expiration.

23
Parking Lot Monitor from Traditional eBlocks
  • Infrared receiver / transmitter placed across
    parking space.
  • Logic blocks set to trigger when pulse goes low
    (time exceeded) and infrared beam is broken (car
    still in space).
  • Two extended pulse generators performing timing
    of deadline time and deadline time minus 5
    minutes so driver gets chance to move car before
    time expires.

Buzzer
Buzzer
IR Beam Tx
Wireless Rx Block (to attendant)
Pulse Gen. Block (deadline)
2-IN Logic Block (01)
Wireless Tx Block
Wireless Rx Block (to user)
Pulse Gen. Block (deadline--)
2-IN Logic Block (01)
Wireless Tx Block
IR Rx Block
Splitter Block
24
Parking Lot Monitor with Dialer
  • Dialer used to send alerts to user and monitor.
  • Advantage Replaces six wireless receiver,
    transmitter, and buzzer blocks with two dialer
    blocks.
  • Advantage Not range-limited like wireless
    eBlocks.
  • Advantage Doesnt require external buzzer to
    carry around.
  • Disadvantage Requires user to have mobile phone.
  • Disadvantage Requires phone line near parking
    space.

IR Beam Tx
Pulse Gen. Block (deadline)
2-IN Logic Block (01)
Phone Dialer
Pulse Gen. Block (deadline--)
2-IN Logic Block (01)
Phone Dialer
IR Rx Block
Splitter Block
25
Parking Lot Monitor with Programmable eBlock
  • Replaces five blocks used for timing with a
    single programmable eBlock.
  • Programmable block created with splitter and two
    N-Timers.
  • Advantage Five to one block reduction.
  • Advantage Easier to design and understand for
    user.

N- Time
IR Beam Tx
Split
N- Time
Phone Dialer
Programmable eBlock
IR Rx Block
blocksNUMBLOCKS-1,-1,INPUT,0,0,0,0,0,-1,SPL
ITTER,0,0,0,0,1,-1,NCOUNTER,14,16,0,0,1,-1,NCO
UNTER,12,128,0,0,2,-1,OUTPUT,0,0,0,0,3,-1,OUTP
UT,0,0,0,0
Phone Dialer
26
Parking Lot Monitor from Components
  • Parking lot monitoring system also implemented
    with traditional components.
  • With schematic from web, construction required
    8.5 hrs compared to 1.25 hrs for traditional
    eBlock construction.
  • Microcontroller programming required for
    component version, but not necessary for eBlock
    construction. Component version not buildable for
    non-programmers.
  • Component version allows more flexibility, but
    eBlock design meets all requirements in this case.

27
Conclusion and Future Work
  • Conclusion
  • eBlocks have been expanded to use external
    interfaces, allowing a wide range of powerful new
    systems to be created.
  • eBlock software tools were created that are being
    built on and improved today. These tools allow
    large scale use and experiment on eBlocks, and
    are the basis for eBlock synthesis.
  • Future Directions
  • Expand the library of virtual blocks to include
    many more functions useful for systems.
  • Improve the synthesis tool to perform advanced
    optimizations such as design minimization and
    partitioning across multiple blocks.
Write a Comment
User Comments (0)
About PowerShow.com