PPS signal for time correction

My name is Nori Abe from Japan. I’m creating a ntp server on PasPi 4B
with PPS time correction function. The PPS signal is provided by GNSS
sensor, Spatial Dual manufactured by ADVANCED NAVIGATION.

My problem is

(1)time offset value does NOT go below 100 microsecond
(2)ntpq -p command status shows “x” 10min after displaying “o”

I’m wondering if the PPS signal is NOT good electrically.

Here is the wave form of my PPS signal.

My concern is

(1)Vmin is not good? (It’s 0.97V, Not 0V)
(2)I have to specify rising-edge or falling-edge my RasPi sees.

Please advise me if you have any good documents which tells exact
conditions PPS signal is required.

Thank you,

Hi again, this is Nori.

I double checked the time my RasPi keeps “o” status. It’s 10 min again.
What does 10 min mean?

Thank you,

The PPS signal is usually a ttl (logic) level signal and that screenshot looks fine, well within ttl logic level limits. It’s normally fed into the serial RS232 serial port dcd line, but for RS232 9 pin D port, it also needs a level translator to convert between ttl and rs232 voltage levels. The rpi may work with ttl levels, if so, so can be ignored. The gps engine docs should say which edge is synchronised to utc, but it’s usually the rising edge.

Depending on the os, you may need to rebuild the kernel to provide support for pps and other options. Using FreeBSD 12 here, which did need that, but others may not. The ntp.conf line will need a line something like this.

“fudge 127.127.22.0 flag2 1 flag3 1 flag4 1”

Check out the ntp docs to see the fudge options for pps polarity…

Chris