CLOCKSTEERING
Clock steering status
Platform: |
OEM719, OEM729, OEM7500, OEM7600, OEM7700, OEM7720, PwrPak7, CPT7, CPT7700, SMART7, SMART2 |
The CLOCKSTEERING log is used to monitor the current state of the clock steering process. All oscillators have some inherent drift. By default the receiver attempts to steer the receiver clock to accurately match GPS reference time. If for some reason this is not desired, this behavior can be disabled using the CLOCKADJUST command.
If the CLOCKADJUST command is ENABLED and the receiver is configured to use an external reference frequency (set in the EXTERNALCLOCK command), then the clock steering process takes over the VARF output pins and may conflict with a previously entered EVENTOUTCONTROL command.
Message ID: 26
Log Type: Asynch
Recommended Input:
log clocksteeringa onchanged
ASCII Example:
#CLOCKSTEERINGA,USB1,0,64.0,FINESTEERING,2209,502647.507,02000020,0f61,16809;INTERNAL,SECOND_ORDER,11000,6888.960937500,0.029999999,0.621999979,0.357,-0.027*5368cd23
To configure the receiver to use an external reference oscillator, see the EXTERNALCLOCK command.
Field |
Field type |
Description |
Format |
Binary Bytes |
Binary Offset |
1 |
Log header |
CLOCKSTEERING header For information about log headers, see ASCII, Abbreviated ASCII or Binary. |
|
H |
0 |
2 |
source |
Clock source, see Table: Clock Source |
Enum |
4 |
H |
3 |
steering state |
Steering state, see Table: Steering State |
Enum |
4 |
H+4 |
4 |
period |
Period of the pulse width modulated signal used to control the oscillator. This value is set using the CLOCKCALIBRATE command. |
Ulong |
4 |
H+8 |
5 |
pulse width |
Current pulse width of the pulse width modulated signal used to control the oscillator. The starting point for this value is set using the CLOCKCALIBRATE command. The clock steering loop continuously adjusts this value in an attempt to drive the receiver clock offset and drift terms to zero. |
Double |
8 |
H+12 |
6 |
bandwidth |
The current band width of the clock steering tracking loop in Hz. This value is set using the CLOCKCALIBRATE command. |
Double |
8 |
H+20 |
7 |
slope |
The current clock drift change in m/s/bit for a 1 LSB pulse width. This value is set using the CLOCKCALIBRATE command. |
Float |
4 |
H+28 |
8 |
offset |
The last valid receiver clock offset computed (m). It is the same as Field # 18 of the CLOCKMODEL log. |
Double |
8 |
H+32 |
9 |
drift rate |
The last valid receiver clock drift rate received (m/s). It is the same as Field # 19 of the CLOCKMODEL log. |
Double |
8 |
H+40 |
10 |
xxxx |
32-bit CRC (ASCII and Binary only) |
Hex |
4 |
H+48 |
11 |
[CR][LF] |
Sentence terminator (ASCII only) |
- |
- |
- |
Binary |
ASCII |
Description |
0 |
FIRST_ORDER |
Upon start-up, the clock steering task adjusts the VARF pulse width to reduce the receiver clock drift rate to below 1 ms using a 1st order control loop. This is the normal start-up state of the clock steering loop. |
1 |
SECOND_ORDER |
Once the receiver has reduced the clock drift to below 1 m/s, it enters a second order control loop and attempts to reduce the receiver clock offset to zero. This is the normal runtime state of the clock steering process. |
2 |
CALIBRATE_HIGH |
This state corresponds to when the calibration process is measuring at the "High" pulse width setting. The CALIBRATE_HIGH state is only seen if you force the receiver to do a clock steering calibration using the CLOCKCALIBRATE command. With the CLOCKCALIBRATE command, you can force the receiver to calibrate the slope and center pulse width of the currently selected oscillator, to steer. The receiver measures the drift rate at several "High" and "Low" pulse width settings. |
3 |
CALIBRATE_LOW |
This state corresponds to when the calibration process is measuring at the "Low" pulse width setting. The CALIBRATE_LOW state is only seen if you force the receiver to do a clock steering calibration using the CLOCKCALIBRATE command. With the CLOCKCALIBRATE command, you can force the receiver to calibrate the slope and center pulse width of the currently selected oscillator, to steer. The receiver measures the drift rate at several "High" and "Low" pulse width settings. |
4 |
CALIBRATE_CENTER |
This state corresponds to the "Center" calibration process. Once the center has been found, the modulus pulse width, center pulse width, loop bandwidth and measured slope values are saved in NVM and are used from now on for the currently selected oscillator (INTERNAL or EXTERNAL). After the receiver has measured the "High" and "Low" pulse width setting, the calibration process enters a "Center calibration" process where it attempts to find the pulse width required to zero the clock drift rate. |