time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] Generate 1 PPS signal on serial port

E
Eugen
Tue, Aug 6, 2013 12:31 PM

Marki the "smart" search engine came back with:

Prof David Mills: http://www.eecis.udel.edu/~mills/ntp/html/pps.html
Pulse-Per-Second (PPS) Signal Interfacing Hardware:
http://www.vk2hmc.net/blog/?p=583

If using Linux you need kernel version > 2.6.39.4 or version 3 kernel
as the PPS interface is now included in the kernel. Unless of course,
low latency and jitter is not an issue for you ;) You can use either
parallel or serial PPS.

For windows see http://www.davehart.net/ for binaries.
David Taylor pretty much covers it here:
http://www.satsignal.eu/ntp/NTP-on-Windows-Vista.html

Thanks, but I need it the other way: the PC itself should generate the
1 PPS signal without an external reference, except the network
connection to NTP servers. It's more of a software problem.

> Marki the "smart" search engine came back with: > > Prof David Mills: http://www.eecis.udel.edu/~mills/ntp/html/pps.html > Pulse-Per-Second (PPS) Signal Interfacing Hardware: > http://www.vk2hmc.net/blog/?p=583 > > If using Linux you need kernel version > 2.6.39.4 or version 3 kernel > as the PPS interface is now included in the kernel. Unless of course, > low latency and jitter is not an issue for you ;) You can use either > parallel or serial PPS. > > For windows see http://www.davehart.net/ for binaries. > David Taylor pretty much covers it here: > http://www.satsignal.eu/ntp/NTP-on-Windows-Vista.html Thanks, but I need it the other way: the PC itself should generate the 1 PPS signal without an external reference, except the network connection to NTP servers. It's more of a software problem.
MC
Mark C. Stephens
Tue, Aug 6, 2013 1:07 PM

I am not really sure what you are trying to do either..

If you are trying to tee the output of a GPS, make a Y cable and connect TxD from GPS and DCD to each end (as PPS and NMEA are broadcast or one way if you like) once the receiver has been configured. You will have timenuts having strokes if you try and do it in software!

However if you are hell bent on generating PPS in software somehow (please let me know you plan? - curious)
Use http://www.curioustech.net/xport.html
Been around for years and its pretty good and free to boot.

Or am I still looking at your problem from the wrong end?

Personally, I am moving my NTP server to the parallel port shortly.

--marki

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On Behalf Of Eugen
Sent: Tuesday, 6 August 2013 10:32 PM
To: time-nuts@febo.com
Subject: Re: [time-nuts] Generate 1 PPS signal on serial port

Marki the "smart" search engine came back with:

Prof David Mills: http://www.eecis.udel.edu/~mills/ntp/html/pps.html
Pulse-Per-Second (PPS) Signal Interfacing Hardware:
http://www.vk2hmc.net/blog/?p=583

If using Linux you need kernel version > 2.6.39.4 or version 3 kernel
as the PPS interface is now included in the kernel. Unless of course,
low latency and jitter is not an issue for you ;) You can use either
parallel or serial PPS.

For windows see http://www.davehart.net/ for binaries.
David Taylor pretty much covers it here:
http://www.satsignal.eu/ntp/NTP-on-Windows-Vista.html

Thanks, but I need it the other way: the PC itself should generate the
1 PPS signal without an external reference, except the network connection to NTP servers. It's more of a software problem.


time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

I am not really sure what you are trying to do either.. If you are trying to tee the output of a GPS, make a Y cable and connect TxD from GPS and DCD to each end (as PPS and NMEA are broadcast or one way if you like) once the receiver has been configured. You will have timenuts having strokes if you try and do it in software! However if you are hell bent on generating PPS in software somehow (please let me know you plan? - curious) Use http://www.curioustech.net/xport.html Been around for years and its pretty good and free to boot. Or am I still looking at your problem from the wrong end? Personally, I am moving my NTP server to the parallel port shortly. --marki -----Original Message----- From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] On Behalf Of Eugen Sent: Tuesday, 6 August 2013 10:32 PM To: time-nuts@febo.com Subject: Re: [time-nuts] Generate 1 PPS signal on serial port > Marki the "smart" search engine came back with: > > Prof David Mills: http://www.eecis.udel.edu/~mills/ntp/html/pps.html > Pulse-Per-Second (PPS) Signal Interfacing Hardware: > http://www.vk2hmc.net/blog/?p=583 > > If using Linux you need kernel version > 2.6.39.4 or version 3 kernel > as the PPS interface is now included in the kernel. Unless of course, > low latency and jitter is not an issue for you ;) You can use either > parallel or serial PPS. > > For windows see http://www.davehart.net/ for binaries. > David Taylor pretty much covers it here: > http://www.satsignal.eu/ntp/NTP-on-Windows-Vista.html Thanks, but I need it the other way: the PC itself should generate the 1 PPS signal without an external reference, except the network connection to NTP servers. It's more of a software problem. _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
AW
Anders Wallin
Tue, Aug 6, 2013 2:16 PM

On Tue, Aug 6, 2013 at 4:07 PM, Mark C. Stephens marks@non-stop.com.auwrote:

However if you are hell bent on generating PPS in software somehow (please
let me know you plan? - curious)

FWIW:
Over in the hobby-CNC world where it is common to use the parallel port for
driving machine tools (mills, lathes, 3d printers) pulses with good timing
are output by LinuxCNC which sits on top of a real-time kernel (RTAI,
Xenomai, or RT-Preempt). With a well-behaving bios/cpu/motherboard
combination it is possible to achieve around 10-20 us maximum jitter - in
good cases down to 5 us. The same program run on a non-realtime kernel will
easily show 3-5 milliseconds or more of jitter.
This is relative to a clock that the real-time kernel uses for internal
timing - I am not sure if that clock can be NTP-disciplined.

Anders

On Tue, Aug 6, 2013 at 4:07 PM, Mark C. Stephens <marks@non-stop.com.au>wrote: > However if you are hell bent on generating PPS in software somehow (please > let me know you plan? - curious) > FWIW: Over in the hobby-CNC world where it is common to use the parallel port for driving machine tools (mills, lathes, 3d printers) pulses with good timing are output by LinuxCNC which sits on top of a real-time kernel (RTAI, Xenomai, or RT-Preempt). With a well-behaving bios/cpu/motherboard combination it is possible to achieve around 10-20 us maximum jitter - in good cases down to 5 us. The same program run on a non-realtime kernel will easily show 3-5 milliseconds or more of jitter. This is relative to a clock that the real-time kernel uses for internal timing - I am not sure if that clock can be NTP-disciplined. Anders
CA
Chris Albertson
Tue, Aug 6, 2013 3:25 PM

On Tue, Aug 6, 2013 at 5:31 AM, Eugen eugen@lavabit.com wrote:

Thanks, but I need it the other way: the PC itself should generate the
1 PPS signal without an external reference, except the network
connection to NTP servers. It's more of a software problem.

The current Linux kernel has a PPS GENERATOR.  See "pps_gen_parport"

Put WHY would you need this? The documentation for pps_gen_parport suggests
only using it for crude synchronization of sevel computers but NTP would in
every case work better for that purpose.

But for whatever reason Linux does PPS in both directions

Be warned that any software PPS gignal will not be great, expect a few
microseconds or error

Chris Albertson
Redondo Beach, California

On Tue, Aug 6, 2013 at 5:31 AM, Eugen <eugen@lavabit.com> wrote: > > Thanks, but I need it the other way: the PC itself should generate the > 1 PPS signal without an external reference, except the network > connection to NTP servers. It's more of a software problem. > The current Linux kernel has a PPS GENERATOR. See "pps_gen_parport" Put WHY would you need this? The documentation for pps_gen_parport suggests only using it for crude synchronization of sevel computers but NTP would in every case work better for that purpose. But for whatever reason Linux does PPS in both directions Be warned that any software PPS gignal will not be great, expect a few microseconds or error Chris Albertson Redondo Beach, California
E
Eugen
Tue, Aug 6, 2013 3:49 PM

On Tue, 6 Aug 2013 13:07:28 +0000
"Mark C. Stephens" marks@non-stop.com.au wrote:

I am not really sure what you are trying to do either..

If you are trying to tee the output of a GPS, make a Y cable and
connect TxD from GPS and DCD to each end (as PPS and NMEA are
broadcast or one way if you like) once the receiver has been
configured. You will have timenuts having strokes if you try and do
it in software!

However if you are hell bent on generating PPS in software somehow
(please let me know you plan? - curious) Use
http://www.curioustech.net/xport.html Been around for years and its
pretty good and free to boot.

Or am I still looking at your problem from the wrong end?

Personally, I am moving my NTP server to the parallel port shortly.

--marki

-----Original Message-----
From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com]
On Behalf Of Eugen Sent: Tuesday, 6 August 2013 10:32 PM
To: time-nuts@febo.com
Subject: Re: [time-nuts] Generate 1 PPS signal on serial port

Marki the "smart" search engine came back with:

Prof David Mills: http://www.eecis.udel.edu/~mills/ntp/html/pps.html
Pulse-Per-Second (PPS) Signal Interfacing Hardware:
http://www.vk2hmc.net/blog/?p=583

If using Linux you need kernel version > 2.6.39.4 or version 3
kernel as the PPS interface is now included in the kernel. Unless
of course, low latency and jitter is not an issue for you ;) You
can use either parallel or serial PPS.

For windows see http://www.davehart.net/ for binaries.
David Taylor pretty much covers it here:
http://www.satsignal.eu/ntp/NTP-on-Windows-Vista.html

Thanks, but I need it the other way: the PC itself should generate the
1 PPS signal without an external reference, except the network
connection to NTP servers. It's more of a software problem.


time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow
the instructions there.


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to
https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow
the instructions there.

No, I don't use a GPS or other synchronization hardware. The PC uses
only network communication with NTP, and the PC itself should output an
1 PPS signal on a port serial / parallel.

I want to analyze the 1 PPS signal generated by the PC and the
synchronization process or to compare two 1 PPS signals generated by
different computers.

On Tue, 6 Aug 2013 13:07:28 +0000 "Mark C. Stephens" <marks@non-stop.com.au> wrote: > I am not really sure what you are trying to do either.. > > If you are trying to tee the output of a GPS, make a Y cable and > connect TxD from GPS and DCD to each end (as PPS and NMEA are > broadcast or one way if you like) once the receiver has been > configured. You will have timenuts having strokes if you try and do > it in software! > > However if you are hell bent on generating PPS in software somehow > (please let me know you plan? - curious) Use > http://www.curioustech.net/xport.html Been around for years and its > pretty good and free to boot. > > Or am I still looking at your problem from the wrong end? > > Personally, I am moving my NTP server to the parallel port shortly. > > > --marki > > > > > > > -----Original Message----- > From: time-nuts-bounces@febo.com [mailto:time-nuts-bounces@febo.com] > On Behalf Of Eugen Sent: Tuesday, 6 August 2013 10:32 PM > To: time-nuts@febo.com > Subject: Re: [time-nuts] Generate 1 PPS signal on serial port > > > Marki the "smart" search engine came back with: > > > > Prof David Mills: http://www.eecis.udel.edu/~mills/ntp/html/pps.html > > Pulse-Per-Second (PPS) Signal Interfacing Hardware: > > http://www.vk2hmc.net/blog/?p=583 > > > > If using Linux you need kernel version > 2.6.39.4 or version 3 > > kernel as the PPS interface is now included in the kernel. Unless > > of course, low latency and jitter is not an issue for you ;) You > > can use either parallel or serial PPS. > > > > For windows see http://www.davehart.net/ for binaries. > > David Taylor pretty much covers it here: > > http://www.satsignal.eu/ntp/NTP-on-Windows-Vista.html > > Thanks, but I need it the other way: the PC itself should generate the > 1 PPS signal without an external reference, except the network > connection to NTP servers. It's more of a software problem. > > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow > the instructions there. > > > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow > the instructions there. No, I don't use a GPS or other synchronization hardware. The PC uses only network communication with NTP, and the PC itself should output an 1 PPS signal on a port serial / parallel. I want to analyze the 1 PPS signal generated by the PC and the synchronization process or to compare two 1 PPS signals generated by different computers.
JH
Javier Herrero
Tue, Aug 6, 2013 3:56 PM

Hello,

On 06.08.2013 17:25, Chris Albertson wrote:

The current Linux kernel has a PPS GENERATOR.  See "pps_gen_parport"

Put WHY would you need this? The documentation for pps_gen_parport suggests
only using it for crude synchronization of sevel computers but NTP would in
every case work better for that purpose.

But for whatever reason Linux does PPS in both directions

Be warned that any software PPS gignal will not be great, expect a few
microseconds or error

There are applications for that... I had to do that some time ago, since
I was required to send a PPS signal aligned to UTC, and a time-stamp of
this PPS signal using MIL-1553 (surely this is familiar to some people
in the list). The time was the UTC time at the computer (well, in this
case an embedded one, ntp sync'd through LAN). Since at that time (not
that long ago) there was not a pps generator available in the linux
kernel, I developed a small kernel module to drive an ouput pin. It
worked nicely enough, with a few microseconds of error - completely
tolerable in that application.

Regards,

Javier

Hello, On 06.08.2013 17:25, Chris Albertson wrote: > > The current Linux kernel has a PPS GENERATOR. See "pps_gen_parport" > > Put WHY would you need this? The documentation for pps_gen_parport suggests > only using it for crude synchronization of sevel computers but NTP would in > every case work better for that purpose. > > But for whatever reason Linux does PPS in both directions > > Be warned that any software PPS gignal will not be great, expect a few > microseconds or error > > > > There are applications for that... I had to do that some time ago, since I was required to send a PPS signal aligned to UTC, and a time-stamp of this PPS signal using MIL-1553 (surely this is familiar to some people in the list). The time was the UTC time at the computer (well, in this case an embedded one, ntp sync'd through LAN). Since at that time (not that long ago) there was not a pps generator available in the linux kernel, I developed a small kernel module to drive an ouput pin. It worked nicely enough, with a few microseconds of error - completely tolerable in that application. Regards, Javier
CA
Chris Albertson
Tue, Aug 6, 2013 9:44 PM

I want to analyze the 1 PPS signal generated by the PC and the
synchronization process or to compare two 1 PPS signals generated by
different computers.

OK, but that just kicks the question further down the road.  WHY would you
want to compare two PPS signals?

It is easy to do as Linux now has a PPS generator built-in.  There is
nothing to do but configure it.

Expect the PPs to have a random 2 uSec or more jitter.  It could be much
worse.  I think the PPS generation uses timer interrupts.  The timer
advances in uSec ticks and then there is some latency so expect and error
in the range of a 'handful of uSec."

--

Chris Albertson
Redondo Beach, California

> > I want to analyze the 1 PPS signal generated by the PC and the > synchronization process or to compare two 1 PPS signals generated by > different computers. > > OK, but that just kicks the question further down the road. WHY would you want to compare two PPS signals? It is easy to do as Linux now has a PPS generator built-in. There is nothing to do but configure it. Expect the PPs to have a random 2 uSec or more jitter. It could be much worse. I think the PPS generation uses timer interrupts. The timer advances in uSec ticks and then there is some latency so expect and error in the range of a 'handful of uSec." -- Chris Albertson Redondo Beach, California