gpsd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-users] PPS problem with u-blox 8


From: Christian Rossi
Subject: Re: [gpsd-users] PPS problem with u-blox 8
Date: Thu, 23 Nov 2017 12:46:52 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0

Hello

> I use a Navilock NL-8005P MD6 (u-blox 8) with a SparkFun MAX3232 to > convert the PPS data from a TTL level to an RS232 level.

Christian - if you're using the Ubuntu 14 package (from apt-get install
gpsd), you should instead download the gpsd source and build from that.

I try with the gps source but it's was not the solution.

Do you have PPS on DSR? It should be on CD, RI or CTS.

I have to connect the PPS signal on the CD pin to get the assert and clear data on /dev/pps0.
With the DSR pin, ppscheck see the signal but there is nothing with ppstest.

Now with the PPS on the CD pin there are SHM(0) and SHM(1):

% ntpq -p
     remote           refid      st t when poll reach delay   offset  jitter
==============================================================================
+ntp-sop         .GPS.            1 u    5   64  377 9.455   -1.090   0.110
+ntp-p1          .MRS.            1 u    8   64  377 9.209    0.016   0.126
 SHM(0)          .GPS.            0 l    1    8  377 0.000    7.109   6.854
*SHM(1)          .PPS.            0 l   40   64  377 0.000    0.004   0.004

Thanks.

Some information with the problems :

I use a cable from Navilock with a D-SUB 9 jack with the PPS signal connected to the DSR pin:

http://www.navilock.de/produkte/512_Connecting-cable/62621/merkmale.html

I thought that it would be enough to connect this cable to the computer. But not:

- The PPS signal is not a TTL signal but a 0 - 0,7v. So I have to use a pull up 10kOhm resistor to get the TTL level 0 - 5v:

http://www.navilock.de/service/fragen/gruppe_56_News/beitrag/107_Receivers-with-PPS-require-PULL-UP--Pull-Hi--10K.html#show

- The TTL is not compatible with the RS232 level so I add a SparkFun MAX3232 to convert the PPS data from a TTL level to an RS232 level:

https://www.sparkfun.com/products/11189

- According to the documentation the converter create a propagation delay of 0.15µs:

http://cdn.sparkfun.com/datasheets/Components/General%20IC/SP3232EBCA-L.pdf

- The DSR pin is not used by the LinuxPPS so I have to change to the DCD pin.

- When I install Gpsd with the source I found a new version of ppscheck. And I realise that with the RS232 converter a TTL 0v become an RS232 12v and a 5v become a -12v signal.  So the PPS signal was reversed:

% ppscheck /dev/ttyS1
1510050650   99182899 TIOCM_DSR
1510050650  999177604

- So I use the u-center software from U-blox to inverse the signal form the receiver (Timepulse Settings: UBX-CFG-TP5) from rising to falling :

https://www.u-blox.com/en/product/u-center-windows

and now there is a 100ms rising signal:

% ppscheck /dev/ttyS1
# Seconds  nanoSecs   Signals
1511435590 000028403 TIOCM_CD
1511435590 100056073

- I also try the kernel module pps-ktimer.ko that generate a software PPS signal. It's was ok so the problem was not the LinuxPPS.

https://github.com/atomic-penguin/linux/blob/master/drivers/pps/clients/pps-ktimer.c

It was complicated but thanks again for the solution.

--
Christian Rossi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]