1 External Interfaces and Software Tools for Electronic Blocks Shawn Nematbakhsh University of California, Riverside Thesis Defense Dr. Frank Vahid, Chairman.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Software Development Languages and Environments. Programming languages High level languages are problem orientated contain many English words are easier.
Linking A quick overview of how to configure PulseWorx UPB devices to control each other.
Inputs: Digital and 4 configurable for Digital or 10 bit Analog Outputs:4 - 8 amp Relays or 700ma Transistors (1 PWM) 4 Line by 18 Character fully.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Mine Mapping Remote Communication.
Autonomous Helicopter: James Lyden Harris Okazaki EE 496 A project to create a system that would allow a remote- controlled helicopter to fly without user.
Advanced Workgroup System. Printer Admin Utility Monitors printers over IP networks Views Sharp and non-Sharp SNMP Devices Provided Standard with Sharp.
ABSTRACT The goal of this project was to create a more realistic and interactive appliance interface for a Usability Science class here at Union. Usability.
Chapter 7 Protocol Software On A Conventional Processor.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
CSCI 4550/8556 Computer Networks Comer, Chapter 3: Network Programming and Applications.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Web Clipping Presentation By: Alex Jacobs, Philip Kim, Nathan Po Web Clipping.
A Logic Block Enabling Logic Configuration by Non-Experts in Sensor Networks Susan Cotterell and Frank Vahid * Department of Computer Science and Engineering.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Chapter 1 Program Design
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
SM3121 Software Technology Mark Green School of Creative Media.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Series DATA MANAGEMENT. 1 Why ? Alarm/Status Notification –Remote unattended sites »Pumping stations –Pharmaceutical/Plant maintenance.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Monitoring systems COMET types MS55 & MS6 MS55/MS6 Configuration.
LabView Users Group Meeting June 20 th, 2006 Process Control Using Compact Field Point/Labview Real-time Michael Tockstein Microelectronics Technology.
MCTS GUIDE TO MICROSOFT WINDOWS 7 Chapter 14 Remote Access.
Network Topologies.
1. 2 How do I verify that my plant network is OK? Manually: Watch link lights and traffic indicators… Electronically: Purchase a SNMP management software.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
Internet Standard Grade Computing. Internet a wide area network spanning the globe. consists of many smaller networks linked together. Service a way of.
1 The SpaceWire Internet Tunnel and the Advantages It Provides For Spacecraft Integration Stuart Mills, Steve Parkes Space Technology Centre University.
Chapter 5 Networks Communicating and Sharing Resources
 Collection of connected programs communicating with similar programs to perform tasks  Legal  IRC bots to moderate/administer channels  Origin of.
Internet Addressing. When your computer is on the Internet, anything you do requires data to be transmitted and received. For example, when you visit.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Addressing Networking for Home and Small Businesses – Chapter 5.
L2000 Technical Training 7. I-Functions. Objective  After completion of this module you will be able to demonstrate an understanding of the I-Functions.
Introduction to our On-Line Self Service Center at
NetVuze Precision Network Meter standalone, easy to use, networked with data logging.
Common Devices Used In Computer Networks
 eBlock is an electronics block.  It can define as embedded system building block used in sensor based system.  Enable non-experts to build basic small-scale.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
1 Computer Networks DA Chapter 1-3 Introduction.
Basic Concepts of a Computer Network
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
AN_NAJAH INTERNATIONAL UNIVERSITY Electrical Engineering Department Internet & Mobile Controlling system “IMCS” Ala` Hmadneh Ansam Afaneh DR. RA`ED.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Switch Features Most enterprise-capable switches have a number of features that make the switch attractive for large organizations. The following is a.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
MCS-Connect Revision - 12/22/2015.
CRS Helpdesk Software Presented By The Systems House Inc.
Background Real-time environmental monitoring is a field garnering an ever-increasing amount of attention. The ability for sensors to make and publish.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Teaching Digital Logic courses with Altera Technology
Revision Unit 1 – The Online World Online Services Online Documents Online Communication Cloud Computing The Internet Internet Infrastructure Internet.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
SECURITY SYSTEM USING PIR. OVERVIEW  Introduction of Embedde system  Aim of the project  Current scenario  Limitations of Current scenario  Futurescope.
Computer Networks.  Which is the best definition of a circuit switched network?  An electric circuit where the connections get switched based on who.
This was written with the assumption that workbooks would be added. Even if these are not introduced until later, the same basic ideas apply Hopefully.
Wifi Based Menu Ordering By Samiksha Patil Shalini Yethendran Anitta Eaphen.
 Abbreviation of fourth generation wireless technology  It will provide a comprehensive IP solution where voice, data and multimedia can be given to.
Serial / Ethernet Converter - IE-CS-2TX-XRS232/485
Advanced Computer Systems
Progress leisure OCR GCSE ICT.
Computer Networks DA2402.
Network programming Lecture 1 Prepared by: Dr. Osama Mokhtar.
Presentation transcript:

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 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(V+E) (V=blocks,E=wires) because of topological sort Simulate(table T[n]): Ordered=TopologicalSort(T). for i = 1 to n do Evaluate(Ordered[i]) UpdateDisplay(Ordered[i]))

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. Programmable eBlock

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 user’s 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 const struct block blocks[NUMBLOCKS]={{-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}}; GetOrdered(table T[n]) Call Simulate(T) Keep Ordered array and output to C code Step (table Ordered[m]) for i=1 to m do eval[i] = Evaluate(Ordered[i]) output = eval[m] 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(V+E).

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 – don’t 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 don’t 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. IR Rx Block IR Beam Tx Splitter Block Pulse Gen. Block (deadline) Pulse Gen. Block (deadline--) 2-IN Logic Block (01) 2-IN Logic Block (01) Wireless Tx Block Wireless Tx Block Wireless Rx Block (to attendant) Wireless Rx Block (to user) Buzzer

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: Doesn’t require external buzzer to carry around. Disadvantage: Requires user to have mobile phone. Disadvantage: Requires phone line near parking space. IR Rx Block IR Beam Tx Splitter Block Pulse Gen. Block (deadline) Pulse Gen. Block (deadline--) 2-IN Logic Block (01) 2-IN Logic Block (01) Phone Dialer Phone Dialer

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. IR Rx Block IR Beam Tx Phone Dialer Phone Dialer Split N- Time N- Time blocks[NUMBLOCKS]={{-1,- 1,INPUT,0,0,0,0},{0,- 1,SPLITTER,0,0,0,0},{1,- 1,NCOUNTER,14,16,0,0},{1,- 1,NCOUNTER,12,128,0,0},{2,- 1,OUTPUT,0,0,0,0},{3,- 1,OUTPUT,0,0,0,0}}; Programmable eBlock

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.