Hi there !
I wanted to share the latest addition to my lab, a GPSDO
First I acquired a surplus used Symmetricom GPSDO PCB off eBay.
Had to buy the corresponding pigtails separately.
The board had a oily and smelly (organic solvent ?) liquid on it so I had to wash it with IPA and let it dry... the wonders of Chinese surplus parts...
Then I made a little case using a Hammond box :
I mounted the PCB with adhesive stand-offs :
The PCB sits at the top of the box because I put the adhesive feets on the removable panel - not sure if it's wise as I don't know if the adhesive will be strong enough. If I have issues I'll revert the labels and everything.
There is a 1 PPS and a 10 MHz output, GPS antenna input, and a 5V 3A power supply input, all on the back :
I moved the status LEDs which were on the PCB to the front panel ; there are two switches that I didn't move as their purpose is not fully understood and they don't seem to be needed for operation.
(I think I know what the RST switch does... but if anyone knows what the MACT switch does, let me know !)
These units seem very similar to various other GPSDOs I've seen used in the time-nuts community.
The GPS receiver is a
Furuno GT-8031 module and a +5VDC bias is provided at the antenna port.
It is a 16-channel GPS timing module that supports T-RAIM and SBAS, not the latest generation but not as old as the modules used in many other GPSDOs.
This particular GPSDO unit has been first powered on in 2009 or 2011 (can't remember - logs have since been cleared) so it's pretty recent.
There is a console port (RS232 levels, and it's possible to tap into 3.3V signals before the level shifter chip, some cousin of MAX3232) which I connected to a DB9 port for diagnosis, I didn't make a hole for it yet since I'm not sure I'll keep it a DB9 or I'll put an integrated RS232-to-USB converter or even a small LCD with an arduino or similar, showing basic status information. But the LEDs are mostly enough.
So while I decide what to do with the console, I made a little adapter that I can use for initial setup and testing :
The features are decent, for instance the unit will generate an alarm (and light up the corresponding LED) if the GPS antenna is disconnected so I guess it does a bit of self-monitoring.
If it goes into holdover for too long (for instance, something is jamming the GPS signals but the antenna is still there), then it will generate an alarm too. I think the time it waits before setting an alarm can be changed.
Settings are 57600 8N1 no flow control and the commands look like SCPI.
Sending a question mark ? then pressing ENTER gives a list of the supported commands :
UCCM-P > ?
*IDN?
ALARm:HARDware?
ALARm:OPERation?
DIAGnostic:OUTPut ON|OFF
OUTPut:ACTive:ENABle
OUTPut:ACTive:DISable
OUTPut:ACTive:HOLDover:DURation:THReshold <seconds>
OUTPut:ACTive:HOLDover:DURation:THReshold?
OUTPut:INACTive
OUTPut:INACTive?
OUTPut:STATe?
SYNChronization:HOLDover:DURation:STATus:THReshold <seconds>
SYSTem:PRESet
SYNChronization:TFOMerit?
LED:GPSLock?
SYNChronization:FFOMerit?
GPS:POSition N or S,<deg>,<min>,<sec>,E or W,<deg>,<min>,<sec>,<height>
GPS:POSition?
GPS:POSition:HOLD:LAST?
GPS:REFerence:ADELay <numeric value>
GPS:REFerence:ADELay?
GPS:SATellite:TRACking:COUNt?
GPS:SATellite:TRACking?
DIAGnostic:ROSCillator:EFControl:RELative?
SYNChronization:TINTerval?
DIAGnostic:LOG:READ:ALL?
DIAGnostic:LOG:CLEar
SYSTem:PON
OUTPut:MODE?
SYSTem:STATus?
SYSTem:COMMunication:SERial1:BAUD 9600|19200|38400|57600
SYSTem:COMMunication:SERial1:BAUD?
SYSTem:COMMunication:SERial1:PRESet
SYSTem:COMMunication:SERial2:BAUD 9600|19200|38400|57600
SYSTem:COMMunication:SERial2:BAUD?
SYSTem:COMMunication:SERial2:PRESet
OUTPut:STANby:THReshold <seconds>
changeSN
SYNChronization:REFerence:ENABLE LINK|GPS
SYNChronization:REFerence:DISABLE LINK|GPS
SYNChronization:REFerence:ENABLE?
STATus
POSSTATus
TOD EN|DI
TIME:STRing?
REFerence:TYPE GPS|LINK
REFerence:TYPE?
PULLINRANGE 0|1|2|...|254|255
PULLINRNAGE?
DIAGnostic:LOOP?
DIAGnostic:ROSCillator:EFControl:DATA GPS|<value>
DIAGnostic:ROSCillator:EFControl:DATA?
OUTPut:TP:SELection PP1S|PP2S
OUTPut:TP:SELection?
GPSystem:SATellite:TRACking:EMANgle <degrees>
GPSystem:SATellite:TRACking:EMANgle?
DIAGnostic:TCODe:STATus:AMASk
DIAGnostic:TCODe:STATus:OMASk
DIAGnostic:TCODe:ERRor:AMASk
DIAGnostic:TCODe:ERRor:OMASk
DIAGnostic:HOLDover:DELay
DIAGnostic:HOLDover:DELay?
GPS:SATellite:TRACking:IGNore <PRN>, ...,<PRN>
GPS:SATellite:TRACking:IGNore?
GPS:SATellite:TRACking:INCLude <PRN>, ...,<PRN>
GPS:SATellite:TRACking:INCLude?
GPS:SATellite:TRACking:<select>:ALL
Command Complete
UCCM-P >
The prompt is
UCCM-P>The identification is (I blanked the last 4 digits of the serial) :
UCCM-P > *IDN?
Symmetricom,090-03861-03,W56094xxxx,1.0.0.2-01
Command Complete
I believe these were used in GSM/UMTS/CDMA base stations. There was a log in my unit, latest GPS fix was located at the top of a high building in Japan.
At bootup it goes through several states :
OCXO WARMUP
OCXO WARM
ACTIVE
The ACT LED corresponds to the PLL lock :
Green solid : PLL unlocked
Green flashing slowly : PLL locking ("adjusting freq" then "syncing")
Green flashing fast : PLL locked to GPS
While the PLL locks I can see the frequency change slightly on the output.
In parallel, at power on, the receiver starts doing an initial GPS survey by averaging the GPS positions, takes 2 hours to finish and needs good GPS signal quality.
If GPS signal quality gets too low (low elevation or not enough sats in view), the survey will be paused and will resume later.
Boot prompt is :
Symmetricom Boot Code ver. 1.01.01
Press Enter to go to boot
Image1: [1.0.0.2] [454535 bytes] [valid checksum:0x20AFA24] [timestamp:3]
Image2: [1.0.0.1] [454535 bytes] [valid checksum:0x2142B89] [timestamp:2]
Loading Image1
UCCM-P >
There are a few status commands :
UCCM-P > SYST:STAT?
-------------------------------------------------------------------------------
090-03861-03 serial number W56094xxxx firmware ver 1.0.0.2-01 LINK mode
-------------------------------------------------------------------------------
Reference Status __________________________ Reference Outputs _______________
Ref 8KHz 0: [LOS]
TFOM 2 FFOM 0
UCCM-P Status[ACTIVE]
>> GPS: [phase: 2.77e-08]
ACQUISITION ................................................ [ GPS 1PPS Valid ]
Tracking: 10 ____ Not Tracking: 1 ________ Time ____________________________
PRN El Az C/N PRN El Az GPS 19:08:57 24 NOV 2015
5 22 87 36 10 Not OK GPS Synchronized to UTC
13 53 56 37 ANT DLY +0.000E+00
15 83 160 42 Position ________________________
18 36 282 38 MODE Hold
20 73 60 40
21 56 295 39 LAT N 45:29:xx.xxx
24 16 162 34 LON W 73:33:xx.xxx
27 5 331 32 HGT +84.80 m (MSL)
29 20 212 35
30 10 34 33
ELEV MASK 5 deg
-------------------------------------------------------------------------------
Command Complete
And that one too :
UCCM-P > STATus
- UCCM Slot STATE -
1-1. #Now ACTIVE STATUS ---------------- [Master]
1-2. #Before ACTIVE STATUS ------------- [Master Holdover]
2-1. #Reference Clock Operation -------- [Not Used]
2-2. #Current Reference Type ----------- [LINK]
2-3. #Current Select Reference --------- [GPS 1PPS]
2-4. #Current Reference Status --------- [Good Accuracy & Stable]
#GPS STATUS ----------------------- [Available]
#Priority Level ------------------- [LINK > GPS]
#ALARM STATUS
#H/W FAIL ---------- [ LINK ]
3-1. PLL STATUS ------------------------ [Enable]
3-2. Current: PLL MODE ----------------- [NORMAL 2 MODE]
Command Complete
It's interesting, it says "UCCM slot" so UCCM is probably the product name, and it was used in slots, which apparently could be linked together for redundancy, probably through the ribbon cable connector which can be seen on the PCB picture above.
There is also a GPS-specific status command :
UCCM-P > POSSTATus
-----------------------------------------------------------------------------
11/24/2015 19:11:26
-----------------------------------------------------------------------------
Position : LAT(N 45:29:xx.xxx) LON(W 73:33:xx.xxx) H(84.80 m MSL)
-----------------------------------------------------------------------------
Geometry : PDOP(0.0) HDOP(0.0) VDOP(0.0)
-----------------------------------------------------------------------------
Channel Status
num of visible sats > 11
num of sats tracked > 10
------ Receiver Channel State ------
CH 0 > SateID(5) TrackMode(pos avail) SigValue(39)
CH 1 > SateID(13) TrackMode(pos avail) SigValue(40)
CH 2 > SateID(15) TrackMode(pos avail) SigValue(44)
CH 3 > SateID(18) TrackMode(pos avail) SigValue(41)
CH 4 > SateID(20) TrackMode(pos avail) SigValue(41)
CH 5 > SateID(21) TrackMode(pos avail) SigValue(40)
CH 6 > SateID(24) TrackMode(pos avail) SigValue(35)
CH 7 > SateID(27) TrackMode(pos avail) SigValue(36)
CH 8 > SateID(29) TrackMode(pos avail) SigValue(36)
CH 9 > SateID(30) TrackMode(pos avail) SigValue(33)
CH 10 > SateID(0) TrackMode(code search) SigValue(0)
CH 11 > SateID(0) TrackMode(code search) SigValue(0)
-----------------------------------------------------------------------------
Rcvr Status(2) :
-----------------------------------------------------------------------------
Antenna Voltage: 4794 mV, Antenna Current: 10 mA
-----------------------------------------------------------------------------
Command Complete
And the best one, the timing loop status :
UCCM-P > DIAGnostic:LOOP?
-------------------------------------------------------------------------------
11/24/2015 19:12:19
-------------------------------------------------------------------------------
LOS MEAS NCO STATUS WEIGHT PBUC FBUC DBUC LBUC IBUC G M TC
-------------------------------------------------------------------------------
0: 1 0.000e+00 0.000e+00 0x07AC 0 700 700 0 0 2 2 4 29
1: 1 0.000e+00 0.000e+00 0x068C 0 700 700 0 0 0 2 14 226
GPS: 0 -3.037e-08 -7.041e-09 0x0000 1 ---- 1000 1000 ---- ---- 3 6 31
-------------------------------------------------------------------------------
freq cor = -7.041106e-09
phase cor = -2.000000e-11
gps phase = 2.033333e-08
temp cor = -3.383123e-11
Command Complete
If anybody can help me make sense of that data, please feel free to do so ! I understand 0 and 1 are probably inputs to daisy chain the units so I'm not very interested in these, but what's MEAS (measured phase noise ??), NCO (??), and the TFOM and FFOM saw in the first status command above ? Any other information ? Anyone knows what kind of precision I can expect from that kind of GPSDO ? I don't care about alignment of the frequency output and PPS output to the UTC second but I care about frequency drifts (which should be 0 long term, but what about short term ?).
It's definitely a very good and useful lab instrument, I used it to calibrate a HP 5334A counter. Build one too !