PPS:如何从PPS调整系统时钟?

问题描述 投票:-1回答:2

在Linux PPS文档中说:

PPS表示“每秒脉冲数”,PPS源只是每秒提供高精度信号的设备,因此应用程序可以使用它来调整系统时钟时间。

但我还没有找到如何调整系统时钟计时器(hwclock)。我宁愿不使用ntp,只是以最简单的方式,使系统定时器与PPS同步。

是否可以从PPS调整系统计时器(不使用ntp)?

我也不完全理解pps时间,因为可以使用time_pps_fetch命令从用户空间读取(参见ppstest.c示例)

如果linuxpps是一个只有“每秒脉冲数”的时钟,它是如何提供纳秒分辨率的呢?

linux timer ntp real-time-clock system-clock
2个回答
0
投票

好吧,你需要和你的系统内的pps设备(如/ dev / pps0)。

如果你已经连接到串口(/ dev / ttyS0)的PPS源(如gps接收器),你可以通过像'sudo ldattach pps / dev / ttyS0'这样的ldattach命令来实现它。之后,您可以将/ dev / pps0作为设备路径提供给time_pps_fetch函数。或者控制应用程序pps_test。您可以阅读更详细的描述(使用udev的规则,通过systemd服务自动启动)here

我希望它能帮到你;)


0
投票

最简单的解决方案是在需要将系统时钟连接到PPS时使用ntpd。

任何其他替代方案都需要使用adjtimex()编写实现。

© www.soinside.com 2019 - 2024. All rights reserved.