mirror of
https://github.com/saymrwulf/uhd.git
synced 2026-05-16 21:10:10 +00:00
81 lines
2.9 KiB
Text
81 lines
2.9 KiB
Text
/*! \page page_gpsdo Internal GPSDO (USRP-N2x0/E1X0 Models)
|
|
|
|
\tableofcontents
|
|
|
|
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: \ref page_gpsdo_x3x0
|
|
|
|
|
|
\section gpsdo_specs 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
|
|
|
|
<b>Antenna Types:</b>
|
|
|
|
The GPSDO is capable of supplying a 3V for active GPS antennas or
|
|
supporting passive antennas.
|
|
|
|
\section gpsdo_install Installation Instructions
|
|
|
|
Instructions for mounting the GPSDO kit onto your USRP device can be
|
|
found here: http://www.ettus.com/wp-content/uploads/2019/01/gpsdo-kit_4.pdf
|
|
|
|
\subsection gspdo_install_post Post-installation Task (N-Series only)
|
|
|
|
<b>Note:</b> 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 \ref page_sync), 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=internal"
|
|
|
|
\section gpsdo_use 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:
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp}
|
|
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.
|
|
|
|
*/
|
|
// vim:ft=doxygen:
|