Final Presentation Ka Hing Chan EE 396 Project December 8, 2006 Archimedes USB – iTASK Part 1.

Slides:



Advertisements
Similar presentations
JED Microprocessors Pty Ltd Presenting the JED T430 low-cost Projector Controllers Nov 22nd, 2009.
Advertisements

PROGRAMMABLE PERIPHERAL INTERFACE -8255
1 iHome Automation System Home Automation System Team: Million Dollar Contingency Regiment Adam Doehling Chris Manning Ryan Patterson.
LOGO Lab Supervisor – Dr. WH Lau EE3271 Design Laboratory.
Lab7: Introduction to Arduino
TK2633 Introduction to Parallel Data Interfacing DR MASRI AYOB.
I/O Unit.
SHIFT REGISTERS: CONVERTING BETWEEN SERIAL AND PARALLEL DATA Mark Neil - Microprocessor Course 1 Serial versus Parallel Data Transfers.
Lecture 8: Serial Interfaces
ITASK Final Presentation May 3, 2007 EE 296 Kazuki Morishita Archimedes.
Critical Design Review Ka Hing Chan EE 396 Project November 17, 2006 Archimedes USB – iTASK Part 1.
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
Serial Peripheral Interface (SPI)
Proposal Presentation EE 396 Project September 9, 2006 Archimedes USB – iTASK Part 1.
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.
Pyxis Aaron Martin April Lewis Steve Sherk. September 5, 2005 Pyxis16002 General-purpose 16-bit RISC microprocessor bit registers 24-bit address.
ILAB (iTASK Module) Preliminary Design Review EE 496 March 3, 2007 Archimedes.
ASPPRATECH.
18 - Winter 2003 EE EE 766 Computer Interfacing and Protocols 1 USB (Universal Serial Bus) Need for “Plug and Play” capability for PC peripherals outside.
Microcontroller: Introduction
Progress Presentation Final Year Project Air-Mouse for Windows/Linux PC Colin Grogan
Welcome to Workshop 88’s Tiny85 Class Please download Tiny core libs from: (for Arduino 1.0, not 1.5!) Unzip and.
May 8, The EASY Way to Create I/O Devices John Hyde Intel Corporation intel.com.
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
ECE 265 – LECTURE 12 The Hardware Interface 8/22/ ECE265.
Silicon Labs ToolStick Development Platform
Group Members: Brad Cox Kevin Burkett Tera Cline Arthur Perkins CS10 Battery Management System.
Software; Nature, Capabilities and Limitations: describe the need for interfacing with peripherals storage devices, input and output devices and display.
Wireless Sensor Monitoring Group Members: Steven Shih (ECE) Brian Reilly (ECE) Dan Eke (COMPE) Sponsored by:
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
Embedded System Design Laboratory October 4, 2002Stanford University - EE281 Lecture #3#1 Lecture #3 Outline Announcements AVR Processor Resources –UART.
I/O Interfacing A lot of handshaking is required between the CPU and most I/O devices. All I/O devices operate asynchronously with respect to the CPU.
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
Project D1427: Stand Alone FPGA Programmer Final presentation 6/5/10 Supervisor: Mony Orbach Students: Shimrit Bar Oz Avi Zukerman High Speed Digital Systems.
Network and Systems Laboratory nslab.ee.ntu.edu.tw se.
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 5 Report Tuesday 29 th July 2008 Jack Hickish.
Today: Student will be able to describe the basics of their class and computing Tell me about you and how you use computers. Lesson 1 Slide 1.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
Mid-Term Presentation October 5, Team Members Charlie Mraz EE Team Leader Analog Design PCB Layout Allen Joiner EE Microprocessor Design Power Supply.
 Project overview  Block diagram  Design challenges  Individual contributions  Project demonstration  Questions / discussion.
KEYBOARD INTERFACING Keyboards are organized in a matrix of rows and columns The CPU accesses both rows and columns through ports. ƒTherefore, with two.
بسم الله الرحمن الرحيم MEMORY AND I/O.
Lesson 2 Component Overview Core Hardware Fundamentals.
SHIFT REGISTERS: CONVERTING BETWEEN SERIAL AND PARALLEL DATA Mark Neil - Microprocessor Course 1 Serial versus Parallel Data Transfers.
Embedded Systems Introduction. Microprocessor building blocks 1. ALU (Arithmetic Logic Unit): The ALU is a sequential logic circuitry that is intended.
10/15: Lecture Topics Input/Output –Types of I/O Devices –How devices communicate with the rest of the system communicating with the processor communicating.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
Microcontrollers JULES CALELLA. Microcontrollers vs Microprocessors  Microprocessors – do not contain RAM, ROM, I/O  Microcontrollers – The whole package.
Networked Embedded Systems Pengyu Zhang & Sachin Katti EE107 Spring 2016 Lecture 4 Timers and Interrupts.
Networked Embedded Systems Pengyu Zhang EE107 Spring 2016 Lecture 8 Serial Buses.
Final Design Review By: Alireza Veiseh Anh-Thu Thai Luai Abou-Emara Peter Tsang.
Arduino.
Voice Controlled Robot by Cell Phone with Android App
8255 Programmable Peripheral Interface
PICK N PLACE ROBOTIC ARM AND MOVEMENT CONTROLLED BY ANDROID WIRELESSLY
68HC11 Interrupts & Resets.
Project Title EVM IN 8051 Under the Guidance of Submitted by.
PC Mouse operated Electrical Load Control Using VB Application
USING TV REMOTE AS A CORDLESS MOUSE FOR THE COMPUTER
Remote Controlled Smart Socket
Multicultural Social Community Development Institute ( MSCDI)
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
PICK N PLACE ROBOTIC ARM AND MOVEMENT CONTROLLED BY ANDROID WIRELESSLY
Programmable Peripheral Interface
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.
Command and Data Handling
Course Code 114 Introduction to Computer Science
Presentation transcript:

Final Presentation Ka Hing Chan EE 396 Project December 8, 2006 Archimedes USB – iTASK Part 1

Overview Microprocessor USB Client PC USB HOST HUB Keyboard USB Client PC Archimedes Mouse Head Tracker Speech Recognizer

Goals Need: Disabled People Standard PC and Macs Most solutions are clumsy and only work with particular software and hardware Archimedes

Goals Solution: Trick the PC by making alternative keyboard and mouse devices look exactly like a standard keyboard and mouse Archimedes

Goals Requires: Translation of alternative such as speech recognition and head or eye trackers into keyboard and mouse packets that feed in through USB port as a standard human interface device (HID) messages Archimedes

Constraints All of the user interface processing is done outside of the target PC The solution must be totally portable Low Power Consumption Mustn’t become obsolete Must be virus proof Design must run forever Archimedes

Constraints Archimedes Complete Design of iTASK requires three USB interfaces The microprocessor also has to do real time Natural Interactor Processing Estimate of coding cost was in order of $20,000

Constraints Archimedes Solution: Off load USB processing to dedicated hardware and fireware iTASK uses 3 MAX3421E chips and an ARM7 microprocessor The microprocessor has minimal overhead for managing the USB spent most of its time doing NIP

Progress Archimedes Learning how to use/program USB interface chips uses miniature surface mount Lots of research into how to do surface mount systems without expensive equipment

Progress Archimedes Several Options: Hand soldering under microscope Hot air gun Temperature controlled toaster oven Skillet Applying solder paste

Main Goal Concentration is only on getting the microprocessor and the USB to communicate with the PC. Microprocessor USBPC Archimedes

Design - Circuit Archimedes

MAX3421E - Diagram Archimedes

ET-ARM7 STAMP Archimedes

Design USB Peripheral/Host Controller with 26MHz SPI Interface Complies with USB Specification Revision 2.0 Interrupt Output Pin Allows Polled Interrupt-Driven SPI Interface Archimedes

Design Archimedes MicroprocessorUSB P0.3 PC P0.4 P0.5 P0.6 P0.7 Interrupt SCK0 MISO0 MOSI0 SSEL0

MAXIM MAX3421E PINS Archimedes PINNAMEINPUT/OUTPUTFUNCTION 1GPIN7Input 2VLInputConnect to 1.4V to 3.6V logic-level power 3, 19GNDInputGround 4 to 11GPOUT0-9Output 12RESInputDevice Reset 13SCLKInputSPI Serial-Clock Input 14SSInput 15MISOOutputSPI Serial-Data Output 16MOSIInput or OutputSPI Serial-Data Input 20D-Input/OutputUSB D- Signal 21D+Input/OutputUSB D+ Signal 23VccInputConnects to a positive 3.3V 26 to 32GPIN0-6Input

MAX3421E SPI COMMAND SPI Command Byte B7B6B5B4B3B2B1B0 Reg4Reg3Reg2Reg1Reg00DIRACKSTAT* STATUS BITS (PERIPHERAL MODE) B7B6B5B4B3B2B1B0 SUSP IRQ URES IRQ SUDAVI RQ IN3BAV IRQ IN2BAVIR Q OUT1DAVI RQ OUT0DAV IRQ IN0BAV IRQ Archimedes

Packet Level Archimedes

Programming Software KEIL C Compiler MircoVision3 V3.20a Started Using the evaluation software that came with the processor Able to download the demo program onto the processor. Archimedes

Coding // USB functions void std_request(void); void class_request(void); void vendor_request(void); void send_descriptor(void); void send_keystroke(BYTE); Archimedes

Coding void feature(BYTE); void get_status(void); void set_interface(void); void get_interface(void); void set_configuration(void); void get_configuration(void); Archimedes

Coding void wreg(BYTE reg,BYTE val); void wregAS(BYTE reg,BYTE val); BYTE rreg(BYTE reg); BYTE rregAS(BYTE reg); void readbytes(BYTE reg, BYTE N, BYTE *p); void writebytes(BYTE reg, BYTE N, BYTE *p); Archimedes

Problems Hardware or Software The parts were really small The USB B port came in small so Neil and I had to solder wires to the PCB board Archimedes

Outstanding Problems Doing lots of things the day before the project is due Time management was bad Either the hardware or Software Archimedes

Future Improments Time management Start things earlier Need teammates Order parts earlier Work on the coding more Archimedes

Questions? Visit my website at: Thank You!!! USB – iTASK Part 1 Archimedes