370 likes | 546 Views
ECE 477 Design Review Team 1 Fall 2008. Outline. Project overview Project-specific success criteria Block diagram Component selection rationale Packaging design Schematic and theory of operation PCB layout Software design/development status Project completion timeline
E N D
Outline • Project overview • Project-specific success criteria • Block diagram • Component selection rationale • Packaging design • Schematic and theory of operation • PCB layout • Software design/development status • Project completion timeline • Questions / discussion
Project Overview • Will measure distance run using GPS • Will calculate data such as pace and estimated calories burned • Will display information in real time via color screen • Will store data on a micro-SD card • Will display battery life on screen • Will be self-contained
Project-Specific Success Criteria • An ability to track distance run via GPS. • An ability to store/archive data on on-board non-volatile (flash) memory. • An ability to display remaining battery life as a multi-segment fuel gauge (on the LCD), and provide a warning beep when battery life is low • An ability to charge the integrated lithium-ion battery via external wall wart. • An ability to display running statistics (and other operational information) via the integrated user interface (LCD and pushbuttons).
Component Selection Rationale • Microcontroller: MC9S12XDT256 • Necessary number of I/O pins • Necessary peripherals: SCI, PWM, TIM • Enough flash storage for program and one run • GPS: EM-406A • Good satellite recognition • Easy communication with microcontroller • LCD: TEG13752 • Size (Easily read but small enough) • Full color
Component Selection Rationale • SD Reader/Writer: BOB-08567 • Easy communication with microcontroller • Size (very small) • Battery: UBBP01 • High energy density (148 Wh/Kg) • High energy (6.8 Wh) • Flat Shape • Compatible with Packaging Design • Rechargeable
Component Selection Rationale • Speaker: 24M5237 • Size (very small) • Low impedance • RPG: 61C11-01-08-02 • Pushbutton for selecting • Free of Cost • Fuel Gauge: DS2780 • Low Cost • Recommended • Battery Charger: MAX8677C • Can supply system with power from wall-wart or battery • Compatible with battery voltage and current
Component Selection Rationale • Boost Power Supply: TPS61032PWP • Supplies Enough Current (200 mA) • Efficient at needed current (94%) • LDOs: MIC5203-3.8YM4, MIC5203-3.0YM4 • Supply needed voltages • Input voltage correct • AC Adaptor: T314-P6P-ND • Correct Voltage (5V) • Current output within bounds (100mA-500mA) • AC connector: CP-002BPJCT-ND • Same size as adaptor • PCB mountable
Schematic/Theory of Operation GPS Rx Battery Charger Microcontroller Fuel Gauge LCD GPS Tx, PPS 2 SD Tx 13 Push Buttons SD Rx, Reset 2 2 2 3 LCD MIC1, MIC2 RPG
Schematic/Theory of Operation POWER SUPPLY • Boost switching power supply to boost the battery power to a stable 5 V • Two LDOs to supply the LCD with voltages needs (3.0V and 3.8V) • Only need to supply about 200 mA of current Battery Charging IC (Select) LDO LDO Boost Battery (3-4.2 V) Wallwart (5 V) 5.0 V (150 mA current requirement) 4.35 V 5.0 V 3.8 V (25 mA current requirement) 3.0 V (25 mA current requirement)
Schematic/Theory of Operation BATTERY CIRCUIT • Battery Charger • Battery Fuel Gauge To Microcontroller Fuel Gauge Li Ion Battery 3.7V 4.35V to Boost Battery Charger 5V To Microcontroller Adaptor
Schematic/Theory of Operation • RGB Data LCD MIC1 HSync VSync From Microcontroller To Microcontroller MIC2 MCK S/D
Schematic/Theory of Operation SD Reader/Writer Rx Tx Reset From Microcontroller To Microcontroller
Schematic/Theory of Operation Output A RPG Output B To Microcontroller Push Button
PCB Layout Top Copper
PCB Layout Bottom Copper/Power
PCB Layout – SD/GPS GPS Header SD Card Reader/Writer
PCB Layout – LCD Header LCD Header
PCB Layout – RPG and Pushbuttons RPG Pushbutton
Software Design/Development Status • Psuedo-code for LCD is underway
// LOOKUP VALUES #define ZERO 26 #define COLON 36 #define HYPHEN 37 #define DEGREE 38 #define QMARK 39 #define PERIOD 40 #define SLASH 41 #define PERIOD 42 #define SPACE 43 // THREE BATTERY SEGMENTS #define BAT1C 44 // ! #define BAT2C 45 // @ #define BAT3C 46 // # #define BAT1U 47 // $ #define BAT2U 48 // % #define BAT3U 49 // ^ // COLORS #define BLACK 0X888 #define RED 0X800 #define GREEN 0X080 #define BLUE 0X008 #define D_RED 0X400 #define D_GREEN 0X040 #define D_BLUE 0X004 #define ORANGE 0X840 #define YELLOW 0X880 #define VIOLET 0X808 #define D_ORANGE 0X420 #define D_YELLOW 0X440 #define D_VIOLET 0X404 Character Map Definitions and Color Definitions unsigned short char_table[44][12][8] = /*A*/ [[[0,0,0,1,1,0,0,0],[0,0,1,1,1,1,0,0], [0,1,1,0,0,1,1,0],[0,1,0,0,0,0,1,0], [0,1,0,0,0,0,1,0],[0,1,0,0,0,0,1,0], [0,1,1,1,1,1,1,0],[0,1,1,1,1,1,1,0], [0,1,0,0,0,0,1,0],[0,1,0,0,0,0,1,0], [0,1,0,0,0,0,1,0],[0,1,0,0,0,0,1,0]], /*B*/ [[0,1,1,1,1,0,0,0],[0,1,1,1,1,1,0,0], [0,1,0,0,0,1,0,0],[0,1,0,0,0,0,1,0], [0,1,0,0,0,1,1,0],[0,1,1,1,1,1,0,0], [0,1,1,1,1,1,0,0],[0,1,0,0,0,1,1,0], [0,1,0,0,0,0,1,0],[0,1,0,0,0,1,0,0], [0,1,1,1,1,1,0,0],[0,1,1,1,1,0,0,0]], /*C*/ [[0,0,0,1,1,0,0,0],[0,0,1,1,1,1,0,0], [0,1,1,0,0,1,1,0],[0,1,0,0,0,0,1,0], [0,1,0,0,0,0,0,0],[0,1,0,0,0,0,0,0], [0,1,0,0,0,0,0,0],[0,1,0,0,0,0,0,0], [0,1,0,0,0,0,1,0],[0,1,1,0,0,1,1,0], [0,0,1,1,1,1,0,0],[0,0,0,1,1,0,0,0]], …
for (i=0; i<12;i++){ vcurr = vsync; for (j=0;j<30;j++){ hcurr = hsync; pixelout(char_table[lookup[j]][i][0]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][1]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][2]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][3]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][4]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][5]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][6]); while (hsync==hcurr){} hcurr = hsync; pixelout(char_table[lookup[j]][i][7]); while (hsync==hcurr){} } while (vsync==vcurr){} }
Project Completion Timeline • 10/24: PCB Completed, Schematic Completed, Psuedo-Code Completed • 10/31: LCD Interface with Microcontroller done • 11/7: GPS interface with Microcontroller done, SD Interfacing Done • 11/14: Interfacing with battery fuel gauge done, Begin prototyping project • 12/3: Project Completed