任何晶振實際工作頻率都是不穩(wěn)定的,只是程度不同而已。即使溫度補償?shù)木д?,在常溫范圍?nèi)(攝氏10℃~35℃)也有大約5×10-7~2×10-6的誤差。晶振實際頻率是受外界多種因素(溫度、電壓、老化等)影響而改變的。因此,時鐘頻率偏差系數(shù)k并非恒定不變的。每隔一定時間,NTP客戶機要對時鐘頻率偏差系數(shù)k進行校正,才能保證計時精度。
假定局域網(wǎng)內(nèi)NTP延時小于1ms,理論上授時誤差小于0.5ms,但對于Windows操作系統(tǒng)內(nèi)置的NTP客戶和NTP服務,并不能達到此精度。Windows NTP時鐘分辨率因操作系統(tǒng)和硬件不同而有所不同,時鐘分辨率通常為10ms或15ms?;赪indows操作系統(tǒng)內(nèi)置的NTP授時精度不超過10ms。
一般的計算機和嵌入式設備在時鐘度方面沒有明確的指標要求, 時鐘精度只有10-4~10-5,每天可能誤差達十幾秒或更多,如果不及時校正,其累積時間誤差不可忽視。許多工業(yè)控制過程需要高準確度時間,如:電力系統(tǒng)內(nèi)眾多的計算機監(jiān)控系統(tǒng)、保護裝置、故障錄波器等時間同步要在ms級以內(nèi)。
本程序能通過網(wǎng)絡授時服務器獲取當前時間,因為一般我們的手機只能提供到分鐘的時間顯示,并且由于手機硬件的固有問題導致經(jīng)常會出現(xiàn)手機系統(tǒng)時間不準確問題,(已知的某平臺的手機會在充電后時間變快4分鐘),這是編寫本程序的初衷,本程序功能夠提供給使用者到秒級的時間顯示,同時告訴使用者手機系統(tǒng)時間與當前標準時間的差值,但無權去修改使用者手機的系統(tǒng)時間,軟件使用中會消耗非常少的網(wǎng)絡流量。