mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-16 21:10:10 +00:00
* New method: --values="key1=value1,key2=value2" * To read key2: --values="key1=value1,key2,key3=value2" * Added --read-all option to read all values in EEPROM without burning * Old arguments still work but print deprecation warning Conflicts: host/docs/usrp_x3x0.rst
87 lines
3.5 KiB
ReStructuredText
87 lines
3.5 KiB
ReStructuredText
========================================================================
|
|
UHD - Internal GPSDO Application Notes (USRP-N2x0/E1X0 Models)
|
|
========================================================================
|
|
|
|
.. contents:: Table of Contents
|
|
|
|
This application note describes the use of integrated GPS-disciplined oscillators (GPSDOs) for
|
|
the USRP N-Series and E1xx. For information regarding the GPSDO that is compatible with
|
|
the USRP X-Series, please see:
|
|
|
|
`USRP-X3x0 Internal GPSDO Device Manual <./gpsdo_x3x0.html>`_
|
|
|
|
=======
|
|
|
|
------------------------------------------------------------------------
|
|
Specifications
|
|
------------------------------------------------------------------------
|
|
* **Receiver type**: 50 channel with WAAS, EGNOS, MSAS
|
|
* **10MHz ADEV**: 1e-11 over >24h
|
|
* **1PPS RMS jitter**: <50ns 1-sigma
|
|
* **Holdover**: <11us over 3h
|
|
* **Phase noise**:
|
|
|
|
* **1Hz:** -80 dBc/Hz
|
|
* **10Hz:** -110 dBc/Hz
|
|
* **100Hz:** -135 dBc/Hz
|
|
* **1kHz:** -145 dBc/Hz
|
|
* **10kHz:** <-145 dBc/Hz
|
|
|
|
**Antenna Types:**
|
|
|
|
The GPSDO is capable of supplying a 3V for active GPS antennas or supporting passive antennas.
|
|
|
|
------------------------------------------------------------------------
|
|
Installation Instructions
|
|
------------------------------------------------------------------------
|
|
Instructions for mounting the GPSDO kit onto your USRP device can be found here:
|
|
`http://www.ettus.com/content/files/gpsdo-kit_2.pdf <http://www.ettus.com/content/files/gpsdo-kit_2.pdf>`_
|
|
|
|
********************************************
|
|
Post-installation Task (N-Series only)
|
|
********************************************
|
|
|
|
**Note:** The following instructions are only necessary for UHD 3.4.* and below.
|
|
|
|
This is necessary if you require absolute GPS time in your application
|
|
or need to communicate with the GPSDO to obtain location, satellite info, etc.
|
|
If you only require 10 MHz and PPS signals for reference or MIMO use
|
|
(see the `Synchronization Application Notes <./sync.html>`_),
|
|
it is not necessary to perform this step.
|
|
|
|
To configure the USRP to communicate with the GPSDO, use the
|
|
**usrp_burn_mb_eeprom** utility:
|
|
|
|
::
|
|
|
|
cd <install-path>/lib/uhd/utils
|
|
./usrp_burn_mb_eeprom --args=<optional device args> --values="gpsdo=internal"
|
|
|
|
-- restore original setting --
|
|
./usrp_burn_mb_eeprom --args=<optional device args> --values="gpsdo=none"
|
|
|
|
------------------------------------------------------------------------
|
|
Using the GPSDO in Your Application
|
|
------------------------------------------------------------------------
|
|
By default, if a GPSDO is detected at startup, the USRP will be configured
|
|
to use it as a frequency and time reference. The internal VITA timestamp
|
|
will be initialized to the GPS time, and the internal oscillator will be
|
|
phase-locked to the 10 MHz GPSDO reference. If the GPSDO is not locked to
|
|
satellites, the VITA time will not be initialized.
|
|
|
|
GPS data is obtained through the **mboard_sensors** interface. To retrieve
|
|
the current GPS time, use the **gps_time** sensor:
|
|
|
|
::
|
|
|
|
usrp->get_mboard_sensor("gps_time");
|
|
|
|
The returned value will be the current epoch time, in seconds since
|
|
January 1, 1970. This value is readily converted into human-readable
|
|
format using the **time.h** library in C, **boost::posix_time** in C++, etc.
|
|
|
|
Other information can be fetched as well. You can query the lock status
|
|
with the **gps_locked** sensor, as well as obtain raw NMEA sentences using
|
|
the **gps_gprmc**, and **gps_gpgga** sensors. Location
|
|
information can be parsed out of the **gps_gpgga** sensor by using **gpsd** or
|
|
another NMEA parser.
|