Team Cassia Computer-Controlled Talking Scales System Architecture Presentation 24/9/08.

Slides:



Advertisements
Similar presentations
INDIVIDUAL PROJECT BY R.KARTHIKMANOJ
Advertisements

Read Digital input Turn on sensor board Convert to Temperature & Humidity Wake Up CC430 Sleep CC430 Timing diagram ① P.2.4
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Programmable Interval Timer
CASSIA Scales Software Operation Description.. STARTUP PROCESS Initialise hardware registers: – A/D – Serial – I2C – I/O ports. Read Settings from EEPROM.
Input/Output Ports and Interfacing ELEC 330 Digital Systems Engineering Dr. Ron Hayne Images Courtesy of Ramesh Gaonkar and Delmar Learning.
Proximity Sensor Theremin Khoa Nguyen Walter Hudson Dennis Gilbert G. Hewage Thushara.
Design Review Team Digital Burnout Senior Design Fall 2011 Analog Gauge w/ Digital Display.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Safi Seid-Ahmad Emile.
Solar Car Data Collection System Matt Boyden Rene Dupuis Ryan Lavallee 4/23/08.
ZigBee Calvin Choy David Kim Jason Chong Devin Galutira.
1 Computer System Overview OS-1 Course AA
Team BAKE Bryan Schoen Ashish Bablani Kelby Penney Evan Schurr
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
1 Color Discriminating Tracking System Lloyd Rochester Sam Duncan Ben Schulz Fernando Valentiner.
Chapter 1 and 2 Computer System and Operating System Overview
CR1000s are only one part of a data acquisition system. To get good data, suitable sensors and a reliable data retrieval method are required. A failure.
Coordinate Based Tracking System
(Voice Activated Home Control System). Project Summary Control any IR activated device –Via voice command Learnable –Learn IR Code –Learn Voice Command.
ASPPRATECH.
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.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Objectives How Microcontroller works
© Paradigm Publishing Inc. 2-1 Chapter 2 Input and Processing.
MICROPROCESSOR INPUT/OUTPUT
FINAL MPX DELIVERABLE Due when you schedule your interview and presentation.
MICRO CONTROLLER MODULE 1. Learning Objectives Name some gadgets that use microcontrollers. Define a microcontroller. Differentiate between a computer.
1 Keyboard Controller Design By Tamas Kasza Digital System Design 2 (ECE 5572) Summer 2003 A Project Proposal for.
8279 KEYBOARD AND DISPLAY INTERFACING
Group 5 – Universal Exports Mike Klockow Dan Sparks Jon Hopp Ed Sheriff.
Atmel Atmega128 Overview ALU Particulars RISC Architecture 133, Mostly single cycle instructions 2 Address instructions (opcode, Rs, Rd, offset) 32x8 Register.
Team 6 DOODLE DRIVE Alexander Curtis Peachanok Lertkajornkitti | Jun Pan | Edward Kidarsa |
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
13-Nov-15 (1) CSC Computer Organization Lecture 7: Input/Output Organization.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Chapter 7 Larger Systems and the PIC 16F873A The aims of this chapter are to introduce: The architecture of the 16F873A microcontroller; The 16F873A memory.
PPI-8255.
CAN-Bus Logger Characterization presentation Apr. 19, 2009 Elad Barzilay Idan Cohen-Gindi Supervisor: Boaz Mizrahi.
Humble Hubble Team 18 Tim Brown. Abstract The proposed project is a self-aiming telescope. This telescope will obtain its global position and the local.
8279 KEYBOARD AND DISPLAY INTERFACING
I NTRODUCTION TO PIC PROGRAMMING By : S HERIF H ARHASH.
Features of the PIC18 microcontroller - 8-bit CPU - 2 MB program memory space (internal 32KB to 128KB) bytes to 1KB of data EEPROM - Up to 4096 bytes.
بسم الله الرحمن الرحيم MEMORY AND I/O.
ECE 477 Design Review Group 5  Spring Outline Project overviewProject overview Project-specific success criteriaProject-specific success criteria.
The 8085 Microprocessor Architecture. What 8085 meant for? 80 - year of invention bit processor 5 - uses +5V for power.
Chapter Microcontroller
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Preliminary Design Review By: Alireza Veiseh Anh-Thu Thai Luai Abou-Emara Peter Tsang.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
MICROCONTROLLER INTERFACING WITH STEPPER MOTOR MADE BY: Pruthvirajsinh Jadeja ( ) COLLEGE:DIET BRANCH:EC.
8251 USART.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
TRANSMISSION LINE MULTIPLE FAULT DETECTION AND INDICATION TO EB
BITS Pilani Pilani Campus Pawan Sharma ES C263 Microprocessor Programming and Interfacing.
1. PIC ADC  PIC18F877 has 8 analog input channels i.e. port A pins(RA0 to RA5) and port E pins(RE1 and RE2). These pins are used as Analog input pins.
Ryan Massicci Alan Lee Troy Hawley Weather Meter.
CORDLESS MOUSE FEATURES BY TV REMOTE USING PIC MICROCONTROLLER
Application Case Study Christmas Lights Controller
Fan Assembly Driven by Magnetic Fields
DIGITAL CALCULATOR USING 8051
RAILWAY TRACK SNAP NOTIFICATION
Programming Boe-Bots (Part 1)
Programmable Logic Controllers (PLCs) An Overview.
Introduction to Microprocessors and Microcontrollers
Presentation transcript:

Team Cassia Computer-Controlled Talking Scales System Architecture Presentation 24/9/08

PROJECT OVERVIEW & IMPLEMENTATION Project timeline Task allocation

System architecture principles Modularity – division of work, ease of debugging Extensibility – allow for future improvements Efficiency – code re-use, emphasis on avoiding potential problems

Project plan Allocation of roles, background research Work is done by multidisciplinary pairs Emphasis on skeleton code to be completed first, to develop interfaces between modules Regular milestones for code/hardware integration Communication by Wiki (brainstorming, code, user manual development)

Team roles MemberRole Alex JarkeyTeam leader Kit Axelrod Software leaders Duncan Matheson Elisabeth MagdasDocumentation leader Michelle Noguez Cerón Hardware leaders Ryan Nguyen Michael WestIntegration leader

Timeline and task allocation

HARDWARE I/O requirements and Pin Assignments Connections, terminations and enclosure Power supply

Hardware devices Input hardware Strain Gauge sensors on the scale  will use A/D converter Serial Port input via RS232 from the PC keyboard Keypad input via the I/O ports on the board Possible On/Off switch Serial input into the Text to Speech module Output hardware LCD display  Menu and value display Hyper-terminal via RS232 Auditory output from the Text to Speech processor LEDs  purpose to be determined (debug, status)

Pin Assignments Port A RA0  Strain gauge signal Port B RB0-2  Used for the keypad column pins RB4  controls the one LED RB6 -7  Debugger for the MPLAB Port C RC1,3-5  Used for the keypad row pins RC2  Used to produce a PWM on the CCP1 if necessary RC6  USART transmission (TX) RC7  USART receive (RX)

Port D RD0-7  the LCD 8 data bits Port E RE0-2 – LCD control lines – Read/Write, Register Select signal and operation enable Pin Assignments

Port Mapping Bits Port AStrain Gauge Port B Keypad C1Keypad C2Keypad C3LED Debugging Port CKeypad R1TimerCCP1 Keypad R2 Keypad R3 Keypad R4TXRX Port DLCD data Port ELCD control

Power Supply Logic and interfacing circuits to be powered by +5V and +/- 12V DC Extension: Implement a +9V DC source from an alkaline battery for portability purposes – Strain Gauge : 5V – PIC18F452 : 5V through X2 or X9 pins – LCD : 5V – Text to Speech : 5V

Connections In the case of wires between prototyping board and Minimal PIC board, ribbon cable to reduce clutter – with pins or directly soldered Serial Port connection Other possible ideas : – Use clips or simple pin connections for initial stages for testing and debugging, and towards final stages, solder the pins together permanently

USER INTERFACE Interface software design principles Menu structure Interface hardware and enclosure

User interface - software Constraints – limited input – limited output – multiple modes – numerical entry, Factory mode Design principles – consistency – reusability – logical – accessibility

User interface – menu structure Numerical entry mode here – deactivates ability of input to affect settings

User interface – hardware Repeat button to read out last command Keypad will include Braille stickers Enclosure design: Speaker Power + Serial Insert circuit boards here Lid with LCD + Keypad

SOFTWARE Central operation loop State transition Function implementation ideas Factory functions

State transition diagram

Basic Operation Process weight samples buffer Subtract zero value Divide by value for units Display weight (or count) Process input buffer Input action? NoYes The scales effectively perform the same function for the majority of the time. With the exception of factory mode only functions, the high level functionality can be summed up in one loop. The processes shown are passed values corresponding to current operating unit and user mode. Any update of the settings is backed up in EEPROM on update.

Processing Weight Samples and Zero The samples buffer will be processed to produce a fixed point number proportional to weight only. At the most basic level the processing is an arithmetic mean but will likely develop through the use of frequency calculations. Uses function prototype: int Process_Samples (int * buffer, int sampleCount); The ‘TARE’ function will take the current processed value and set it as the relative zero point. ‘TARE’ produces a unit-independent weight value ‘currZero’. Effectively: currZero = Process_Samples(sampleBuffer, sampleCount); Meaningful usage may be: currWeight = Process_Samples(sampleBuffer, sampleCount) – currZero;

Divide by Units Divisor The units divisor and name are stored as ‘unit’ structs and can have values for: - grams - ounces - custom (for count) The pointer to struct ‘currUnit’ is updated on unit change or when the count functionality is used. The user defined unit ‘custom’ is updated during the setup of the count function. No Yes grams? ounces? count? currUnit = gram currUnit = ounce Get processed weight Number of items in basket (num) Custom.value = currWeight/num currenUnit = custom No Yes No Return to general operation

Display weight (or count) and Process input buffer The display method is defined within ‘mode’ structs UserLocal, UserRemote and Factory. The pointer currMode will point to the active user mode. Uses function prototype: char Display (struct mode* currMode, struct unit* currUnit, int currWeight); Input methods, either local and remote, are always ready and will fill an ‘input buffer’, which is progressively emptied in each basic operation iteration. Inputs will be handled by hardware as either external interrupts for keypad or RX interrupts for RS232. In the majority of cases, the input will require the program to break from basic operation and perform a settings change, such as changing the value of currUnit or currMode.

Factory functions Only CALIBRATE is interesting in the Factory functions. Some interpretations we have come up with: 1.Redefine ‘gram’ and ‘ounce’ values. 2.Redefine the upper and lower reference voltages for the ADC module. 3.Plot significant points as used by the ‘Process_Samples’ function.

QUESTIONS Thankyou for your attention.