1 / 27

Josh Marchi, Jeff King, Paul Rosenberger, Dan Chambers

– 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

naiya
Download Presentation

Josh Marchi, Jeff King, Paul Rosenberger, Dan Chambers

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. – Software Design Considerations – Josh Marchi, Jeff King, Paul Rosenberger, Dan Chambers

  2. Project Overview • “Reverse Geocache” Box • Locked 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

  3. PSSCs • 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.

  4. Software Design- Computational Requirements • GPS coordinate analysis at a rate of 1Hz • Determine distance to next waypoint • Compass heading / tilt compensation at a rate of approximately 5Hz • Floating point values, trig functions required (lookup table) • SD card interface uses MDD File System Library • Large amount of Flash/SRAM

  5. Software Design- Microcontroller • PIC24FJ256GA106 • 16 Bit Architecture • Up to 16 MIPS CPU speed • 256KB Flash • 16KB RAM • Memory Disk Drive File System Library Support • 4 UART Modules • 3 I2C Modules • 3 SPI Modules • 64 Total Pins • Reasons for Selecting: • Enough UART/SPI/I2C channels • Adequate Flash/RAM for all code/libraries • MDD File System Library Support

  6. Software Design- Code Organization (Interrupt/Polling Hybrid) • Interrupts Generated • UART Rx character received (GPS, RFID) • Flag set when entire message received • Periodic Timers (compass, fuel gauge polling) • Flag set, polling done in main loop • Main Loop • Analyze RFID message if flag is set • If ID matches “master key”, unlock box, play buzzer, update LCD • Analyze GPS message if flag is set • If GPS matches desired waypoint, load next waypoint, update LCD • If GPS doesn’t match waypoint, just update LCD with new position • Obtain Compass data if flag is set • Calculate heading with tilt compensation, update LCD • Obtain Fuel Gauge data if flag is set • Calculate and update LCD

  7. Software Design- Initialization Flowchart

  8. Software Design- Main Loop Flowchart

  9. Software Design- Code Hierarchy (TOP)

  10. Software Design- Code Hierarchy (TOP)

  11. Software Design- Code Hierarchy (PC Debug Interface)

  12. Software Design- Code Hierarchy (TOP)

  13. Software Design- Code Hierarchy (RFID Module Interface)

  14. Software Design- Code Hierarchy (TOP)

  15. Software Design- Code Hierarchy (GPS Interface)

  16. Software Design- Code Hierarchy (TOP)

  17. Software Design- Code Hierarchy (Compass Interface)

  18. Software Design- Code Hierarchy (TOP)

  19. Software Design- Code Hierarchy (Fuel Gauge Interface)

  20. Software Design- Code Hierarchy (TOP)

  21. Software Design- Code Hierarchy (MicroSD Interface)

  22. Software Design- Code Hierarchy (TOP)

  23. Software Design- Code Hierarchy (LCD Interface)

  24. Software Design- Code Hierarchy (TOP)

  25. Software Design- Code Hierarchy (Miscellaneous Interfaces)

  26. Questions/Discussion

More Related