Critical Design Review February 28, 2006 Brianna Bethel Robert Havlik Jessica Lowry Alex Silva Outline • Project Overview • Hardware Description – Description of each unit and its schematic • • • • Software Processes Division of Labor Updated Schedule Parts and Cost Project Overview • To create a standalone, portable, easy-touse system to display pictures without a computer • Display pictures on a color LCD screen • Include user interface • Stores and retrieves pictures from Compact Flash cards Hardware Block Diagram Touchscreen Baseline Future Revisions IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator Host Computer USB Power Reset Compact Flash Card Power System Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card • 12V DC Wall Input – 12V supplies backlight inverter for LCD • Regulated to 3.3 V – Supplies microcontroller and peripherals • 1.8 V regulator in processor • Isolated analog sections • Power and Ground Planes Power System Schematic Microcontroller • Features – LCD controller – 24 bit address, 16 bit data Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card • Functions – Runs Software and Embedded Linux – Controls all memory devices and timing for LCDs Microcontroller Schematic Reset and Oscillator Circuits • Two oscillators Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface – 11.2896 MHz – 32.768 KHz • Reset in a box NAND Flash Oscillator USB Power Reset Compact Flash Card – Pushbutton reset – Power monitoring Reset (and Oscillator) Schematic Hardware Memory Map SDRAM Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card • 256 Mbits (32 MB) • Functions – Primary run-time application storage – Software, Bootloader and Embedded Linux run-time environment SDRAM Schematic Buffers Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card • Isolates SDRAM from other memory devices • Boosts system signal integrity Buffer Schematics NOR and NAND Flash Memory • NOR – 128 Mbit (16 MB) Touchscreen IR Sensor and Remote • NAND – 512 Mbit (64 MB) LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card • Large, non-volatile memory storage • Contains bootloader • Programmed through JTAG Wiggler (Sparkfun) NOR Flash Schematic NAND Flash Schematic SRAM Memory • 4 Mbits (256 kB) • Functions Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card – Additional storage – Frame buffer – Backup if SDRAM is not functional SRAM Schematic Compact Flash Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card • Large, non-volatile storage device • Memory mode only • Sparkfun breakout board Compact Flash Schematic Serial RS-232 and IR Connectors • RS-232 Touchscreen IR Sensor and Remote LCD Display (STN or TFT) SRAM User Interface Buttons SDRAM Sharp Microcontroller LH79525 NOR Flash Buffers Serial Interface NAND Flash Oscillator USB Power Reset Compact Flash Card – 115 kbps – Tera Term host interface • Infrared – Serial interface Serial RS-232 and IR Connectors Schematic Software Block Diagram Model «delegate» Display Picture Controller «delegate» SlideShow Controller +start() +stop() +start_timer() +picture.display() +wait_for_timer() +start() +picture_display() «utility» Slideshow Timer -Time_To_Wait «delegate» Modify Picture Controller +start() +stop() +start() uses «utility» Picture -file name +display() +crop() +rotate() +zoom() +retrieve() +nextImg() +previousImg() invokes View «interface» TouchScreenInputHandler +ProcessXYcoordinateInput() : int «delegate» ApplicationLauncher Selects Model (Main Functions) Modifies «interface» DisplayMenu +Select_Function() uses View (User Interface) invokes Controller retrieves data from «interface» FileSystem +RetrieveFile() +WriteFile() +GetFileNames() «implementation class» TouchscreenDriver retrieves data from «implementation class» MediaDriver -File Data +OpenFile() +CloseFile() Linux «implementation class» LCDDisplayDriver -ApplicationInterface retrieves data from «implementation class» TFTLCDdriver -FrameBuffer +DisplaySettings «implementation class» STNLCDdriver -FrameBuffer +DisplaySettings Controller (Drivers) View «interface» TouchScreenInputHandler +ProcessXYcoordinateInput() : int Selects «delegate» ApplicationLauncher +Select_Function() Modifies «interface» DisplayMenu Model Model «delegate» Display Picture Controller +start() +picture_display() «delegate» SlideShow Controller +start() +stop() +start_timer() +picture.display() +wait_for_timer() uses «utility» Picture -file name +display() +crop() +rotate() +zoom() +retrieve() +nextImg() +previousImg() «utility» Slideshow Timer -Time_To_Wait «delegate» Modify Picture Controller +start() +stop() +start() Controller invokes Controller retrieves data from «interface» FileSystem +RetrieveFile() +WriteFile() +GetFileNames() «implementation class» TouchscreenDriver retrieves data from «implementation class» MediaDriver -File Data +OpenFile() +CloseFile() Linux «implementation class» LCDDisplayDriver -ApplicationInterface retrieves data from «implementation class» TFTLCDdriver -FrameBuffer +DisplaySettings «implementation class» STNLCDdriver -FrameBuffer +DisplaySettings Development Environment • Programming in C • Compilation – Compile in Arm Developer Suite (or Cygwin) • ADS and Linux have similar code files – Color LCD panel initialization – Creates templates for custom development Embedded Linux • Functions – Handles hardware initialization – Compact Flash driver – Allows for higher level applications – Source code for future applications Division of Labor Task Responsible Team PCB Design Embedded Linux • Hardware Engineers All All Rob & Alex – JTAG Wiggler – PCB Placement of Parts • Software Engineers – LCD Driver (Dev board and custom) – Display Single Picture – Timer for Slideshow Brianna & Jessica Milestone 1 : March 21 • Have custom hardware running • Second revision ready for fabrication • LCD Driver – Display still picture on LCD screen Milestone 2 : April 18 • Have slideshow program functional • User interface development – Touchscreen • Implement possible extensions, time permitting Capstone Expo : May 4 • Everything completed and working Schedule Current Progress • Microcontroller with Linux Loaded – Includes custom Linux kernel • Hardware Layout and Routing Complete • Custom PCB ready to be sent out PCB Layout Rev 0 PCB 3D Budget Questions?