Word 1: A 32-bit trigger count of the 41.66 MHz CPLD clock mounted on the DAQ board with a range from 00000000...FFFFFFFF. Its resolution (1 LSB increment) is 24 ns.1 A trigger count of 00000000 means that the DAQ card is still in the initialization phase, i.e., the GPS receiver has not started to generate 1PPS pulses yet. Do not use the initial data until the trigger count becomes non-zero!
Word 2: TMC count of the Rising Edge at input 0 (RE0). It is also the trigger tag. The format used is shown below:
bits 0-4 = TMC count of rising edge, resolution = 0.75 ns (=24 ns/32)
bit 5 = channel edge tag (1 = valid rising edge, 0 = no rising edge)
bit 6 = not used, always 0
bit 7 = trigger tag (1 = new trigger, start of a new event; 0 = follow-up data of a trigger event
Word 3: TMC count of Falling Edge at input 0 (FE0). The format used is shown below:
bits 0-4 = TMC count of falling edge
bit 5 = channel edge tag (1 = valid falling edge, 0 = no falling edge)
bits 6-7 = not used, always 0.
Word 4: TMC count of rising edge at input 1 (RE1); same format as RE0, except bit 7 is always 0.
Word 5: TMC count of falling edge at input 1 (FE1); same format as FE0.
Word 6: TMC count of rising edge at input 2 (RE2); same format as RE1.
Word 7: TMC count of falling edge at input 2 (FE2); same format as FE1.
Word 8: TMC count of rising edge at input 3 (RE3); same format as RE1.
Word 9: TMC count of falling edge at input 3 (FE3); same format as FE1.
1 24.00 ns if the CPLD clock is exactly 41666666.67 Hz. The actual CPLD frequency of each card is usually tuned within ±30 Hz of the target frequency of 41666667 Hz. Generally, an Hz drift from the target CPLD frequency result in accuracy errors of up to n*24 ns. For example, a 30 Hz drift means that the accuracy time error has a range of ±720 ns if exactly 24.00 ns are assumed for a CPLD clock tick time. It is reasonable to assume that an error within ±1000 ns is acceptable for a school network if the schools are more than 1 mile apart from each other.
The CPLD clock frequency fluctuates slightly over time, de-pending on temperature changes and oscillator ageing drifts. Therefore, in order to achieve high accuracy (±50 ns) in computing the absolute trigger times, you need to poll the current CPLD frequency at a regular basis (say once every 5 minutes) with command DG (Display GPS data). If the event rate is high enough (at least 1 event per 100 seconds), the CPLD frequency can be computed from the 1PPS counter numbers of consecutive events.
Word 10: A 32-bit CPLD count of the most recent 1PPS (1 pulse per second) time mark from the GPS receiver. This hex word ranges from 00000000...FFFFFFFF and has a resolution of 24 ns just like word 1
Word 11: UTC time of most recent GPS re-ceiver data update. Although one update is sent each second, it is asynchronous with the 1PPS pulse. The format used is shown below:
where: HH = hour [00...23]
MM = minute [00...59]
SS = second [00...59]
mmm = millisecond [000...999]
Word 12: UTC date of most recent GPS re-ceiver data update. The format used is shown below:
where: dd = day of month [01...31]
mm = month [01...12]
yy = year [00...99]
Word 13: A GPS valid/invalid flag.
A = valid (GPS data OK),
V = invalid (insufficient satellite lock for 3-D positioning, or GPS receiver is in initializing phase); time data might be OK if number of GPS satellites is 3 or more and previous GPS status was "A" (valid) within the last minute.
Word 14: The number of GPS satellites visible for time and position information. This is a decimal number between 00...12.
Word 15: This hex word is a DAQ status flag. The format used is shown below:
bit 0: 0 = OK
1 = 1PPS interrupt pending (Warning flag: If DAQ card is busy, then 1PPS count might lag be-hind or get mismatched.)
bit 1: 0 = OK
1 = trigger interrupt pending (pos-sibly high trigger rate; if con-tinues, then data might be cor-rupted.)
bit 2: 0 = OK
1 = GPS data possibly corrupted while DAQ uC was/is busy.
bit 3: 0 = OK
1 = Current or last 1PPS rate is not within 41666666 ±50 CPLD clock tick.s (This is a result of a GPS glitch, the DAQ uC being busy, or the CPLD oscillator not tuned correctly.)
Word 16: The time delay in milliseconds between the 1PPS pulse and the GPS data interrupt. A positive number means 1PPS pulse is ahead of GPS data, and negative number means GPS data is ahead of 1PPS. To get the actual GPS time to the nearest second, round (word 11 + word 16/1000) to nearest full second. This gives the actual GPS time at the last 1PPS pulse. (The same uncertainty comments apply here as in word 1.)