Performed by:Shahaf Yaron Ezra Ehud Vardi Instructor: Boaz Mizrachi
Overview Project Goals Mechanical design Development stages- problems and solutions Communication protocol Demo Summery and conclusions
Project Goals Mechanical design Learning PIC24F & MPLAB IR Communication PIC-PC PC Application on Windows platform
Mechanical Design Design with Google SkecthUp. Design resolution: 1 mm. Design by the component's datasheets. Most of the design effort – Z axis. PIC in the center of PCB. Mockup generated from the design. Mockup
Development Stages Stage 1: PIC – PC via USB-IR dongle Chosen Implementation: IrCOMM 9-wired-cooked protocol Microchip stack PC with USB-IR dongle Software based on MSDN libraries
Stage 2: PC – PC via USB-IR dongle Step of debugging : Establish connection and sending file successfully Analyze all the structs that being transferred Compare the PC-PC structs to the PC-PIC structs
Development Stages Stage 3: PIC – PC via PDA with IrCOMM Chosen Implementation: IrCOMM 9-wired-cooked protocol at first 3-wire latter Microchip stack PDA as USB-IR dongle
Development Stages Stage 4: PIC – PC via PDA with UART-IrDA Chosen Implementation: UART –IrDA protocol PDA as USB-IR dongle
Protocol Properties UART 8-N-1 IrDA Stop&Wait, P2P CRC-CCITT – hardware implementation Fixed Packet Size :60 bytes Effective BaudRate : ~8500 [bit/sec] Exclude : CRC,ack/nck 4 bytes -CRC55 bytes - Data1 byte-header Packet structure
Supported Commands שםפירוטקוד קבלת מידעבקשת מידע מן ה - PDA. ‘d’ קבלת סטאטוס בקשת סטאטוס מן ה - PDA. ‘s’ סיום תקשורתשליחת פקודת יציאה ממצב תקשורת ל - PDA. ‘e’
Sequence Diagram: PDA (server)
Sequence Diagram : PC (client)
Presentation GUI API Noises and disruptions Results
Summery & Conclusions From idea to implementation HW and SW integration Alternative ways to solve problems Good practice for the “Real World” Never give up !
Appendix
Communication Packets שם החבילה header פירוטאורך ((byte תחילת זרימת מידע ‘A’ תשלח לפני חבילות המידע, מכילה את מס ' הבתים העתידים להישלח חבילת מידע 'D''D' מכילה מידע סיום זרימת מידע ‘A’ תשלח בסוף שליחת חבילות המידע, לאחריה המערכת ממתינה לקבלת הפקודה הבאה ack/nck ללא ack/nck- אישור על קבלת חבילת מידע.3 סטאטוס 'S''S' שולחת את הסטאטוס העדכני של המערכת סיום תקשורת ‘E’ לאחר שליחת חבילה זו, המערכת מתנתקת ויוצאת מהפונקציה שגיאה ‘R’ חבילה זו נשלחת במידה הפקודה שהתקבלה אינה תואמת לסט הפקודות או במקרה וערוץ התקשורת רועש