以RK3568为例,ARM核心板如何实现NTP精准时间同步?

  1. 背景

网络时间协议NTP(Network TimeProtocol)是用于互联网中时间同步的标准互联网协议,可以把计算机的时间同步到某些时间标准。NTP对于我们产品来说有什么用呢,简单的讲,当你的设备时间不准确了,你可以接入到互联网,从网上同步一下时间,非常方便。

对于我们嵌入式行业,大批量生产板卡烧写系统时,逐个给产品统一时间无疑是一件很痛苦的事情,所以我们选择一台主机作为NTP服务器,让板卡通过NTP服务去同步该时间,便可高效解决这个问题!

2. 技术实现

接下来为大家演示下使用方法,这里使用RK3568评估板与一台电脑主机做方案验证。

图1 HD-RK3568-CORE核心板

2.1 电脑主机配置

1.Windows 运行打开"regedit"编辑注册表;

2.找到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters",[Type]设定值修改为"NTP";

3.找到"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config",[AnnounceFlags]修改设定值为5。AnnounceFlags的值为5时,强制时钟源为本地CMOS时钟。

4."HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer",[Enabled]数值修改为1。此作用为开启NTP服务器功能(默认是不开启NTP Server服务,除非电脑升级成为域控制站)

5.重起Windows Time服务

a)打开开始菜单输入"CMD"在命令行模式下输入:

复制代码
net stop w32time && net start w32time

重启一下win32time服务,如未启动w32time 只需执行 net start w32time 即可

b) 打开运行框 输入services.msc 打开服务.

将windows time 服务设置为自启

(实测开启自动启动,重启后依然没有启动,需要手动启动)

6.NTP服务为UDP 123端口,注意防火墙放开该端口,windows防火墙放开方法:

复制代码
netsh advfirewall firewall add rule name="NTP Server" dir=in action=allow protocol=UDP localport=123

7.设置网口ip为192.168.1.10与开发板保持同网段。

2.2 linux端(RK3568)

1.如使用buildroot文件系统,则使用chrony去同步时间:

复制代码
/etc/chrony.conf
server 192.168.1.110 iburst
maxdistance 16.0
makestep 1.0 3
driftfile /var/lib/chrony/drift
rtcsync

重启chrony服务

复制代码
/etc/init.d/S49chrony restart

2.如使用debian使用ntp

复制代码
systemctl stop ntp
ntpdata 192.168.1.110

END

相关推荐
编程之升级打怪几秒前
什么是PWM
嵌入式硬件
小柯博客2 小时前
STM32MP2 Secure Boot实战
stm32·单片机·嵌入式硬件
Ww.xh2 小时前
STM32调用AI接口完整教程
stm32·单片机·嵌入式硬件
ZYNQRFSOC2 小时前
基于安路PH2A系列FPGA的JESD204B接口测试
嵌入式硬件·fpga开发
LCG元3 小时前
STM32实战:基于STM32F407的LWIP以太网通信(TCP Server)
stm32·嵌入式硬件·tcp/ip
项目題供诗3 小时前
STM32-按键控制LED&光敏传感器控制蜂鸣器(五)
stm32·单片机·嵌入式硬件
猪八戒1.03 小时前
Allergo Cadence学习笔记
嵌入式硬件
危桥带雨3 小时前
WDG理论知识
stm32·单片机·嵌入式硬件
minglie14 小时前
单片机内存管理CmemTable
单片机·嵌入式硬件
szxinmai主板定制专家4 小时前
基于RK3588超小体积,轻巧,长续航的无人机AI模块,支持视频跟踪
arm开发·人工智能·嵌入式硬件·fpga开发·无人机