Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Final Presentation Ka Hing Chan EE 396 Project December 8, 2006 Archimedes USB – iTASK Part 1."— Presentation transcript:

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

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

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

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

5 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

6 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

7 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

8 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

9 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

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

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

12 Design - Circuit Archimedes

13 MAX3421E - Diagram Archimedes

14 ET-ARM7 STAMP Archimedes

15 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

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

17 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

18 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

19 Packet Level Archimedes

20 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

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

22 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

23 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

24 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

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

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

27 Questions? Visit my website at: http://www2.hawaii.edu/~kahing Thank You!!! USB – iTASK Part 1 Archimedes


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

Similar presentations


Ads by Google