Trimble/Symmetricom UCCM GPS Receiver 50-pin connector pinouts and protocol reverse-engineering

Introduction

This page describes the pinouts of 50-pin connector, avaliable at "Trimble 57963-C" and "Symmetricom UCCM 089-03861-02" boards, which can be bought on Ebay. They have no direct NMEA support, but have own binary protocol and additional signals, that avaliable on this connector. This receivers are used for DAB SFN operation as alternative for Ublox-LEA-M8F. The main reason of this work - is to receive UTC time from it and get the flags to find that receiver is ready to provide stable 10MHz and 1PPS signals.

 

 

 

pinouts of 50-pin connector

 

Pinouts description

Based on oscillograms and info from [2]. All yellow-marked pins on image - are ground. So, counting from triangle keyed pin (from left to right):

1 --- GND
2 --- UART4 TX (sending actual timestamp each second) is a high-speed serial port. (baud rate: 625000??). Voltage: 3.3V TTL. Transfer starts exactly on rising edge of 1PPS pulse. More info below.
3 --- GND
4 --- ???
5 --- GND
6 --- ???
7 --- GND
8 --- ???
9 --- GND
10 -- ???
11 -- GND
12 -- ???
13 -- ???
14 -- ???
15 -- ???
16 -- ???
17 -- GND
18 -- NC
19 -- NC
20 -- GND
21 -- PP2S pulse (inverted). Pulse length = 100ns. Voltage: 3.3V TTL
22 -- GND
23 -- 10MHz output (GPS locked). Square form.
24 -- GND
25 -- ???
26 -- GND
27 -- ???
28 -- GND
29 -- ???
30 -- GND
31 -- ???
32 -- GND
33 -- UART2 RxD HIGH VOLTAGE, ready for COM-port!
34 -- UART2 TxD HIGH VOLTAGE, ready for COM-port!
35 -- GND
36 -- UART3/Debug RxD ??? Voltage: 3.3V TTL
37 -- UART3/Debug TxD (57600 8N1) binary protocol, each 2 seconds bytes that seen as on "TOD EN" command are sent using this port. Voltage: 3.3V TTL. Transfer starts 70ms after PPS pulse. It's duration is 8ms.
38 -- GND
39 -- ???
40 -- GND
41 -- GND
42 -- GND
43 -- NC on Symmetricom, 3.3V output - on Trimble (10k to GND). This might be input voltage switching control to choose 5.5V or 5.0V.
44 -- +5V input for Symmetricom (5.5V for Trimble)
45 -- +5V input for Symmetricom (5.5V for Trimble)
46 -- +5V input for Symmetricom (5.5V for Trimble)
47 -- +5V input for Symmetricom (5.5V for Trimble)
48 -- +5V input for Symmetricom (5.5V for Trimble)
49 -- +5V input for Symmetricom (5.5V for Trimble)
50 -- +5V input for Symmetricom (5.5V for Trimble)

 

Here is info about debug protocol avaliable on UART3 port

Bold-marked are flags, that changes depending on state of receiver. The "ready to use" 1PPS and 10MHz signals - is when we have "62 04 85 40"

Symmetricom UCCM logs (found leap sec):

HH*HH -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- TT*TT*TT*TT -- SS FL*FL*FL*FL -- -- -- -- -- -- HH 
1). no leap sec:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 00 00 02 B8 00 00 41 00 8F 50 00 00 00 00 56 8B CA
1a). No leap sec, but have time:
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 d9 b8 7c 00 00 41 00 8f 40 00 00 00 00 22 35 ca
2). got leap sec:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 00 00 02 BA 00 11 43 00 8F 50 00 00 00 00 34 DF CA
3). got timestamp
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 D9 AF 6A 00 11 43 04 85 40 00 00 00 00 0F 83 CA
4a). Status OK, but not found leap sec:
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 d9 b8 d2 00 00 60 04 85 40 00 00 00 00 38 16 ca
4b). Status OK, leap sec found:
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 d9 b9 80 00 11 62 04 85 40 00 00 00 00 19 f6 ca
4). synced, ready to work:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 D9 AF 70 00 11 62 04 85 40 00 00 00 00 A6 EE CA
5). No antenna connected, no signal:
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 d9 b9 b8 00 11 62 04 8f 60 00 00 00 00 3d 55 ca 
5). Antenna connected, no signal:
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 d9 b9 be 00 11 62 04 8f 50 00 00 00 00 70 ee ca 
5). Antenna connected, locked:
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 d9 b9 ce 00 11 62 04 8f 40 00 00 00 00 3d dd ca
6). Synced, acquistion finalized:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 D9 E9 1E 00 11 62 04 85 40 00 00 00 00 0C F0 CA
  
Log of Trimble UCCM:
Antenna connected:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 D8 CC BE 00 11 62 04 45 80 00 00 00 00 2D 05 CA 
Antenna DIS-connected:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 D8 CC D6 00 11 62 04 4F 90 00 00 00 00 A2 32 CA 
Antenna connected, ready to work:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 D8 CC DC 00 11 62 04 45 80 00 00 00 00 6D B7 CA 
cold-up:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 DB 24 14 00 00 41 00 4F 90 00 00 00 00 4F A6 CA
low-voltage:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 24 EA 00 18 00 00 41 02 4F 90 00 00 00 00 08 78 CA
hot-up:
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 DB 25 40 00 00 41 04 4F 80 00 00 00 00 61 36 CA
After long running (warmed-up?), led starts blinking.
C5 00 80 00 00 00 00 28 1C 52 00 00 20 60 C1 91 00 00 00 00 00 00 00 00 00 00 00 44 DB 31 9E 00 11 43 04 4F 80 00 00 00 00 7A A2 CA

 

HH - is start/stop sync header/flag.
TT - is 32 bit timestamp, GPS atomic time started at 06 Jan 1980 00:00:00.
SS - leap seconds offset to UTC.
FL - status flags. See description below.

 

Status flags description

Based on this debug info and experiments, here is flags that avaliable on this receivers:

FL[0]:

bit6 - always 1
bit5 - GPS oscillator locked (sats are seen at least once)
bit1 - leap second announcement flag (will be added in next end of current half year: at 30 June or 31 December) proof1, proof2
bit0 - setted to 1 when no initial lock to satellites (not warmed)

FL[1]:

bit3 - setted to 1 on trimble when initialized and no sats seen.
bit2 - have GPS time
bit1 - have too small input voltage

FL[2]:

bit7 - 1 on symmetricom
bit6 - 1 on trimble
bit3 - no sync to GPS satellites (setted to 1 if survey not yet finished)
bit2 - always 1
bit1 - no sync to GPS satellites (setted to 1 if survey not yet finished)
bit0 - always 1

FL[3]:

bit7 - 1 on trimble
bit6 - 1 on symmetricom
bit5 - no antenna connected
bit4 - no GPS signal

Flags FL[0...3] value of normal condition - are 62 04 85 40 - for symmetricom and 62 04 45 80 - for trimble. Based on this info, it's possible to implement timestamp reader on FPGA that will set wall clock for EasyDABv2, needed for SFN operation.

 

UART4 port diagrams 

This port start transfer exactly on rising edge of 1PPS pulse. First bit - is start transmission, next - is LSB....MSB and there is also 1-bits signal of END of transmission. Each bit duration - is 1,6uS. Whole a transfer including startbit - is 65 bits, transfer duration- is 104uS. 

 

 So, bauds at the first picture would be:

1|00010|10110|00110|10110|11110|01000|10110|00010|00100|00011|11001|00000|0001
Start bit removed 8-byte aligned:
00010101|10001101|01101111|00100010|11000010|00100000|11110010|00000001
Bit reversed result (MSB-to-LSB):
10101000|10110001|11110110|01000100|01000011|00000100|01001111|10000000
Result in bytes:
TT*TT*TT*TT-FL*FL*FL*FL
A8 B1 F6 44 43 04 4F 80
Interpretation:
TT = A8 B1 F6 44 - is LSB-MSB form, or: 44 F6 B1 A8 (decimal: 1157018024 or: Sep 04, 2016 09:53:27 UTC)- is GPS time in seconds, started 6 Jan 1980. Without leap seconds.
FL = 43 04 4F 80 - is receiver's flags, equal to FL[0]...FL[3] of UART3 debug port.

The second window will show beginning of GPS time: 44 DB 13 64 (equal to Aug 14, 2016 11:06:59 UTC).
The big con of this port - is that leap second is not avaliable here.
The big pro - is that start bit is fully synchronized with 1PPS pulse, and this port (actually it's start bit) - can be used as 1PPS pulse as well.

Links:

[1] Hi-res image is borrowed from forum user NivagSwerdna.

[2] EEVBlog forum thread.

 

I'm trying a second time, as

I'm trying a second time, as I don't know if my first message went through.

I must be a bit slow understanding the UART4 decoding.
I understand why each byte is being bit reversed, because the the data is sent LSB first and we read bytes in print with MSB on the left. Now, the whole 32-bit time data also needs to be bit reversed for proper MSB-LSB representation.. But, how is 44 DB 08 06 derived from A8 B1 F6 44?
Plus, are we saying there is no stop bit in the entire 64 bit transmission? Just a start bit?
I was thinking of decoding this in a MCU, but using the standard UART isn't going to work. Given the speed needed, it would have to be a hardware implementation or a fast MCU, leaving just a second after decoding for other data retrieving tasks.
MAJ

There was a typo. Must be: 44

There was a typo. Must be: 44 F6 B1 A8 (Sep 04, 2016 09:53:27 UTC). I also tried to connect this port to FT232RL UART converter, but unfortunaly I'm received only waste from it.

How correctly connect GPS DO

How correctly connect GPS DO 57963-B with my PC for to get view information as on NMEA or on TSIP protocol?
I have normal 1pps and 10 mc signals and also connection to rs-232 of my PC using UART-1 .
Also using hyper terminal programm I got connect and posibility to see time and other information manually.

 Have no idea. But there is

 Have no idea. But there is no NMEA support on those modules.

I just receive 57963-B from

I just receive 57963-B from eBay your info is useful.
Thk :)

Nice work. Did you manage to

Nice work. Did you manage to trace any of the pins to the MOSFETs on the other side?

 No, just that pin between

 No, just that pin between power pins is connected to some sort of switching transistor. Other pins is still unknown.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <span> <img>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
All comments are PRE-MODERATED! Enter what you see:
Image CAPTCHA
Enter the characters shown in the image.