Automated Coffee Machine Group Members: Billy Whitehouse Matthew Bitterman Jamie Cochran code.google.com/p/automated-coffee-machine/

Slides:



Advertisements
Similar presentations
INPUT-OUTPUT ORGANIZATION
Advertisements

Input and Output CS 215 Lecture #20.
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Programmable Interval Timer
Input/Output Organization Asynchronous Bus
In this presentation you will:
EUT 1040 Lecture 10: Programmable Logic Controllers.
Travis Reed Todd Hummel Kwan-Truc. Concept USB 1.1 SPI b.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
Basic Input/Output Operations
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
COMPUCCINO Kalani Rathnabharathi Vithya Shanmugam Robert Armstrong Aaron Kulp.
INPUT/OUTPUT ORGANIZATION INTERRUPTS CS147 Summer 2001 Professor: Sin-Min Lee Presented by: Jing Chen.
Microcontroller: Introduction
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
INPUT-OUTPUT ORGANIZATION
1 © Unitec New Zealand Embedded Hardware ETEC 6416 Date: - 10 Aug,2011.
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
EMBEDDED WEB SERVER. CONTENT: 1.ABSTRACT 2.INTRODUCTION TO EMBEDDED SYSTEMS 3.INTRODUCTION TO EMBEDDED WEB SERVER 4.BLOCK DIAGRAM 5.POER SUPPLY 6.COMPONENT.
ECE/CS-352: Embedded Microcontroller Systems Embedded Microcontroller Systems.
The Microcomputer System In this presentation you will: Investigate the microprocessor Title Page.
ECE 477 Design Review – Spring 2010 Team 15. Team Members.
DEC0905 Remote Control of Home Appliances ABSTRACT The objective of this project is to enable users to remotely control home appliances and systems over.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Input/Output mechanisms
Input and Output Computer Organization and Assembly Language: Module 9.
1 SERIAL PORT INTERFACE FOR MICROCONTROLLER EMBEDDED INTO INTEGRATED POWER METER Mr. Borisav Jovanović, Prof.dr Predrag Petković, Prof.dr. Milunka Damnjanović,
MICROPROCESSOR INPUT/OUTPUT
MOBILE OPERATING ROBOT ON EMBEDDED SYSTEM
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Κώστας Γρηγορίου Sales Engineer Ιούνιος 26, 2007 Connect Your Serial Device to Ethernet ADAM – 4570 / 71 / 77 / 79.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Autonomous Helicopter James LydenEE 496Harris Okazaki.
UNION COLLEGE WEATHER STATION Brian Kruppenbacker Jeffrey D’Alessandro Advisor: Professor Traver.
Interactive CARA Simulation Prof. Insup Lee. Hierarchical EFSM Specification for CARA.
VARAN Bus Presentation 1 / 27 The VARAN BUS.
Computer Architecture Lecture 2 System Buses. Program Concept Hardwired systems are inflexible General purpose hardware can do different tasks, given.
Timer Timer is a device, which counts the input at regular interval (δT) using clock pulses at its input. The counts increment on each pulse and store.
Microprocessors For a microprocessor to give a working microcomputer system, which can be used for control tasks, additional chips are necessary, e.g.
Chapter 4 MARIE: An Introduction to a Simple Computer.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
C3 confidentiality classificationIntegrated M2M Terminals Introduction Vodafone MachineLink 3G v1.0 1 Vodafone MachineLink 3G Connect on demand Feature.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
IT3002 Computer Architecture
1 Chapter Overview Modems The Internet and Web Browsers.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Lecture 3 CSE 341 – Microprocessors Lecture 3 Md. Omar Faruqe UB 1228
Voice Controlled Home Automation System Group 13 Zhe Gong Hongchuan Li.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Final Design Review By: Alireza Veiseh Anh-Thu Thai Luai Abou-Emara Peter Tsang.
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
WATER LEVEL INDICATOR AND AUTOMATIC MOTOR SWITCHING SYSTEM
Application Case Study Christmas Lights Controller
Basic Computer Organization and Design
SCADA for Remote Industrial Plant
How SCADA Systems Work?.
DIGITAL CALCULATOR USING 8051
OBJECTIVE AND FEATURES:
RAILWAY TRACK SNAP NOTIFICATION
PLC’s Are ... Similar to a Microcontroller: Microprocessor Based
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
8253 – PROGRAMMABLE INTERVAL TIMER (PIT). What is a Timer? Timer is a specialized type of device that is used to measure timing intervals. Timers can.
Chapter 13: I/O Systems.
Presentation transcript:

Automated Coffee Machine Group Members: Billy Whitehouse Matthew Bitterman Jamie Cochran code.google.com/p/automated-coffee-machine/

Main Purpose This is a SpecC implementation of a fully automated coffee machine. The main features include: built-in grinder, automatic water filler, auto-on clock, auto-off timer. A creative component will investigate the use of Ethernet controller IP to add remote access to the coffee machine.

Project Status Part A – Create Website: Completed – System Modeling: Completed – Refinement: Completed Part B – Create SystemC Model: In-Progress – Creative Component: Completed

Top Level Diagram

Coffee Machine Components Main Controller Clock Controller LCD Controller

Main Controller The main controller contains: – The main state machine – The water flow control – The grinder control

Main Controller Chart

Main State Machine Begin brewing when the “On” event is triggered in the clock controller Initiate the brewing process (signals the grinder controller and water flow controller) When the water flow and grinder are complete start the water heater When the water heat process completes signal that the brewing is done (will start auto-off timer Keep the coffee pot burner on until the “Off” event is triggered from the clock controller

Main State Machine Diagram

Water Flow and Grinder Control The water flow controller uses the cups to brew and water level inputs to control the water flow mechanism. Once the water level equals the number of cups to brew the water flow mechanism is disabled. The grinder uses the cups to brew, brew strength, and coffee grounds weight inputs to control the grinder. The formula to calculate coffee ground weight (in tenths of ounces) is as follows: cups_to_brew * 2 * brew_strength where brew_strength is 1-weak, 2-regular, 3-strong For example, to brew 6 cups at regular strength the amount of coffee grounds would be: 6*2*2 = 24 or 2.4oz (about 4.8 tablespoons)

Clock Controller Handles all timing related functions – System Time (Clock) – Auto-On feature – Auto-Off safety feature Triggers the LCD to update display information

Updating System Time The main dial can be set to edit_time value to change the system time When the update hour/minute event is triggered, the hour/minute is incremented with the minute being modulus 60 and hour modulus 24

Updating Auto-On Time The main dial can be set to edit_auto_on value to change the auto-on time When the update hour/minute event is triggered, the hour/minute is incremented with the minute being modulus 60 and hour modulus 24

Updating Auto-Off Time The main dial can be se to edit_auto_off value to change the auto-off time When the update minute event is triggered, the minute is incremented with the minute being modulus 60 When the update hour event is triggered the hour is incremented with the hour modulus 7 (this makes the auto-off time a maximum of 7 hours)

Clock Control Functionality If the edit_time/auto_on/auto_off bit is asserted, go to the corresponding state and wait for the update_hour/minute signals to toggle If the auto_on_en bit is set, go to the corresponding state and wait until system_time == auto_on_time Once equivalent, notify auto_on

Clock Control Functionality (cont.) Once in the run_state, wait until brew_done triggers or on_off deasserts In the auto_off state, a down counter is loaded with the auto_off time in seconds shuts the machine off when the counter equals zero. Return to the idle_state until more coffee is needed (approx. 30 min. for engineers)

Clock Control State Machine

LCD Control Actual hardware would require an LCD display to present the 4 digit time. For the SpecC models we implemented a display driver which updates the terminal window with the user interface status. Updates the display with the selected time (system time, auto-on time, or auto-off time) Displays the selected cups to brew Displays the selected brew strength Displays the state of the coffee machine (brewing, on, off)

Example Displays Time: 12:30 PM Set Auto On Cups: 1 Strength: Regular Status LED: Off Input:hour 2 Time: 12:00 PM Off Cups: 1 Strength: Regular Status LED: Off Input: Time: 12:13 PM On Cups: 12 Strength: Strong Status LED: On Brewing Status Grinder: On Water Flow: Off Water Heater: Off Input: Time: 12:16 PM On Cups: 12 Strength: Strong Status LED: On Brewing done. Warming coffee pot. Input:main 4

Coffee Machine Testbench The testbench has been created. It includes the models: – grinder mechanism (coffee ground weight sensor) – water flow mechanism (water level sensor) – water heating mechanism – main dial control – cups dial control – strength dial control – hour/minute buttons The testbench is controlled by commands in the terminal. Outputs from the DUT control the mechanical testbench components which in turn report data from their sensors. At the input prompt the valid commands are: main # – 0: Set Clock – 1: Set Auto-On – 2: Set Auto-Off – 3: Off – 4: Auto-On Enabled – 5: On cups # – 1-12 strength # – 1: Weak – 2: Regular – 3: Strong hour # – will trigger the update_hour event the given # of times minute # – Will trigger the update_minute event the given # of times exit – exit the simulation

Specification Model Connectivity

Specification Model Simulation The specification model was simulated with stimulus that verifies the functionality of: Setting the system clock, auto-on clock, and the auto- off time Running with auto-on enabled Waiting for auto-off time to be reached Setting number of cups to brew and the brew strength Initiating brew process with the On dial state Turning off the machine with the Off dial state

Architectural Exploration We chose to look at three processing elements for the architectural refinement: Motorola 68HC12 Motorola DSP56600 Hardware Standard

Processing Element Allocation Based on the computations, memory usage, and number of connections of each block we decided to allocate the HC12 processing element to the main controller block. The HC12 micro-controller is designed for automotive and home appliance electronics. This device will best fit the hardware needs for the main controller. The clock controller and lcd controllers require much more processing power since they perform more computations and require much more memory. Therefore, the Motorola DSP56600 processing element will be allocated to those blocks.

Architectural Model The behavioral and variable partitioning based on the architectural exploration resulted in the following architectural model Waitfor statements were added to the SpecC behaviors to add computation timing.

Architectural Model Simulation The architectural model was simulated with the same stimulus as the specification model. The architectural model processing allocation looks like and design quality reports are shown below:

SystemC Model A SystemC model will be created for the Automated Coffee Machine clock controller.

Creative Component The Creative Component will investigate the use of Ethernet IP to add remote control to the automated coffee machine. Requirements Provide a web interface which gives transparent access to the machine's controls The Ethernet IP must be able to communicate of the internet via the TCP/IP protocol with at least 10Mbps (minimum speed since 100BASE-T is more the standard) data transfer rate The packets will be decoded and the coffee machine commands will be extrapolated by the packet decoder. Such information includes: – clock updating – coffee machine controls (cups to brew, strength, and main controls) A packet encoder will generate packets to be sent across the internet to the remote user with the following information: Current time, auto-on time, auto-off time, cups to brew value, strength value, and current state. Manufacturer provided MAC address

Ethernet Subcomponents Ethernet Driver Ethernet Controller Packet Decoder Packet Generator

Ethernet Driver The Ethernet driver is responsible for taking the data and transmitting it according to the Ethernet protocol. The means transmitting the data at the right frequency but also the bus voltage levels. The protocol would be handled between the Ethernet controller and the packet generator. The voltage levels for the bus could be integrated into the RJ-45 jack. If the right RJ-45 jack is included in the design, the transformers as well as transmit/receive or activity/link LED's are integrated and won't have to be designed into the circuit.

Ethernet Controller The ethernet controller would be a specialized piece of hardware, such as Microchip's ENC28J60. There are many devices like this on the market with either a parallel or serial interface. They typically have an interrupt or wake-on-LAN (WOL) pin that alerts the microcontroller that activity has occurred. They also contain some on-chip memory for data coming or going out across the ethernet bus.Microchip's ENC28J60

Packet Decoder The packet decoding would have to be a very specialized behavior or module that would monitor the ethernet controller. Once the ethernet controller interrupted the packet decoder, it would read the data out of the buffer on the ethernet controller and decode the data packets and make the necessary changes to the coffee machine's setup. Since the ethernet controller would strip off all parts of the frame except the payload, the decoder would need to just parse the payload from the ethernet frame and write the new data to the variables.

Packet Generator The packet generator is what would be running the web interface. This would send the sensor data or current setup to the user's web browser where they would be able to click buttons or make their selection to what they want the machine to do. Once the user clicks the submit button or something of the like, the data would get sent back to the ethernet controller which would then alert the packet decoder via interrupt or WOL. Since the current setup has very minimal variables, the payload would have to utilize data padding to meet the 46-byte minimum payload transmission specified by

Tasks to Complete Simulate the SystemC clock controller model.

Questions/Resources Please with any Visit the project webpage at: machine/ or through WebCT machine/