GPS Free Stack

From Qi-Hardware
Revision as of 22:56, 20 February 2011 by Kristianpaul (Talk | contribs)
Jump to: navigation, search

This page is intended to document about a free stack GPS/GNSS Sofware Defined implementation for the nanonote using a SiGE RF IC.

Some front-end GPS RF ICs have open data-sheets, for example SE4120L, there are also open stack/software developed to correlate GNSS-GPS raw/navigation data and provide a fix point. But still missing documentation about data acquisition module part for chips like SE4120L and others.

Even there is already projects like Namuru, I/Q correlation and tracking systems implemented in FPGA , this a very important point as this step demand specialized hardware not available in embedded all devices.

Contents

Alternative RF ICs

GPS L1 Front-end available in the market:

  • SiGE SE4162T
  • Zarlink GP2015
  • MAXIM MAX2769
  • Atmel ATR0601
  • ST STA5620

Software

All this software run and compile on gnu/linux systems (at least x86)

  • GPS-SDR is proven to work with devices like gn3s/usrp
  • OSGPS was designed to work with data from an old SiGE chip 4110L, so it may help the code seems portable too, but just read file not a port or gpio pin either, the last windows version seems proud to support live correlation.

Any good gps toolkit written in C? :-)

Cores

Own implementation of data acquisition module, as this is device specific.

Public and free code from Namuru FPGA GPS tracking module can be re-used.

Interfacing

Due Ben nanonote Xburst chip is not capable of support more than 2.4Mpbs of throughput for serial data, according to some tests made by Werner Almesberger. The SIE board was initially used to deploy in the FPGA, the logic to capture the "raw" I/Q data from SiGE EVB. Currently all the work is been ported on the Milkymist One board and rtems/flickernoise app as well as this is a platform targeted for future and current developments.

SIE Current Wiring Status:

Milkymist One <- SiGE EVB

   SE4162T-EK1 EVB                                           Milkymist One    UCF
  J4 Pin 1 VBAT     .................................... J21 Pin 3  3V3  
  J4 Pin 3  SYNC    ------------------------------------ J21 Pin 7  A21       exp2
  J4 Pin 4  DATA    .................................... J21 Pin 9  B21       exp4
  J4 Pin 5  CLK_OUT ------------------------------------ J21 Pin 5  A20       exp0
  J4 Pin 8  GND     .................................... J21 Pin 17 GND
  J5 ANT  (to active GPS External Antenna)

SiGE EVB Jumper positions:

 J1 2<->3 Fit
 J9 1<->2 FIT
 R4 0 = 0R

This setup allow the use of the on-board regulator (wich is not the internal LDO from SiGE chip). (LDO still need to be tested)

Optional Debug Signals on EVB

  J4 Pin 10 Vdd  (Expected 2V9~ in normal operation)
  J4 Pin ANT_DET (Expected 3V3~ When External ANT connected)

SiGE <-> Milkymist SoC

A GPS custom will be made in order to fit in the CSR bus part of the Milktmist SoC, proper documentation can be founded in the doc directory in the Verlog Source code, in general the GPS buffer and registers will be mapped.

RTEMS run currently on the Milkymist SoC, (Linux is on devlopment). A driver for the GPS core, plus custom comands and tasks will be developed.

SE4162

This is the current chip we are working on as the availability of a EVB from SiGE.

Data output format: Serial 4-bit baseband I/Q pulse sync data

 SiGE from Logic Analizer

2.048 Msps 4-bit I/Q interleaved, pulse sync (8.192 Mhz) Positive Edge Clock

Frame Structure: Repeating sequence of SI MI SQ MQ Active high SYNC pulse aligns with SI Sample Rate: 2.048 MSPS

Sample clock output: 8.192 MHz

GPS data and clock load: 15pF max (Nanonote pin is about 5pf)

IF Filter Centre Freq: 2.556 MHz

IF Filter BW: 2.2 MHz

TCXO reference frequency: 16.384 MHz

Tolerance: ±1.5 ppm (Set tolerance and 2 reflows)

Temperature (-30 to +85° ±0.5 ppm)

Debugging

Just to make sure not have problems at the time of interfacing the GPS EVB to world, is required first to visually analyze/check the signal output from the board and verify is signal characterization.

Boards

Schedule

Item Description Planned Start date Status
Debug SiGE EVB Signaling, Visual check of signal and electrical measurements SiGE EVB, 100Mhz scope-meter, digital multimeter, spectrum analizer 23 Oct 2010 Done
Implement Three State buffer CPLD, Computer, Xilinx Sofware 7 Nov 2010 Done
Data Acquisition Basically dump raw data to a file 24 Nov 2010 Done
Bloat raw data before send to analize Raw data need to be "bloated" in some way, in order to be verified In progress
Correlate PRN code PRN Codes are unique per satellite No started
Study Namuru Tracking Code (verilog) Namuru projected already started something similar project for GPS I/Q data processing As soon as confirmed current acquisition process is OK No started
Get navigation format RINEX is posible format for sat navigation data As soon as confirmed current acquisition process is OK No started

Source Code

All code is here http://projects.qi-hardware.com/index.php/p/ben-gps-sdr/

Raw Data

Arranged as QQII Interleaved

4 BitSign/mag I/Q Data

http://downloads.qi-hardware.com/people/kristianpaul/

References

Web links which point to source of information related with the project are linked next

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export