250 likes | 377 Views
Mini Control System Application. D1518. Final Presentation. Students: Yair Kler Supervisor: Boaz Mizrahi. Spring 2009. Project Review. Overview Project Expected goals. Setbacks Goals Vs Actual Work Status Future Work Summary & Conclusions. Overview. Project Initial dependencies.
E N D
Mini Control SystemApplication D1518 Final Presentation Students: Yair Kler Supervisor: Boaz Mizrahi Spring 2009 High Speed Digital Systems Lab
Project Review • Overview • Project Expected goals. • Setbacks • Goals Vs Actual Work Status • Future Work • Summary & Conclusions High Speed Digital Systems Lab
Overview Project Initial dependencies • Software development based on Aviv .R & Zilber B hardware. • The device had only basic raw software code • The device has USB port which could be used as external communication port for various applications. High Speed Digital Systems Lab
Overview Cont.. • Pre-Requirements - Project development is based on other projects completion of several key tasks: • A. Yaron – USB stack development (Initial plan – Develop USB based on MSD (Mass Storage Device) • A. Yaron – Code reduction – Current code has taken 94% of program memory, 88% of data memory which didn’t leave any room for other applications. • A. Yaron – “Safe ISR” File System – Current code could not handle interrupts (would cause trashing) High Speed Digital Systems Lab
Overview Cont.. • Pre-Requirements Continue: • A. Yaron – Bootloader Application for PDA device • V. Yotam & a. Karin - availability of verified PDA devices for software development • V. Yotam & a. Karin & A. Yaron – Hardware & Software debugging of USB. High Speed Digital Systems Lab
Project Expected Goals Project A: Prepare software design documents • Top level system design • Assuming USB MSD interface – Define configuration and information files. • Develop LCD-Keypad interface that allows to extract sensors information and configure sensors for all sensors. High Speed Digital Systems Lab
Project Expected Goals Project B: • Develop PC based application that that allows to extract sensors information and configure sensors for all sensors based on USB MSD interface. High Speed Digital Systems Lab
Project Setbacks • The following pre-requirements were not completed: • USB as Mass Storage device • Code Reduction & Stable Application with ISR Support. • Fully Functional PDA device for Software work High Speed Digital Systems Lab
Goals Vs Actual Work Status Missing Pre-requirements resulted in the following changes to the project: • Additional Work: (USB + Bootloader) • Added USB capabilities to the device • Composite USB with both MSD & HID • Hardware debugging for USB hardware errors High Speed Digital Systems Lab
Goals Vs Actual Work Status Missing Pre-requirements Cont… • Additional Work: (USB + Bootloader) • Bootloader Capabilities to device: Allow to update new firmware via USB interface instead of JTAG. High Speed Digital Systems Lab
Goals Vs Actual Work Status Missing Pre-requirements Cont… • Additional Work: (File System & Code Refactoring) • All previous code (Yaron & Amir) was removed and re-implemented (based on parts of Yaorn & Amir code) • Microchip File System was updated and corrected. • Interrupt issues fixed High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work: (PDA - Project Design) • Structured Project: • defining order and relationship between logical units. • Replaced ALL old drivers with OOP “C++ like” order. • Added HAL & BSP layers to separate applications from drivers. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work: (PDA - OS) • Designed & Implemented a Scheduler component with priority logic and Round Robin capabilities. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work: (PDA - USB) • Implemented USB as composite device with two interfaces: • Mass Storage Device – Allows the device to handle like DiskOnKey. • Human Interface Device – Allows to directly connect to internal PDA interfaces. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work: (PDA - Bootloader) • Implemented a HID based Bootloader (based on Modified Microchip HID platform) USB. • Bootloader & PDA firmware each on different memory space • Automatic switching between Bootloader and PDA firmware • Selectable switching between Bootloader & PDA firmware High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work: (PDA - LCD Menu) Keypad/LCD - Configuration /Information Control • Implemented dynamic menu interface with multilevel tree so: • User can configure all interfaces via LCD/Keypad. • User can retrieve all information via LCD/Keypad. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Keypad/Lcd - Cont.. • Up/Down/Left/Right – Context aware scrolling • “Smart-Keys” for additional functionalities from LCD/Keypad. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work - (PC App - Driver) • USB HID Driver - Detecting & Handling multiple PDA devices connected to the same host. • Full HID functionalities. • Full MSD functionalities. • Additional PDA Specific Functionalities • Remote Device reset • Remote Bootloader load • Configuration/Information extraction from PDA Device. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work - (PC App - Bootloader) • Bootloader Application (embedded in PDA Management Application) • Allows to download new firmware into the device. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work - (PC App - Management) • PDA Management Application: • Each Sensor has his own configuration/information window. • Multiple Device can be pulled and view using the same instance of the application. • Data gathered from each PDA device is stored locally within a dedicated SQL data-base. High Speed Digital Systems Lab
Goals Vs Actual Work Status • Actual Work - PC App • PDA Manufacturing Application: • PDA has several files required for proper operation: • LCD menu’s are stored on file • Manufacturing file - holding the device MAC address as well as additional data. • PDA manufacturing application - allows to generate each of these files and directly download them into a selected device. High Speed Digital Systems Lab
Future Work • PDA Side: • Complete all drivers implementation. • Extensive code coverage. • PC - Side: • Utilize existing platform and maximize PDA data. High Speed Digital Systems Lab
Summary & Conclusions • Project required extensive hardware and software understanding Students were introduced to: • Low/High level - Embedded RT design • USB / File System internals. • Management applications development methodologies. High Speed Digital Systems Lab
Summary & Conclusions Cont… • Embedded - Host internals • System Design. • Minor Issue: • Project Dependencies - should be avoided • Project Scope - Work estimation and monitoring to avoid “work explosion”. High Speed Digital Systems Lab
Questions? High Speed Digital Systems Lab