Skip to content

Commit 46789e3

Browse files
Disciplined Oscillator
Add instructions for creating disciplined oscillator Add missing image for assembly
1 parent 01c130a commit 46789e3

File tree

4 files changed

+112
-0
lines changed

4 files changed

+112
-0
lines changed
411 KB
Loading
219 KB
Loading

docs/oscillator.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
icon: material/sine-wave
3+
---
4+
5+
!!! info
6+
This section describes a possible setup for a 10 MHz disciplined clock using the mosaic-T as a precision time source, which is particularly suitable in combination with Fugro AtomiChron^®^ service. For more details, please refer to **Appendix D** of the [hardware manual](./assets/component_documentation/mosaic_hardware_manual_v1.9.0.pdf) and [firmware manual](./assets/component_documentation/firmware/mosaic-T_Firmware_v4.14.10.1_Reference_Guide.pdf).
7+
8+
9+
!!! warning
10+
If the reference clock switch is set to `EXT`, users must provide a 10MHz input signal. Otherwise, the mosaic-T module will cease to operate, without a clock signal. Additionally, switching between external and internal frequency references must occur when the module is powered off, or the module must be reset after switching.
11+
12+
13+
14+
## Hardware Setup
15+
The mosaic-T utilizes the 10-MHz signal from the steered oscillator as frequency reference, instead of its own internal crystal oscillator. An external controller, then reads the clock bias reported from the mosaic-T module in its SBF messages and steers it to zero by adjusting the frequency of the oscillator. When the clock bias is zero, the receiver time scale is aligned with GNSS time. Unlike traditional approaches, this architecture does not require any hardware to measure time delays.
16+
17+
<figure markdown>
18+
[![Disciplined clock setup](./assets/img/hookup_guide/disciplined_clock.png){ width="600" }](./assets/img/hookup_guide/disciplined_clock.png "Click to enlarge")
19+
<figcaption markdown>The setup for a disciplined clock with a mosaic-T module, controller, and a tunable oscillator.</figcaption>
20+
</figure>
21+
22+
23+
24+
## Software Configuration
25+
26+
### mosaic-T
27+
Users will configure the mosaic-T module to disable the PPS pulses and perform an initial synchronization to GNSS time on boot. These configurations are set by entering the SBF commands below. The commands only have to be entered once, as the last `exeCopyConfigFile` command makes them persistent in the boot configuration.
28+
29+
30+
!!! serial
31+
These configurations are set by entering the following SBF commands:
32+
33+
```bash
34+
setPPSParameters, off
35+
setClockSyncThreshold, usec500, on
36+
```
37+
38+
To save the configurations to the module, enter the following SBF command:
39+
40+
```bash
41+
exeCopyConfigFile, Current, Boot
42+
```
43+
44+
45+
!!! info
46+
Refer to the [firmware manual](./assets/component_documentation/firmware/mosaic-T_Firmware_v4.14.10.1_Reference_Guide.pdf) for a more detailed description of these commands.
47+
48+
49+
### Controller
50+
At each subsequent (re)start of the system, the controller will need to execute the following algorithm:
51+
52+
1. Enable the output of the `PVTCartesian` (or `PVTGeodetic`) and of the `ReceiverTime` SBF blocks to the controller at a desired rate *(1Hz, in the example below)*.
53+
54+
55+
!!! serial
56+
These configurations are set by entering the following SBF commands:
57+
58+
```bash
59+
setSBFGroups, Group1, PVTGeodetic+ReceiverTime
60+
setSBFOutput, Stream1, COM1, Group1, sec1
61+
```
62+
63+
To save the configurations to the module, enter the following SBF command:
64+
65+
```bash
66+
exeCopyConfigFile, Current, Boot
67+
```
68+
69+
70+
1. Wait until the `FINETIME` bit is set in the `SyncLevel` field of the `ReceiverTime` SBF block. This indicates that the receiver's time initialization is complete.
71+
1. Each time the `PVTCartesian` block is received by the controller, read the clock bias from its `RxClkBias` field.
72+
1. The initial clock bias should be small (typically <200ns)
73+
- If the value is positive, adjust the tuning level to slightly decrease the oscillator frequency.
74+
- If the value is negative, adjust the tuning level to slightly increase the oscillator frequency.
75+
1. Continue this process above, until the clock bias has converged to zero.
76+
- While steering the oscillator frequency, it is recommended to keep the rate of frequency change smaller than 3 ppb per second *(i.e. not to change the 10-MHz frequency by more than 0.03 Hz per second)*.
77+
1. Once a lock is achieved, the receiver time will be synchronized with the GNSS time.
78+
- Users can then, enable the PPS signal from the mosaic-T in **RxClock** mode using the `setPPSParameters` command.
79+
80+
81+
!!! serial
82+
These configurations are set by entering the following SBF command:
83+
84+
```bash
85+
setPPSParameters, <Interval>, <Polarity>, <Delay>, <TimeScale>, <MaxSyncAge>, <PulseWidth>
86+
```
87+
88+
To save the configurations to the module, enter the following SBF command:
89+
90+
```bash
91+
exeCopyConfigFile, Current, Boot
92+
```
93+
94+
95+
!!! info
96+
In RxClock mode, the PPS pulses will be aligned with the receiver's time and locked to the 10-MHz reference signal from the oscillator. *(i.e. Assuming a 1Hz PPS rate, the pulses will be generated exactly every 10 million cycles of the oscillator, in a constant phase with respect to the oscillator cycles.)*
97+
98+
99+
1. Continue steering the clock bias to zero to keep the oscillator and the PPS aligned with the GNSS time.
100+
- During GNSS signal outages, the PPS pulses from the module will remain phase locked to the oscillator. The stability of the hold-over period, will depend on the quality of the oscillator.
101+
102+
103+
!!! tip
104+
When using [Fugro's AtomiChron^&reg;^ service](fugro_atomichron.md), the reported clock will initially refer to the GNSS time scale during the first two to three minutes after start up, before switching to the AtomiChron^&reg;^ time scale. The change between reference time scales, may lead to a clock bias shift by a couple of nanoseconds. The reference time scale is reported in the `TimeSystem` field of the `PVTCartesian` SBF block and the jump can be avoided by waiting until that field is set to *Fugro AtomiChron* (`100`).
105+
106+
107+
!!! note "Timing Delay"
108+
The PPS aligned signal, as described above, will typically be late by a few tens of nanoseconds. This is due to delays from the antenna, cables and RF frontend of the receiver.
109+
- In the mosaic modules, the frontend RF delay is about 10 ns.
110+
- Typical values for the antenna delay range from 10 to 20 ns, and coax cable delay amounts to about 5 ns per meter.
111+
- If the total delay is known, it can be compensated with the `setCalibCommonDelay` SBF command.

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,7 @@ nav:
416416
- Web Interface: web_interface.md
417417
- Adv. Configurations:
418418
- Enable GNSS Signals: gnss_signals.md
419+
- Disciplined Oscillator: oscillator.md
419420
- Resources: resources.md
420421
- Support:
421422
- Troubleshooting Tips: troubleshooting_tips.md

0 commit comments

Comments
 (0)