隨著數字網絡的不斷發展,基于網絡協議(IP)的技術不斷涌現,因為它足夠的方便、靈活和可擴展性。局域網(LANs)、廣域網(WANs)以及蜂窩網絡都是IP網絡應用的常見例子。當我們在工業控制、測試和測量領域、傳輸聲音、視頻等信息的數據主干應用方面采用IP網絡技術時,時間的同步是我們考慮的關鍵要點。例如聲音和視頻質量對不確定性的延遲和抖動非常的敏感,裝配生產線上的機器人彼此之間也需要嚴格的同步。
圖1:數字化顯示齒輪幫助同步時間
IP網絡和以太網最初設計時并沒有考慮同步問題,但是這在現在非常的有必要。如果你的產品需要時間同步需要在設計上采取哪些措施呢?目前已經有幾種解決方案,這里我們與大家討論四種常見的解決方案:網絡時間協議(NTP)、精簡的網絡時間協議(SNTP)、精確的時間協議(PTP)以及借助導航系統時間同步,比如全球定位系統GPS。幸運的是從架構的角度來看這些不同的實現方案有很多的共同之處。
主時鐘源
同步網絡通常都會有一個主時鐘,它的來源一般都是協調世界時(UTC),UTC是基于地球的自轉而確立的公立時間。UTC與國際原子時(TAI)保持著固定的關系,兩者之間的固定關系是根據地球自轉減慢的速度而周期性的增加到UTC上的閏秒時間而保持的,目前UTC時間比TAI時間快了將近36秒。另一個度量標準是UT1,它是以平子夜作為0時開始的格林格林威治平太陽時加上人工極移校正后的時間標準,UTC與UT1之間的關系保持在9秒以內。
目前有很多個時間服務器,但是在美國最常用的就是來自國家科學技術研究所(NIST)提供的時間,NIST提供的時間是基于UTC、UTC1和網絡時間協議(NTP)服務器的,其他網絡的計算機和主時鐘源都是根據這個服務器來確定的,然而還有很多的輔助服務器存在,而且時間信息也可以來自于導航衛星。
時間研究要素
在網絡設計中存在異步和同步的時間模型,所有同步的方法都需要有一個內聚層次的定時解決方案。參考時鐘對于網絡元素的同步是必須的,網絡元素通常需要一個電壓控制的晶體振蕩器(VCXO)、鎖相環(PLL)或者時鐘生成器通過調整實現同步狀態。目前比較流行的方案包括Abracon公司推出的超低相位噪聲的VXCO和IDT公司推出的82P33814-1NLG同步管理單元,支持多種同步模式。
無論選擇哪種解決方案,設計系統都需要能夠提供適當的抖動衰減和相位噪聲剔除,并且與網絡中的其他元素保持適當的同步公差。時間設計方面要包括一定的保持特性,即在被通知同步狀態之前保持時鐘的能力以防止主時鐘或參考時鐘出現故障。
常用的同步解決方案
網絡時間協議(NTP)和精簡網絡時間協議(SNTP)
最常用的公共網絡時間同步方法就是NTP以及其精簡版SNTP,公共的NTP子網在所有大陸甚至在海底都設有服務器,為全球互聯網上無數的計算機提供時間支持服務。NTP服務器時間是基于UTC的,但是NIST組織架設了一個基于UT1的NTP服務器。
NTP協議使用軟件時間戳來實現精確的時間同步,精度范圍從100μs 到100ms 或者更大。很多因素會導致差異,但是通常都是由于網絡延遲、硬件、操作系統、環境溫度變化引起的振蕩器漂移以及時間更新引起的時間間隔引起的。
當我們確定需要對客戶端的本地時間進行調整時,還需要將往返時間延遲考慮在內。NTP和SNTP使用相同的過程來確定校正因子,計算結果是假設往返兩方向的延遲都是相同的而確定的,因此在客戶端與服務端之間一共發生了四個數據包交換。
NTP和SNTP之間的主要區別是SNTP客戶端需要周期性的直接從單個SNTP服務器同步它們的時間,因此,SNTP主要用于不需要太高精度要求的應用程序,NTP則采用基于狀態的復雜算法來提升精度。
圖2:前三層的同步路徑
NTP支持多播/任播、客戶端-服務器、點對點模式,而SNTP通常應用于客戶端-服務端模式,NTP系統廣播時間信息是分層的并建立不同的層級,每個級別被分配給一個對應層級(Stratum)的序號,Stratum 1服務器是最底層,提供全局的時間同步服務,上層的需要根據底層的時間信息來同步。(網絡事件結構為進一步研究提供了很好的使用信息來源,并且提供了一個參考實現方案稱為NTPd,適用于Unix和Windows操作系統)
IEEE 1588 精確時間協議(PTP)
PTP迅速變成以太網數據包網絡首選的時間同步解決方案,尤其適用于工業控制、電信、測試與測量等應用,相比NTP協議它更加的精確、更加的確定。PTP協議與NTP協議有很多相似之處,但是有幾個關鍵的區別。首先客戶端的時間戳采用硬件來實現而不是軟件,并盡可能的將其放在接近網絡接口的地方,從而消除與客戶端軟件相關的不規則延遲,這樣會提升幾納秒的精確性,其次PTP網絡主時鐘選擇過程更具健壯性。
圖3:同步機制和延遲計算-便宜校正=ó
在PTP協議中,時間信息會以主從結構的形式分層次的貫通到整個網絡中,事件源是基于TAI標準的,“最好主時鐘(BMC)”軟件算法會從所有可用時鐘源中選擇最合適的時鐘,時間信息會被傳遞給PTP的所有子網絡中。
PTP協議的所有子網絡中的主時鐘的選擇也采用BMC算法,多播傳輸是時鐘的主要傳輸方式,但是終端客戶端會采用直接通信的方式與主時鐘進行同步,以單播的形式定時發送時間同步請求。當然還會存在一個“透明時鐘”的可能性,即網絡交換機有可能在將PTP消息傳遞給PTP子網的過程中修改時間戳。這種修改是通過計算本地設備延遲來提升接收子網的時間戳的精確性。
完美的PTP解決方案肯定存在,但是選擇還是要歸結于收發器的解決方案結合微控制器控制的PTP軟件協議棧或者基于微控制器的解決方案和協議棧。網絡時間組織提供了一個開源的PTP協議棧實現方案稱為PTPd,可以免費下載。最廣泛的分布式解決方案是TI公司推出的DP83640,作為通用模塊在不同操作模式下都會輸出一個從時鐘,這個時鐘與主時鐘在頻率和相位都保持同步,然后傳遞給下級子網絡,精度在亞納秒范圍內,當然它也具有NTP協議的時間戳,TI公司提供了詳細的應用說明,比如如何進行配置,如何實現較高的精度等。
全球定位系統(GPS)
圖4:基于空間的導航系統包含一組環繞地球的衛星,這些系統能夠提供非常精確的時間和位置信息
基于空間的導航系統包括一組環繞地球的衛星,這些系統能夠提供非常精確的時間和位置信息。美國系統成為“全球定位系統(GPS)”,俄羅斯稱之為“全球導航衛星系統(GLONASS)”,中國的“北斗導航衛星系統(BeiDou-2)”,以及印度的“印度區域導航導航衛星系統(IRNSS)”,當然其他國家也都在開發自己的導航系統。
GPS衛星上都具備原子時鐘,它們之間互相同步并且定期進行調整與地面時鐘同步。時間是根據至少四顆衛星周期性發送來的時間戳來計算出來的,延遲的計算也相對簡單,因為信號以光速進行傳播,衛星會定期發送其位置信息。
與NTP和PTP協議不同,GPS系統的可變延遲問題則不一樣,因為時間信息都直接來自于衛星,唯一限制的因素是接收器必須有一條暢通無阻的通路,大氣環境以及衛星相對接收器的位置都會對精度產生影響。因為給每個網絡元素都集成一個接收器會很昂貴,因此工程師們會有效的控制成本,不過GPS時代相關產品已經便宜很多了,使得實際的解決方案的同步精度能夠達到100ns以內。
GPS系統接收器還有一個好的特性就是它可以應用于封閉網絡,即沒有互聯網連接。它們同樣可以為PTP網絡提供精確的主時鐘源。
總結
除了上文提到的時間同步方法,當然還有其他的方案比如“同步網絡(SyncE)”和“范圍內儀表組時間編碼(IRIG)”,這些都值得我們深入去研究。這些技術都是通過分發信號實現同步但是都需要專用的硬件平臺。“同步網絡”已經成為一種標準受到越來越多的歡迎,傳統的時間劃分多路復用網絡演變為基于IP的切換和多路復用實現方案(上文提到的DP83640就是基于SyncE技術實現的)。為了進一步的探索,可以參考國際電信聯盟相關標準:ITU-T Rec.G8261,62,64。網絡時間同步解決方案也可以通過上文提到的方法組合來實現,比如基于PTP的工業控制網絡可以從GPS接收器獲取其主時鐘源,當然也可以從NTP衍生服務器獲取。許多可行的方法和組合可以一起工作,最終目標是通過網絡實現精確的時間同步,但是每種技術都有自己獨特的功能特性,而且隨著網絡和技術的發展逐漸都能夠滿足現代應用的大部分需求。
-
gps
+關注
關注
22文章
2896瀏覽量
166297 -
IP
+關注
關注
5文章
1710瀏覽量
149612 -
局域網
+關注
關注
5文章
754瀏覽量
46298
發布評論請先 登錄
相關推薦
評論