Giter Club home page Giter Club logo

gps-rf-board's Introduction

Open Source GPS RF Front-end Board

Author: Jenner Hanni and Andrew Greenberg

Institution: The Portland State Aerospace Society (http://psas.pdx.edu/) and Portland State University (http://www.pdx.edu/)

License: BSD "3 clause" license.

What

This is a bit of an odd GPS receiver board. It has a lot of weird features:

  1. It takes 4.5 - 20 V power in.
  2. It has a hopefully good RF front end which expects a passive GPS antenna. It has a SAW filter to reject noise, followed nice GPS LNA, followed by an IC splitter to split the signal into two ICs:
    1. IC 1 is a software defined radio (SDR) GPS receiver based on the Maxim MAX2769 GPS RF front-end. The MAX2769 downconverts the 1.57542 GHz carrier and then samples the GPS signals using 2 bit I and 2 bit Q sampling at4 Msps. This data flows in parallel out to a CPLD which turns it into valid SPI data, which is eventually sent to the local STM32F4xx microcontroller.
    2. IC 2 is a commercial off-the-shelf (COTS) GPS receiver IC SkyTraq called the Venus838. The Venus was supposed to have allowed us to get position updates via binary messages over UART to the STM32F4xx microcontroller. Unfortunately, the results were pretty much garbage (see data analysis below).
  3. The STM32F4xx grabs both of these data streams and writes them to the onboard uSD and/or streams them over Ethernet to the flight computer.

Here's a block diagram:

jGPS v3 Block Diagram

And here a picture of the completed (and now flown!) PCB:

Pic of jGPS v3 board

Why

Several GPS receiver boards exist on the market to receive GPS satellite signals and process it to provide location data but these GPS receivers only give the final location. Getting access to the raw data before they go into correlators means you have to purchase a “RF front end” for hundreds of dollars, at which point you can work on projects like building an FPGA receiver board or developing a software radio receiver.

Both of these projects are in-progress projects at Portland State, and are stalled on purchasing the very expensive RF front end. This project proposes to design, build, and release an open-source GPS receiver RF front-end board that would offer the GPS raw data over USB and serial outputs. Open source GPS receiver boards do exist, including in Andrew Greenberg’s GPL-GPS Master’s thesis, but all are based on very out dated and out-of-production GPS chipsets and are not easily acquired.

Cost is also a factor: commercial RF front end boards are hundreds to thousands of dollars. And while the proposed chip for this project, the MAX2769 Universal GPS Receiver, costs only $5, the development kit is $300 -- in other words, cost prohibitive for a small project and frustrating for embedded software developers who may not have the time or experience to design and build their own hardware.

Other

  • Boards are designed in EAGLE 7.x and are fabricated using OSH Park's 4 layer service.
  • Thank you to Swift-Nav for providing an open source reference design for the MAX2769. Many of the ideas and components of this board borrowed heavily on the Piksi.
  • Whoah man is the MAX2769 hard to configure. If you found this page because you're trying to understand how to configure the Max2769, there's helpful stuff here. It's a total pain. Good luck!
  • BOM available as an XLSX file.

History

Some updates on what we've been doing:

Date Note
2016/01/05 More data analysis! We actually got GPS satellites!. There are a few data drop outs, but they're relatively short. Looks like the Flight Computer was timing out due to IO Wait states.
2015/07/19 We launched it onboard LV2 and got some data!

gps-rf-board's People

Contributors

andrewgreenberg avatar asmig avatar devinlorenzen avatar hbrunk avatar jameysharp avatar kwilsonpdx avatar natronics avatar thirteenfish avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gps-rf-board's Issues

Add modwire for SPI1_NSS

We want to use the SP1 unit on the STM32 to read the output data from the GPS. There is no chip select so we will need to generate it.

Schematic has current proposed modwire connection.

Is this project still active?

Hi,

I am trying to learn about how to build my own GPS receiver, and I am also trying to learn how to emulate signals directly for testing. I want to be able to inject signals manually over the SMA connector from another device in order to "replay" a scenario, do you have any research you could point me towards?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.