網絡時間協議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.confserver192.168.1.110 iburstmaxdistance16.0makestep1.0 3driftfile/var/lib/chrony/driftrtcsync 重啟chrony服務 /etc/init.d/S49chrony restart 2.如使用debian使用ntp systemctlstopntpntpdata 192.168.1.110 END |