JW
James Wilson
Wed, Dec 21, 2022 11:22 PM
After running in many of the familiar problems of connecting a GPS timing module 1PPS signal to a PRS-10, I want try building a software sawtooth correction board. I’ve seen previous discussion of some of the commands to use for adjusting the PLL and PPS control on the PRS-10 and getting the sawtooth error from ublox GNSS modules, but not a start-to-finish description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to the ublox module and the other connected to the PRS-10, with level shifters as needed. The microcontroller sits between the two devices, and gets the PPS sawtooth correction info from the ublox (specifically via the UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS time offset by this value to null out the sawtooth for the next pulse.
-
At startup, configure the timing module to periodically send UBX-TIM-TP messages every second. From the PRS-10, get the current time offset value with the TO? command.
-
Listen for UBX-TIM-TP messages, and extract the qErr field. If the qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add this to the stored time offset value. Push the adjusted time offset to the PRS-10 via the TO command.
Has anyone built sawtooth correction for the PRS-10 and can comment on this?
After running in many of the familiar problems of connecting a GPS timing module 1PPS signal to a PRS-10, I want try building a software sawtooth correction board. I’ve seen previous discussion of some of the commands to use for adjusting the PLL and PPS control on the PRS-10 and getting the sawtooth error from ublox GNSS modules, but not a start-to-finish description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to the ublox module and the other connected to the PRS-10, with level shifters as needed. The microcontroller sits between the two devices, and gets the PPS sawtooth correction info from the ublox (specifically via the UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS time offset by this value to null out the sawtooth for the next pulse.
1. At startup, configure the timing module to periodically send UBX-TIM-TP messages every second. From the PRS-10, get the current time offset value with the TO? command.
2. Listen for UBX-TIM-TP messages, and extract the qErr field. If the qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add this to the stored time offset value. Push the adjusted time offset to the PRS-10 via the TO command.
Has anyone built sawtooth correction for the PRS-10 and can comment on this?
JH
Jim Harman
Thu, Dec 22, 2022 12:42 AM
I have not interfaced to the PRS-10, but I have Arduino code to extract the
qErr data from the UBX-TIM-TP messages. It also extracts the clock time
from that message in case that is of interest . It is implemented as a C++
Class and is easily extensible if you need to read more uBlox messages.
One thing you also may want to consider in working with the uBlox T series
modules is the need to do a Survey-in to determine the exact location and
put the module in Fixed mode, to reduce the errors in the timepulse.
I would be happy to share my code and setup instructions for the uBlox
modules if that would be helpful.
On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
time-nuts@lists.febo.com> wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected
to the ublox module and the other connected to the PRS-10, with level
shifters as needed. The microcontroller sits between the two devices, and
gets the PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
-
At startup, configure the timing module to periodically send UBX-TIM-TP
messages every second. From the PRS-10, get the current time offset value
with the TO? command.
-
Listen for UBX-TIM-TP messages, and extract the qErr field. If the
qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
this to the stored time offset value. Push the adjusted time offset to the
PRS-10 via the TO command.
Has anyone built sawtooth correction for the PRS-10 and can comment on
this?
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
I have not interfaced to the PRS-10, but I have Arduino code to extract the
qErr data from the UBX-TIM-TP messages. It also extracts the clock time
from that message in case that is of interest . It is implemented as a C++
Class and is easily extensible if you need to read more uBlox messages.
One thing you also may want to consider in working with the uBlox T series
modules is the need to do a Survey-in to determine the exact location and
put the module in Fixed mode, to reduce the errors in the timepulse.
I would be happy to share my code and setup instructions for the uBlox
modules if that would be helpful.
On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
time-nuts@lists.febo.com> wrote:
> After running in many of the familiar problems of connecting a GPS timing
> module 1PPS signal to a PRS-10, I want try building a software sawtooth
> correction board. I’ve seen previous discussion of some of the commands to
> use for adjusting the PLL and PPS control on the PRS-10 and getting the
> sawtooth error from ublox GNSS modules, but not a start-to-finish
> description of how to put everything together.
>
> My idea to use a microcontroller with multiple UART ports; one connected
> to the ublox module and the other connected to the PRS-10, with level
> shifters as needed. The microcontroller sits between the two devices, and
> gets the PPS sawtooth correction info from the ublox (specifically via the
> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
> time offset by this value to null out the sawtooth for the next pulse.
>
> 1. At startup, configure the timing module to periodically send UBX-TIM-TP
> messages every second. From the PRS-10, get the current time offset value
> with the TO? command.
>
> 2. Listen for UBX-TIM-TP messages, and extract the qErr field. If the
> qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
> this to the stored time offset value. Push the adjusted time offset to the
> PRS-10 via the TO command.
>
> Has anyone built sawtooth correction for the PRS-10 and can comment on
> this?
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
--
--Jim Harman
JW
James Wilson
Thu, Dec 22, 2022 6:20 AM
Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
On Dec 21, 2022, at 16:42, Jim Harman via time-nuts time-nuts@lists.febo.com wrote:
I have not interfaced to the PRS-10, but I have Arduino code to extract the
qErr data from the UBX-TIM-TP messages. It also extracts the clock time
from that message in case that is of interest . It is implemented as a C++
Class and is easily extensible if you need to read more uBlox messages.
One thing you also may want to consider in working with the uBlox T series
modules is the need to do a Survey-in to determine the exact location and
put the module in Fixed mode, to reduce the errors in the timepulse.
I would be happy to share my code and setup instructions for the uBlox
modules if that would be helpful.
On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
time-nuts@lists.febo.com> wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected
to the ublox module and the other connected to the PRS-10, with level
shifters as needed. The microcontroller sits between the two devices, and
gets the PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
-
At startup, configure the timing module to periodically send UBX-TIM-TP
messages every second. From the PRS-10, get the current time offset value
with the TO? command.
-
Listen for UBX-TIM-TP messages, and extract the qErr field. If the
qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
this to the stored time offset value. Push the adjusted time offset to the
PRS-10 via the TO command.
Has anyone built sawtooth correction for the PRS-10 and can comment on
this?
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
> On Dec 21, 2022, at 16:42, Jim Harman via time-nuts <time-nuts@lists.febo.com> wrote:
>
> I have not interfaced to the PRS-10, but I have Arduino code to extract the
> qErr data from the UBX-TIM-TP messages. It also extracts the clock time
> from that message in case that is of interest . It is implemented as a C++
> Class and is easily extensible if you need to read more uBlox messages.
>
> One thing you also may want to consider in working with the uBlox T series
> modules is the need to do a Survey-in to determine the exact location and
> put the module in Fixed mode, to reduce the errors in the timepulse.
>
> I would be happy to share my code and setup instructions for the uBlox
> modules if that would be helpful.
>
> On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
> time-nuts@lists.febo.com> wrote:
>
>> After running in many of the familiar problems of connecting a GPS timing
>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>> correction board. I’ve seen previous discussion of some of the commands to
>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>> description of how to put everything together.
>>
>> My idea to use a microcontroller with multiple UART ports; one connected
>> to the ublox module and the other connected to the PRS-10, with level
>> shifters as needed. The microcontroller sits between the two devices, and
>> gets the PPS sawtooth correction info from the ublox (specifically via the
>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>> time offset by this value to null out the sawtooth for the next pulse.
>>
>> 1. At startup, configure the timing module to periodically send UBX-TIM-TP
>> messages every second. From the PRS-10, get the current time offset value
>> with the TO? command.
>>
>> 2. Listen for UBX-TIM-TP messages, and extract the qErr field. If the
>> qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
>> this to the stored time offset value. Push the adjusted time offset to the
>> PRS-10 via the TO command.
>>
>> Has anyone built sawtooth correction for the PRS-10 and can comment on
>> this?
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>
>
>
> --
>
> --Jim Harman
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
BC
Bob Camp
Thu, Dec 22, 2022 1:57 PM
On Dec 22, 2022, at 1:20 AM, James Wilson via time-nuts time-nuts@lists.febo.com wrote:
Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
On Dec 21, 2022, at 16:42, Jim Harman via time-nuts time-nuts@lists.febo.com wrote:
I have not interfaced to the PRS-10, but I have Arduino code to extract the
qErr data from the UBX-TIM-TP messages. It also extracts the clock time
from that message in case that is of interest . It is implemented as a C++
Class and is easily extensible if you need to read more uBlox messages.
One thing you also may want to consider in working with the uBlox T series
modules is the need to do a Survey-in to determine the exact location and
put the module in Fixed mode, to reduce the errors in the timepulse.
I would be happy to share my code and setup instructions for the uBlox
modules if that would be helpful.
On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
time-nuts@lists.febo.com> wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected
to the ublox module and the other connected to the PRS-10, with level
shifters as needed. The microcontroller sits between the two devices, and
gets the PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
-
At startup, configure the timing module to periodically send UBX-TIM-TP
messages every second. From the PRS-10, get the current time offset value
with the TO? command.
-
Listen for UBX-TIM-TP messages, and extract the qErr field. If the
qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
this to the stored time offset value. Push the adjusted time offset to the
PRS-10 via the TO command.
Doesn’t the TO command set the output time on the PRS-10? In other words,
it’s setting the delay between the “internal” forever running PPS and the rising
edge on the output waveform.
If so, it’s not quite clear what you will be getting done other than transferring all
of the jitter from the output of the GPS to the output of the Rb. The PRS-10
will go from a 1x10^-11 1 sec ADEV to roughly 1x10^-9 at 1 second ….
Bob
Hi
One quick question:
> On Dec 22, 2022, at 1:20 AM, James Wilson via time-nuts <time-nuts@lists.febo.com> wrote:
>
> Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
>
> I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
>
>> On Dec 21, 2022, at 16:42, Jim Harman via time-nuts <time-nuts@lists.febo.com> wrote:
>>
>> I have not interfaced to the PRS-10, but I have Arduino code to extract the
>> qErr data from the UBX-TIM-TP messages. It also extracts the clock time
>> from that message in case that is of interest . It is implemented as a C++
>> Class and is easily extensible if you need to read more uBlox messages.
>>
>> One thing you also may want to consider in working with the uBlox T series
>> modules is the need to do a Survey-in to determine the exact location and
>> put the module in Fixed mode, to reduce the errors in the timepulse.
>>
>> I would be happy to share my code and setup instructions for the uBlox
>> modules if that would be helpful.
>>
>> On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
>> time-nuts@lists.febo.com> wrote:
>>
>>> After running in many of the familiar problems of connecting a GPS timing
>>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>>> correction board. I’ve seen previous discussion of some of the commands to
>>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>>> description of how to put everything together.
>>>
>>> My idea to use a microcontroller with multiple UART ports; one connected
>>> to the ublox module and the other connected to the PRS-10, with level
>>> shifters as needed. The microcontroller sits between the two devices, and
>>> gets the PPS sawtooth correction info from the ublox (specifically via the
>>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>>> time offset by this value to null out the sawtooth for the next pulse.
>>>
>>> 1. At startup, configure the timing module to periodically send UBX-TIM-TP
>>> messages every second. From the PRS-10, get the current time offset value
>>> with the TO? command.
>>>
>>> 2. Listen for UBX-TIM-TP messages, and extract the qErr field. If the
>>> qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
>>> this to the stored time offset value. Push the adjusted time offset to the
>>> PRS-10 via the TO command.
Doesn’t the TO command set the *output* time on the PRS-10? In other words,
it’s setting the delay between the “internal” forever running PPS and the rising
edge on the output waveform.
If so, it’s not quite clear what you will be getting done other than transferring all
of the jitter from the output of the GPS to the output of the Rb. The PRS-10
will go from a 1x10^-11 1 sec ADEV to roughly 1x10^-9 at 1 second ….
Bob
>>>
>>> Has anyone built sawtooth correction for the PRS-10 and can comment on
>>> this?
>>> _______________________________________________
>>> time-nuts mailing list -- time-nuts@lists.febo.com
>>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>>
>>
>>
>> --
>>
>> --Jim Harman
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
AB
Azelio Boriani
Thu, Dec 22, 2022 3:06 PM
The PRS10 manual offers no clue about when the offset (TO command) is
added to the measured time-tag (TT? command) so the only way to know
is to try (with the input filter off, LM0 command) and see if feeding
the sawtooth correction once a second has any effect on the PPS output
and frequency output. In my opinion the PRS10 input filter makes the
sawtooth correction unnecessary. other than taking care of occasional
hanging bridges.
On Thu, Dec 22, 2022 at 1:15 PM James Wilson via time-nuts
time-nuts@lists.febo.com wrote:
Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
On Dec 21, 2022, at 16:42, Jim Harman via time-nuts time-nuts@lists.febo.com wrote:
I have not interfaced to the PRS-10, but I have Arduino code to extract the
qErr data from the UBX-TIM-TP messages. It also extracts the clock time
from that message in case that is of interest . It is implemented as a C++
Class and is easily extensible if you need to read more uBlox messages.
One thing you also may want to consider in working with the uBlox T series
modules is the need to do a Survey-in to determine the exact location and
put the module in Fixed mode, to reduce the errors in the timepulse.
I would be happy to share my code and setup instructions for the uBlox
modules if that would be helpful.
On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
time-nuts@lists.febo.com> wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected
to the ublox module and the other connected to the PRS-10, with level
shifters as needed. The microcontroller sits between the two devices, and
gets the PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
-
At startup, configure the timing module to periodically send UBX-TIM-TP
messages every second. From the PRS-10, get the current time offset value
with the TO? command.
-
Listen for UBX-TIM-TP messages, and extract the qErr field. If the
qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
this to the stored time offset value. Push the adjusted time offset to the
PRS-10 via the TO command.
Has anyone built sawtooth correction for the PRS-10 and can comment on
this?
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
--
--Jim Harman
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
The PRS10 manual offers no clue about when the offset (TO command) is
added to the measured time-tag (TT? command) so the only way to know
is to try (with the input filter off, LM0 command) and see if feeding
the sawtooth correction once a second has any effect on the PPS output
and frequency output. In my opinion the PRS10 input filter makes the
sawtooth correction unnecessary. other than taking care of occasional
hanging bridges.
On Thu, Dec 22, 2022 at 1:15 PM James Wilson via time-nuts
<time-nuts@lists.febo.com> wrote:
>
> Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
>
> I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
>
> > On Dec 21, 2022, at 16:42, Jim Harman via time-nuts <time-nuts@lists.febo.com> wrote:
> >
> > I have not interfaced to the PRS-10, but I have Arduino code to extract the
> > qErr data from the UBX-TIM-TP messages. It also extracts the clock time
> > from that message in case that is of interest . It is implemented as a C++
> > Class and is easily extensible if you need to read more uBlox messages.
> >
> > One thing you also may want to consider in working with the uBlox T series
> > modules is the need to do a Survey-in to determine the exact location and
> > put the module in Fixed mode, to reduce the errors in the timepulse.
> >
> > I would be happy to share my code and setup instructions for the uBlox
> > modules if that would be helpful.
> >
> > On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
> > time-nuts@lists.febo.com> wrote:
> >
> >> After running in many of the familiar problems of connecting a GPS timing
> >> module 1PPS signal to a PRS-10, I want try building a software sawtooth
> >> correction board. I’ve seen previous discussion of some of the commands to
> >> use for adjusting the PLL and PPS control on the PRS-10 and getting the
> >> sawtooth error from ublox GNSS modules, but not a start-to-finish
> >> description of how to put everything together.
> >>
> >> My idea to use a microcontroller with multiple UART ports; one connected
> >> to the ublox module and the other connected to the PRS-10, with level
> >> shifters as needed. The microcontroller sits between the two devices, and
> >> gets the PPS sawtooth correction info from the ublox (specifically via the
> >> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
> >> time offset by this value to null out the sawtooth for the next pulse.
> >>
> >> 1. At startup, configure the timing module to periodically send UBX-TIM-TP
> >> messages every second. From the PRS-10, get the current time offset value
> >> with the TO? command.
> >>
> >> 2. Listen for UBX-TIM-TP messages, and extract the qErr field. If the
> >> qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
> >> this to the stored time offset value. Push the adjusted time offset to the
> >> PRS-10 via the TO command.
> >>
> >> Has anyone built sawtooth correction for the PRS-10 and can comment on
> >> this?
> >> _______________________________________________
> >> time-nuts mailing list -- time-nuts@lists.febo.com
> >> To unsubscribe send an email to time-nuts-leave@lists.febo.com
> >
> >
> >
> > --
> >
> > --Jim Harman
> > _______________________________________________
> > time-nuts mailing list -- time-nuts@lists.febo.com
> > To unsubscribe send an email to time-nuts-leave@lists.febo.com
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
BC
Bob Camp
Thu, Dec 22, 2022 3:19 PM
Hi
My thought was that there must be a command to set/modify the “position” of the output
PPS without doing anything else. Based on a quick re-read of the commands, it was the
only candidate I saw. You kinda sorta need to have a command like that to get the output
lined up to the “right” on time tick time ( if that’s the sort of application you have ….).
Bob
On Dec 22, 2022, at 10:06 AM, Azelio Boriani via time-nuts time-nuts@lists.febo.com wrote:
The PRS10 manual offers no clue about when the offset (TO command) is
added to the measured time-tag (TT? command) so the only way to know
is to try (with the input filter off, LM0 command) and see if feeding
the sawtooth correction once a second has any effect on the PPS output
and frequency output. In my opinion the PRS10 input filter makes the
sawtooth correction unnecessary. other than taking care of occasional
hanging bridges.
On Thu, Dec 22, 2022 at 1:15 PM James Wilson via time-nuts
time-nuts@lists.febo.com wrote:
Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
On Dec 21, 2022, at 16:42, Jim Harman via time-nuts time-nuts@lists.febo.com wrote:
I have not interfaced to the PRS-10, but I have Arduino code to extract the
qErr data from the UBX-TIM-TP messages. It also extracts the clock time
from that message in case that is of interest . It is implemented as a C++
Class and is easily extensible if you need to read more uBlox messages.
One thing you also may want to consider in working with the uBlox T series
modules is the need to do a Survey-in to determine the exact location and
put the module in Fixed mode, to reduce the errors in the timepulse.
I would be happy to share my code and setup instructions for the uBlox
modules if that would be helpful.
On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
time-nuts@lists.febo.com> wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected
to the ublox module and the other connected to the PRS-10, with level
shifters as needed. The microcontroller sits between the two devices, and
gets the PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
-
At startup, configure the timing module to periodically send UBX-TIM-TP
messages every second. From the PRS-10, get the current time offset value
with the TO? command.
-
Listen for UBX-TIM-TP messages, and extract the qErr field. If the
qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
this to the stored time offset value. Push the adjusted time offset to the
PRS-10 via the TO command.
Has anyone built sawtooth correction for the PRS-10 and can comment on
this?
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
Hi
My thought was that there must be a command to set/modify the “position” of the output
PPS without doing anything else. Based on a quick re-read of the commands, it was the
only candidate I saw. You kinda sorta need to have a command like that to get the output
lined up to the “right” on time tick time ( if that’s the sort of application you have ….).
Bob
> On Dec 22, 2022, at 10:06 AM, Azelio Boriani via time-nuts <time-nuts@lists.febo.com> wrote:
>
> The PRS10 manual offers no clue about when the offset (TO command) is
> added to the measured time-tag (TT? command) so the only way to know
> is to try (with the input filter off, LM0 command) and see if feeding
> the sawtooth correction once a second has any effect on the PPS output
> and frequency output. In my opinion the PRS10 input filter makes the
> sawtooth correction unnecessary. other than taking care of occasional
> hanging bridges.
>
> On Thu, Dec 22, 2022 at 1:15 PM James Wilson via time-nuts
> <time-nuts@lists.febo.com> wrote:
>>
>> Thanks Jim - I wouldn’t mind having a look at the code you wrote to see if I understand the ublox commands correctly.
>>
>> I’ve done the survey-in step with the LEA-M8T module I have - I’ll probably have this program do it as part of startup if the GNSS module is on a cold boot and doesn’t have saved survey data.
>>
>>> On Dec 21, 2022, at 16:42, Jim Harman via time-nuts <time-nuts@lists.febo.com> wrote:
>>>
>>> I have not interfaced to the PRS-10, but I have Arduino code to extract the
>>> qErr data from the UBX-TIM-TP messages. It also extracts the clock time
>>> from that message in case that is of interest . It is implemented as a C++
>>> Class and is easily extensible if you need to read more uBlox messages.
>>>
>>> One thing you also may want to consider in working with the uBlox T series
>>> modules is the need to do a Survey-in to determine the exact location and
>>> put the module in Fixed mode, to reduce the errors in the timepulse.
>>>
>>> I would be happy to share my code and setup instructions for the uBlox
>>> modules if that would be helpful.
>>>
>>> On Wed, Dec 21, 2022 at 6:49 PM James Wilson via time-nuts <
>>> time-nuts@lists.febo.com> wrote:
>>>
>>>> After running in many of the familiar problems of connecting a GPS timing
>>>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>>>> correction board. I’ve seen previous discussion of some of the commands to
>>>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>>>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>>>> description of how to put everything together.
>>>>
>>>> My idea to use a microcontroller with multiple UART ports; one connected
>>>> to the ublox module and the other connected to the PRS-10, with level
>>>> shifters as needed. The microcontroller sits between the two devices, and
>>>> gets the PPS sawtooth correction info from the ublox (specifically via the
>>>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>>>> time offset by this value to null out the sawtooth for the next pulse.
>>>>
>>>> 1. At startup, configure the timing module to periodically send UBX-TIM-TP
>>>> messages every second. From the PRS-10, get the current time offset value
>>>> with the TO? command.
>>>>
>>>> 2. Listen for UBX-TIM-TP messages, and extract the qErr field. If the
>>>> qErrInvalid bit is clear, compute qErr/1000 (convert from ps to ns) and add
>>>> this to the stored time offset value. Push the adjusted time offset to the
>>>> PRS-10 via the TO command.
>>>>
>>>> Has anyone built sawtooth correction for the PRS-10 and can comment on
>>>> this?
>>>> _______________________________________________
>>>> time-nuts mailing list -- time-nuts@lists.febo.com
>>>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>>>
>>>
>>>
>>> --
>>>
>>> --Jim Harman
>>> _______________________________________________
>>> time-nuts mailing list -- time-nuts@lists.febo.com
>>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
JW
James Wilson
Thu, Dec 22, 2022 7:18 PM
On Dec 22, 2022, at 07:19, Bob Camp via time-nuts time-nuts@lists.febo.com wrote:
Hi
My thought was that there must be a command to set/modify the “position” of the output
PPS without doing anything else. Based on a quick re-read of the commands, it was the
only candidate I saw. You kinda sorta need to have a command like that to get the output
lined up to the “right” on time tick time ( if that’s the sort of application you have ….).
Bob
The PP command actually moves the pulse.
Regarding your other question about the TO command, I do not think it changes the output time pulse: it is a value that is added to the measured time-tag (PPS_IN - PPS_OUT) as the reported time-tag (what is returned by TT?). The manual describes the calibration procedure of looping the PPS_IN and PPS_OUT connections, then measuring the time-tag value of TT?. This returned value should be subtracted from the current time offset (TO?) and then set as the time offset using TO. After that, the result of the TT? command will be roughly zero. If TO actually moved the pulse, then this calibration wouldn’t work since in this looped case, it is always true that PPS_IN = PPS_OUT + cable delay.
From my understanding of the manual and my experience with the PRS10, when the PLL starts up, it does a one-time alignment of the time pulse and then it makes slow adjustments to the oscillator frequency to drive the time-tag value to zero. It is not continually moving the pulse delay or that would cause insane jitter as you mentioned.
> On Dec 22, 2022, at 07:19, Bob Camp via time-nuts <time-nuts@lists.febo.com> wrote:
>
> Hi
>
> My thought was that there must be a command to set/modify the “position” of the output
> PPS without doing anything else. Based on a quick re-read of the commands, it was the
> only candidate I saw. You kinda sorta need to have a command like that to get the output
> lined up to the “right” on time tick time ( if that’s the sort of application you have ….).
>
> Bob
The PP command actually moves the pulse.
Regarding your other question about the TO command, I do not think it changes the output time pulse: it is a value that is added to the measured time-tag (PPS_IN - PPS_OUT) as the reported time-tag (what is returned by TT?). The manual describes the calibration procedure of looping the PPS_IN and PPS_OUT connections, then measuring the time-tag value of TT?. This returned value should be subtracted from the current time offset (TO?) and then set as the time offset using TO. After that, the result of the TT? command will be roughly zero. If TO actually moved the pulse, then this calibration wouldn’t work since in this looped case, it is always true that PPS_IN = PPS_OUT + cable delay.
From my understanding of the manual and my experience with the PRS10, when the PLL starts up, it does a one-time alignment of the time pulse and then it makes slow adjustments to the oscillator frequency to drive the time-tag value to zero. It is not continually moving the pulse delay or that would cause insane jitter as you mentioned.
MW
Matthias Welwarsky
Sun, Dec 25, 2022 12:52 PM
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to
the ublox module and the other connected to the PRS-10, with level shifters
as needed. The microcontroller sits between the two devices, and gets the
PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
> After running in many of the familiar problems of connecting a GPS timing
> module 1PPS signal to a PRS-10, I want try building a software sawtooth
> correction board. I’ve seen previous discussion of some of the commands to
> use for adjusting the PLL and PPS control on the PRS-10 and getting the
> sawtooth error from ublox GNSS modules, but not a start-to-finish
> description of how to put everything together.
> My idea to use a microcontroller with multiple UART ports; one connected to
> the ublox module and the other connected to the PRS-10, with level shifters
> as needed. The microcontroller sits between the two devices, and gets the
> PPS sawtooth correction info from the ublox (specifically via the
> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
> time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
GM
Greg Maxwell
Sun, Dec 25, 2022 2:28 PM
Has anyone tried talking to SRS? If TO doesn't do the right thing
already then it should only require a modest bit of firmware to do so,
and then a $1 microcontroller and gps unit (perhaps a nice new dual
frequency one) would turn the FS725 into a great GPSDO.
Anyone know if the FS740 rubidium version contains a PRS10? I would
assume-- might be interesting to spy on its serial communication.
On Sun, Dec 25, 2022 at 1:16 PM Matthias Welwarsky via time-nuts
time-nuts@lists.febo.com wrote:
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to
the ublox module and the other connected to the PRS-10, with level shifters
as needed. The microcontroller sits between the two devices, and gets the
PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
Has anyone tried talking to SRS? If TO doesn't do the right thing
already then it should only require a modest bit of firmware to do so,
and then a $1 microcontroller and gps unit (perhaps a nice new dual
frequency one) would turn the FS725 into a great GPSDO.
Anyone know if the FS740 rubidium version contains a PRS10? I would
assume-- might be interesting to spy on its serial communication.
On Sun, Dec 25, 2022 at 1:16 PM Matthias Welwarsky via time-nuts
<time-nuts@lists.febo.com> wrote:
>
> On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
> wrote:
> > After running in many of the familiar problems of connecting a GPS timing
> > module 1PPS signal to a PRS-10, I want try building a software sawtooth
> > correction board. I’ve seen previous discussion of some of the commands to
> > use for adjusting the PLL and PPS control on the PRS-10 and getting the
> > sawtooth error from ublox GNSS modules, but not a start-to-finish
> > description of how to put everything together.
>
> > My idea to use a microcontroller with multiple UART ports; one connected to
> > the ublox module and the other connected to the PRS-10, with level shifters
> > as needed. The microcontroller sits between the two devices, and gets the
> > PPS sawtooth correction info from the ublox (specifically via the
> > UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
> > time offset by this value to null out the sawtooth for the next pulse.
>
> I suggest you try correcting the 1PPS pulse of the timing module itself, using
> a variable delay line. I don't have a particular part in mind, Maxim might
> have something.
>
> There was a very elaborate GPSDO project discussed last year on this list that
> used this technique.
>
> BR,
> Matthias
>
> > _______________________________________________
> > time-nuts mailing list -- time-nuts@lists.febo.com
> > To unsubscribe send an email to time-nuts-leave@lists.febo.com
>
>
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
BC
Bob Camp
Sun, Dec 25, 2022 7:13 PM
Hi
If you buy the right option, you get a FS740 with a Rb. Since the hardware in the box
also works fine with an OCXO, it is unlikely that they do anything odd with the Rb other
than simply tune it.
Bob
On Dec 25, 2022, at 9:28 AM, Greg Maxwell via time-nuts time-nuts@lists.febo.com wrote:
Has anyone tried talking to SRS? If TO doesn't do the right thing
already then it should only require a modest bit of firmware to do so,
and then a $1 microcontroller and gps unit (perhaps a nice new dual
frequency one) would turn the FS725 into a great GPSDO.
Anyone know if the FS740 rubidium version contains a PRS10? I would
assume-- might be interesting to spy on its serial communication.
On Sun, Dec 25, 2022 at 1:16 PM Matthias Welwarsky via time-nuts
time-nuts@lists.febo.com wrote:
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to
the ublox module and the other connected to the PRS-10, with level shifters
as needed. The microcontroller sits between the two devices, and gets the
PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
Hi
If you buy the right option, you get a FS740 with a Rb. Since the hardware in the box
also works fine with an OCXO, it is unlikely that they do anything odd with the Rb other
than simply tune it.
Bob
> On Dec 25, 2022, at 9:28 AM, Greg Maxwell via time-nuts <time-nuts@lists.febo.com> wrote:
>
> Has anyone tried talking to SRS? If TO doesn't do the right thing
> already then it should only require a modest bit of firmware to do so,
> and then a $1 microcontroller and gps unit (perhaps a nice new dual
> frequency one) would turn the FS725 into a great GPSDO.
>
> Anyone know if the FS740 rubidium version contains a PRS10? I would
> assume-- might be interesting to spy on its serial communication.
>
> On Sun, Dec 25, 2022 at 1:16 PM Matthias Welwarsky via time-nuts
> <time-nuts@lists.febo.com> wrote:
>>
>> On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
>> wrote:
>>> After running in many of the familiar problems of connecting a GPS timing
>>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>>> correction board. I’ve seen previous discussion of some of the commands to
>>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>>> description of how to put everything together.
>>
>>> My idea to use a microcontroller with multiple UART ports; one connected to
>>> the ublox module and the other connected to the PRS-10, with level shifters
>>> as needed. The microcontroller sits between the two devices, and gets the
>>> PPS sawtooth correction info from the ublox (specifically via the
>>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>>> time offset by this value to null out the sawtooth for the next pulse.
>>
>> I suggest you try correcting the 1PPS pulse of the timing module itself, using
>> a variable delay line. I don't have a particular part in mind, Maxim might
>> have something.
>>
>> There was a very elaborate GPSDO project discussed last year on this list that
>> used this technique.
>>
>> BR,
>> Matthias
>>
>>> _______________________________________________
>>> time-nuts mailing list -- time-nuts@lists.febo.com
>>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>>
>>
>>
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
BC
Brooke Clarke
Sun, Dec 25, 2022 9:51 PM
Hi Matthias:
Here's a hardware GPS sawtooth corrector I made some time ago:
https://prc68.com/I/timefreq.shtml#Sawtoooth
Although it did not work on the Motorola GPS it would give you some idea of what parts are needed.
https://prc68.com/I/PRS10.shtml
--
Have Fun,
Brooke Clarke
https://www.PRC68.com
axioms:
- The extent to which you can fix or improve something will be limited by how well you understand how it works.
- Everybody, with no exceptions, holds false beliefs.
-------- Original Message --------
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to
the ublox module and the other connected to the PRS-10, with level shifters
as needed. The microcontroller sits between the two devices, and gets the
PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
Hi Matthias:
Here's a hardware GPS sawtooth corrector I made some time ago:
https://prc68.com/I/timefreq.shtml#Sawtoooth
Although it did not work on the Motorola GPS it would give you some idea of what parts are needed.
https://prc68.com/I/PRS10.shtml
--
Have Fun,
Brooke Clarke
https://www.PRC68.com
axioms:
1. The extent to which you can fix or improve something will be limited by how well you understand how it works.
2. Everybody, with no exceptions, holds false beliefs.
-------- Original Message --------
> On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
> wrote:
>> After running in many of the familiar problems of connecting a GPS timing
>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>> correction board. I’ve seen previous discussion of some of the commands to
>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>> description of how to put everything together.
>
>> My idea to use a microcontroller with multiple UART ports; one connected to
>> the ublox module and the other connected to the PRS-10, with level shifters
>> as needed. The microcontroller sits between the two devices, and gets the
>> PPS sawtooth correction info from the ublox (specifically via the
>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>> time offset by this value to null out the sawtooth for the next pulse.
> I suggest you try correcting the 1PPS pulse of the timing module itself, using
> a variable delay line. I don't have a particular part in mind, Maxim might
> have something.
>
> There was a very elaborate GPSDO project discussed last year on this list that
> used this technique.
>
> BR,
> Matthias
>
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
BC
Bob Camp
Sun, Dec 25, 2022 11:46 PM
Hi
Just a note for anybody headed down this path:
There are several cases for sawtooth correction:
Message applies to previous PPS / message applies to next PPS
Sawtooth is added / sawtooth is subtracted
It seems like this would be easy to just read out of the doc’s on the device and put into action.
From doing it on several dozen devices over the years … not so much. You have four cases.
Testing them all is not super tough to do. Implement each of them and note if the 1 second ADEV
gets better or worse. One of the four should stand out as the winner …..
Bob
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to
the ublox module and the other connected to the PRS-10, with level shifters
as needed. The microcontroller sits between the two devices, and gets the
PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
Hi
Just a note for anybody headed down this path:
There are several cases for sawtooth correction:
Message applies to previous PPS / message applies to next PPS
Sawtooth is added / sawtooth is subtracted
It *seems* like this would be easy to just read out of the doc’s on the device and put into action.
From doing it on several dozen devices over the years … not so much. You have four cases.
Testing them all is not super tough to do. Implement each of them and note if the 1 second ADEV
gets better or worse. One of the four *should* stand out as the winner …..
Bob
> On Dec 25, 2022, at 4:51 PM, Brooke Clarke via time-nuts <time-nuts@lists.febo.com> wrote:
>
> Hi Matthias:
>
> Here's a hardware GPS sawtooth corrector I made some time ago:
> https://prc68.com/I/timefreq.shtml#Sawtoooth
> Although it did not work on the Motorola GPS it would give you some idea of what parts are needed.
> https://prc68.com/I/PRS10.shtml
>
> --
> Have Fun,
>
> Brooke Clarke
> https://www.PRC68.com
> axioms:
> 1. The extent to which you can fix or improve something will be limited by how well you understand how it works.
> 2. Everybody, with no exceptions, holds false beliefs.
>
> -------- Original Message --------
>> On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
>> wrote:
>>> After running in many of the familiar problems of connecting a GPS timing
>>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>>> correction board. I’ve seen previous discussion of some of the commands to
>>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>>> description of how to put everything together.
>>
>>> My idea to use a microcontroller with multiple UART ports; one connected to
>>> the ublox module and the other connected to the PRS-10, with level shifters
>>> as needed. The microcontroller sits between the two devices, and gets the
>>> PPS sawtooth correction info from the ublox (specifically via the
>>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>>> time offset by this value to null out the sawtooth for the next pulse.
>> I suggest you try correcting the 1PPS pulse of the timing module itself, using
>> a variable delay line. I don't have a particular part in mind, Maxim might
>> have something.
>>
>> There was a very elaborate GPSDO project discussed last year on this list that
>> used this technique.
>>
>> BR,
>> Matthias
>>
>>> _______________________________________________
>>> time-nuts mailing list -- time-nuts@lists.febo.com
>>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>>
>>
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
E
ew
Sun, Dec 25, 2022 11:56 PM
This is all it takes. I would leave the GPS unit separate since so many choices are available including a 9T and 250 and 500 psec chips are readily available now Analog Devices. At the time I did publish it there was no interest today I am to old but be glad to help off list
Bert Kehren
In a message dated 12/25/2022 6:32:49 PM Eastern Standard Time, time-nuts@lists.febo.com writes:
Hi Matthias:
Here's a hardware GPS sawtooth corrector I made some time ago:
https://prc68.com/I/timefreq.shtml#Sawtoooth
Although it did not work on the Motorola GPS it would give you some idea of what parts are needed.
https://prc68.com/I/PRS10.shtml
--
Have Fun,
Brooke Clarke
https://www.PRC68.com
axioms:
- The extent to which you can fix or improve something will be limited by how well you understand how it works.
- Everybody, with no exceptions, holds false beliefs.
-------- Original Message --------
On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
wrote:
After running in many of the familiar problems of connecting a GPS timing
module 1PPS signal to a PRS-10, I want try building a software sawtooth
correction board. I’ve seen previous discussion of some of the commands to
use for adjusting the PLL and PPS control on the PRS-10 and getting the
sawtooth error from ublox GNSS modules, but not a start-to-finish
description of how to put everything together.
My idea to use a microcontroller with multiple UART ports; one connected to
the ublox module and the other connected to the PRS-10, with level shifters
as needed. The microcontroller sits between the two devices, and gets the
PPS sawtooth correction info from the ublox (specifically via the
UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
time offset by this value to null out the sawtooth for the next pulse.
I suggest you try correcting the 1PPS pulse of the timing module itself, using
a variable delay line. I don't have a particular part in mind, Maxim might
have something.
There was a very elaborate GPSDO project discussed last year on this list that
used this technique.
BR,
Matthias
This is all it takes. I would leave the GPS unit separate since so many choices are available including a 9T and 250 and 500 psec chips are readily available now Analog Devices. At the time I did publish it there was no interest today I am to old but be glad to help off list
Bert Kehren
In a message dated 12/25/2022 6:32:49 PM Eastern Standard Time, time-nuts@lists.febo.com writes:
Hi Matthias:
Here's a hardware GPS sawtooth corrector I made some time ago:
https://prc68.com/I/timefreq.shtml#Sawtoooth
Although it did not work on the Motorola GPS it would give you some idea of what parts are needed.
https://prc68.com/I/PRS10.shtml
--
Have Fun,
Brooke Clarke
https://www.PRC68.com
axioms:
1. The extent to which you can fix or improve something will be limited by how well you understand how it works.
2. Everybody, with no exceptions, holds false beliefs.
-------- Original Message --------
> On Donnerstag, 22. Dezember 2022 00:22:37 CET James Wilson via time-nuts
> wrote:
>> After running in many of the familiar problems of connecting a GPS timing
>> module 1PPS signal to a PRS-10, I want try building a software sawtooth
>> correction board. I’ve seen previous discussion of some of the commands to
>> use for adjusting the PLL and PPS control on the PRS-10 and getting the
>> sawtooth error from ublox GNSS modules, but not a start-to-finish
>> description of how to put everything together.
>
>> My idea to use a microcontroller with multiple UART ports; one connected to
>> the ublox module and the other connected to the PRS-10, with level shifters
>> as needed. The microcontroller sits between the two devices, and gets the
>> PPS sawtooth correction info from the ublox (specifically via the
>> UBX-TIM-TP message and its qErr field), and then adjusts the PRS-10’s PPS
>> time offset by this value to null out the sawtooth for the next pulse.
> I suggest you try correcting the 1PPS pulse of the timing module itself, using
> a variable delay line. I don't have a particular part in mind, Maxim might
> have something.
>
> There was a very elaborate GPSDO project discussed last year on this list that
> used this technique.
>
> BR,
> Matthias
>
>> _______________________________________________
>> time-nuts mailing list -- time-nuts@lists.febo.com
>> To unsubscribe send an email to time-nuts-leave@lists.febo.com
>
>
> _______________________________________________
> time-nuts mailing list -- time-nuts@lists.febo.com
> To unsubscribe send an email to time-nuts-leave@lists.febo.com
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
MW
Matthias Welwarsky
Tue, Dec 27, 2022 9:15 AM
On Montag, 26. Dezember 2022 00:56:08 CET ew via time-nuts wrote:
This is all it takes. I would leave the GPS unit separate since so many
choices are available including a 9T and 250 and 500 psec chips are readily
available now Analog Devices. At the time I did publish it there was no
interest today I am to old but be glad to help off list
Bert Kehren
Indeed the Maxim DS102x series of programmable delay lines was what I found,
too, and it seemed to fit the bill after a cursory look. Good to see that it
can actually be used.
BR,
Matthias
On Montag, 26. Dezember 2022 00:56:08 CET ew via time-nuts wrote:
> This is all it takes. I would leave the GPS unit separate since so many
> choices are available including a 9T and 250 and 500 psec chips are readily
> available now Analog Devices. At the time I did publish it there was no
> interest today I am to old but be glad to help off list
> Bert Kehren
Indeed the Maxim DS102x series of programmable delay lines was what I found,
too, and it seemed to fit the bill after a cursory look. Good to see that it
can actually be used.
BR,
Matthias
JW
James Wilson
Wed, Dec 28, 2022 12:38 AM
On 2022-12-27 01:15, Matthias Welwarsky via time-nuts wrote:
On Montag, 26. Dezember 2022 00:56:08 CET ew via time-nuts wrote:
This is all it takes. I would leave the GPS unit separate since so many
choices are available including a 9T and 250 and 500 psec chips are readily
available now Analog Devices. At the time I did publish it there was no
interest today I am to old but be glad to help off list
Bert Kehren
Indeed the Maxim DS102x series of programmable delay lines was what I found,
too, and it seemed to fit the bill after a cursory look. Good to see that it
can actually be used.
I can't see what the other ICs on Bert's board are, but I gather it is
using the timing module's sawtooth error data to set the programmable
delay line. This seems to be a good option if the receiver of the PPS
signal cannot accept adjustment data, but what can it do if the qErr
data indicates the next pulse is going to be late instead of early?
On 2022-12-27 01:15, Matthias Welwarsky via time-nuts wrote:
> On Montag, 26. Dezember 2022 00:56:08 CET ew via time-nuts wrote:
>> This is all it takes. I would leave the GPS unit separate since so many
>> choices are available including a 9T and 250 and 500 psec chips are readily
>> available now Analog Devices. At the time I did publish it there was no
>> interest today I am to old but be glad to help off list
>> Bert Kehren
>
> Indeed the Maxim DS102x series of programmable delay lines was what I found,
> too, and it seemed to fit the bill after a cursory look. Good to see that it
> can actually be used.
I can't see what the other ICs on Bert's board are, but I gather it is
using the timing module's sawtooth error data to set the programmable
delay line. This seems to be a good option if the receiver of the PPS
signal cannot accept adjustment data, but what can it do if the qErr
data indicates the next pulse is going to be late instead of early?
E
ew
Wed, Dec 28, 2022 1:23 AM
There are 3 IC's. A PIC, a HEX inverter chip and the delay chip. Today I would use a Arduino 114 pin DIL more software experts.and socket.
Bert Kehren
In a message dated 12/27/2022 7:43:12 PM Eastern Standard Time, time-nuts@lists.febo.com writes:
On 2022-12-27 01:15, Matthias Welwarsky via time-nuts wrote:
On Montag, 26. Dezember 2022 00:56:08 CET ew via time-nuts wrote:
This is all it takes. I would leave the GPS unit separate since so many
choices are available including a 9T and 250 and 500 psec chips are readily
available now Analog Devices. At the time I did publish it there was no
interest today I am to old but be glad to help off list
Bert Kehren
Indeed the Maxim DS102x series of programmable delay lines was what I found,
too, and it seemed to fit the bill after a cursory look. Good to see that it
can actually be used.
I can't see what the other ICs on Bert's board are, but I gather it is
using the timing module's sawtooth error data to set the programmable
delay line. This seems to be a good option if the receiver of the PPS
signal cannot accept adjustment data, but what can it do if the qErr
data indicates the next pulse is going to be late instead of early?
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com
There are 3 IC's. A PIC, a HEX inverter chip and the delay chip. Today I would use a Arduino 114 pin DIL more software experts.and socket.
Bert Kehren
In a message dated 12/27/2022 7:43:12 PM Eastern Standard Time, time-nuts@lists.febo.com writes:
On 2022-12-27 01:15, Matthias Welwarsky via time-nuts wrote:
> On Montag, 26. Dezember 2022 00:56:08 CET ew via time-nuts wrote:
>> This is all it takes. I would leave the GPS unit separate since so many
>> choices are available including a 9T and 250 and 500 psec chips are readily
>> available now Analog Devices. At the time I did publish it there was no
>> interest today I am to old but be glad to help off list
>> Bert Kehren
>
> Indeed the Maxim DS102x series of programmable delay lines was what I found,
> too, and it seemed to fit the bill after a cursory look. Good to see that it
> can actually be used.
I can't see what the other ICs on Bert's board are, but I gather it is
using the timing module's sawtooth error data to set the programmable
delay line. This seems to be a good option if the receiver of the PPS
signal cannot accept adjustment data, but what can it do if the qErr
data indicates the next pulse is going to be late instead of early?
_______________________________________________
time-nuts mailing list -- time-nuts@lists.febo.com
To unsubscribe send an email to time-nuts-leave@lists.febo.com