1 / 27

Mini Control System Final Presentation

Mini Control System Final Presentation. Performed By: Yaron Adler Supervised By: Boaz Mizrachi. The Previous Project. Multi-Sensors Personal Digital Assistant (PDA) By: Aviv Rosenberg & Ben-Ami Zilber. Project Goals. Implementing a driver for the RTC unit.

gin
Download Presentation

Mini Control System Final Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mini Control SystemFinal Presentation Performed By: Yaron Adler Supervised By: Boaz Mizrachi

  2. The Previous Project Multi-Sensors Personal Digital Assistant (PDA) By: Aviv Rosenberg & Ben-Ami Zilber

  3. Project Goals • Implementing a driver for the RTC unit. • Implementing a driver for the Graphic LCD unit. • Implementing a driver for the keyboard. • Choosing a file system architecture for the MicroSD card, and implementing a driver for the MicroSD card reader. • Implementing a MSD interface for The USB unit. • Implementing a status line in the device. • Writing sample applications that use the above components.

  4. MPLAB Project Structure

  5. MPLAB Project Structure • Common • Common files for the rest of the project.

  6. MPLAB Project Structure • Board Support Package • Lowest layer of the code.

  7. MPLAB Project Structure • File System • Microchip’s FAT16 implementation.

  8. MPLAB Project Structure • USB Stack • Microchip’s USB code files.

  9. MPLAB Project Structure • Hardware Abstraction Layer • All the units drivers of the project.

  10. MPLAB Project Structure • Application Layer • Applications that use the units drivers.

  11. RTC • Data structures : • Weekday: enum of the week days. • Time: a struct that contains the hour, minute and second. • Date: a struct that contains the year, month and day. • TimeAndDate: contains Time, Date and Weekday. • Functions: • RTC_initNeeded( ) • RTC_init( ) • RTC_getTime( ) • Numbers in binary mode.

  12. GLCD • Supports Hebrew, English, numbers and signs. • Supports writing right-to-left and left-to-right. • Two ways to represent coordinates: pixels and chars. • Easy-to-use constants. • GLCD_FIRST_XPOS • GLCD_LAST_LINE_INDEX • GLCD_MAX_CHARS_IN_LINE • Etc.

  13. GLCD • Supports Hebrew, English, numbers and signs. • Supports writing right-to-left and left-to-right. • Two ways to represent coordinates: pixels and chars. • Easy-to-use constants. • Main Functions: • GLCD_clearDataRam( ) • GLCD_goToXY( ) / GLCD_goToCharAndLineIndex( ) • GLCD_setDiretion( ) • GLCD_putChar( ) / GLCD_putSpecialChar( ) • GLCD_printConstString( ) / GLCD_printVarString( ) • GLCD_printDouble( ) / GLCD_printInt( )

  14. Keyboard • Similar to a cellular phone keypad. • Uses timer0. • Two sequential presses on the same button within a minute is considered the next character. • Easy Constants. • DEBOUNCE_LIM • KEYBOARD_UP • KEYBOARD_HEBREW_LETTERS • Etc.

  15. Keyboard • Similar to a cellular phone keypad. • Uses timer0. • Two sequential presses on the same button within a minute is considered the next character. • Easy Constants. • Main functions: • Keyboard_nonBlockingGetKey( ) • Keyboard_blockingGetKey( ) • Keyboard_getString( )

  16. Status Line • Informs the user about the battery voltage status and the current type of keyboard keys. • Uses timer interrupt and clear-screens to refresh.

  17. File System • Chosen File System: FAT16. Supported also by PC. • Implementation by Microchip Solutions. • The driver is similar to I/O functions in C. • Suitable for card sizes up to 2GB. • Contains macros to enable / disable functions. • Currently, only reads, writes and pgm-functions are enabled.

  18. File System • Chosen File System: FAT16. Supported also by PC. • Implementation by Microchip Solutions. • The driver is similar to I/O functions in C. • Suitable for card sizes up to 2GB. • Contains macros to enable / disable functions. • Sample functions: • FS_fopen( ) / FS_fopenpgm( ) • FS_FindFirst( ) / FS_FindFirstpgm( ) • FS_remove( ) / FS_removepgm( ) • FS_mkdir( ) / FS_mkdirpgm( ) • FS_fread( ) / FS_fwrite( )

  19. Universal Serial Bus Unit • Uses interrupts. • Meant for implementing mass storage device interface, but has the ability to be extended to human interface device. • Includes USB descriptors and callback functions for PC commands. • Important functions for the MSD run: • MSDTasks( ) • USB_isConnected( ) • USBDeviceAttach( ) / USBDeviceDetach( ) • USBDeviceTasks( )

  20. Menus Application – PDA Side • Prints menus to the screen and returns to user’s choice. • Uses directly the keyboard, LCD, and file system. The status line unit and timer0 work in the background.

  21. Menus Application – PC Side • Creates and updates menu files for the PDA. • Programming environment: .NET C#.

  22. Mass Storage Device Application • As mentioned before, uses interrupts. • The main function checks if the PC is connected to the PDA. If so, as long as the physical connection exists and the user didn't press ‘backspace’, the MSD protocol occurs.

  23. Birthdays Book Application • A data-bank application. • Tests the units integration. • The list can be managed through Microsoft Excel. • Managed through TUI. • Sorts the file (bubble sort), adds lines, deletes lines, parses lines, prints the list, find lines in the file, etc.

  24. Mini DOS Application • Because of the current FS disabled functions, the files are not included in the final project. • Tests the file system’s folder and search functions. • Managed through TUI in English. • Shows path, changes path, makes or remove folders, show folder’s contents.

  25. Future Plans (for other projects…) • Implementing a HID USB driver that will enable data transfer between the PC and the device components. • Adding external memory to enable more applications. • Integrating the sensors data to the project.

  26. Summary And Conclusions • The modules drivers utilize all the modules potential, and yet are very simple to understand and use. The modules can work simultaneously without interruptions, and support both Hebrew and English. • When designing an application for the device, a deep thought should be directed to how to implement the application with a constant space complexity, in the expense of time complexity. • By adding external memory to the PIC, simpler and faster implementations for applications will be possible

  27. Thank You For Listening.

More Related