[time-nuts] Re: PRS-10 sawtooth correction with microcontroller

Bob Camp kb8tq at n1k.org
Thu Dec 22 13:57:30 UTC 2022


Hi

One quick question:

> On Dec 22, 2022, at 1:20 AM, James Wilson via time-nuts <time-nuts at 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 at 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 at 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 at lists.febo.com
>>> To unsubscribe send an email to time-nuts-leave at lists.febo.com
>> 
>> 
>> 
>> -- 
>> 
>> --Jim Harman
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at lists.febo.com
>> To unsubscribe send an email to time-nuts-leave at lists.febo.com
> _______________________________________________
> time-nuts mailing list -- time-nuts at lists.febo.com
> To unsubscribe send an email to time-nuts-leave at lists.febo.com




More information about the Time-nuts_lists.febo.com mailing list