josh marchi, jeff king, paul rosenberger, dan chambers

27
Josh Marchi, Jeff King, Paul Rosenberger, Dan Chambers – Software Design Considerations –

Upload: naiya

Post on 25-Feb-2016

37 views

Category:

Documents


0 download

DESCRIPTION

– Software Design Considerations –. Josh Marchi, Jeff King, Paul Rosenberger, Dan Chambers . Project Overview. “Reverse Geocache” Box Locked box that will only open after one or more pre-determined GPS locations have been visited - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Josh Marchi, Jeff King, Paul Rosenberger, Dan Chambers

– Software Design Considerations –

Page 2: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

“Reverse Geocache” BoxLocked box that will only open after one or

more pre-determined GPS locations have been visited

Directs user to next location by GPS coordinates, compass heading, or text description displayed on LCD.

Route stored on microSD card located inside the box, able to be reprogrammed by PC

RFID “master key” to allow access to box without finishing puzzle

Project Overview

Page 3: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

An ability to obtain and decode global positioning data in order to verify if current location matches pre-determined desired location.

An ability to utilize accelerometer and magnetometer data to determine a compass heading with tilt compensation.

An ability to access and interpret files located on a microSD card.

An ability to display information to the user via an LCD display.

An ability to identify an RFID tag using an RFID reader.

PSSCs

Page 4: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers
Page 5: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

GPS coordinate analysis at a rate of 1HzDetermine distance to next waypoint

Compass heading / tilt compensation at a rate of approximately 5HzFloating point values, trig functions required

(lookup table)SD card interface uses MDD File System

LibraryLarge amount of Flash/SRAM

Software Design- Computational Requirements

Page 6: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

PIC24FJ256GA10616 Bit ArchitectureUp to 16 MIPS CPU speed256KB Flash16KB RAMMemory Disk Drive File

System Library Support4 UART Modules3 I2C Modules3 SPI Modules64 Total Pins

Software Design- Microcontroller

Reasons for Selecting: Enough UART/SPI/I2C channels Adequate Flash/RAM for all

code/libraries MDD File System Library Support

Page 7: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Interrupts GeneratedUART Rx character received (GPS, RFID)

Flag set when entire message receivedPeriodic Timers (compass, fuel gauge polling)

Flag set, polling done in main loopMain Loop

Analyze RFID message if flag is setIf ID matches “master key”, unlock box, play buzzer, update LCD

Analyze GPS message if flag is setIf GPS matches desired waypoint, load next waypoint, update LCDIf GPS doesn’t match waypoint, just update LCD with new position

Obtain Compass data if flag is setCalculate heading with tilt compensation, update LCD

Obtain Fuel Gauge data if flag is setCalculate and update LCD

Software Design- Code Organization (Interrupt/Polling Hybrid)

Page 8: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Initialization Flowchart

Page 9: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Main Loop Flowchart

Page 10: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 11: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 12: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (PC Debug Interface)

Page 13: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 14: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (RFID Module Interface)

Page 15: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 16: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (GPS Interface)

Page 17: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 18: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (Compass Interface)

Page 19: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 20: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (Fuel Gauge Interface)

Page 21: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 22: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (MicroSD Interface)

Page 23: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 24: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (LCD Interface)

Page 25: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (TOP)

Page 26: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Software Design- Code Hierarchy (Miscellaneous Interfaces)

Page 27: Josh Marchi, Jeff King, Paul Rosenberger,  Dan Chambers

Questions/Discussion