導(dǎo)讀:在基于FPGA的網(wǎng)絡(luò)設(shè)備中,精確的時(shí)間同步至關(guān)重要。IEEE 1588標(biāo)準(zhǔn)定義的精確時(shí)間協(xié)議(PTP)為網(wǎng)絡(luò)中的設(shè)備提供了納秒級(jí)的時(shí)間同步。本文將介紹虹科提供的適用于基于FPGA的網(wǎng)絡(luò)設(shè)備的IEEE 1588透明時(shí)鐘(TC)架構(gòu),幫助您實(shí)現(xiàn)精確時(shí)間同步和高效通信。
在分布式系統(tǒng)中,傳感器/執(zhí)行器的事件和操作需要進(jìn)行精確的時(shí)間協(xié)調(diào),因?yàn)闀r(shí)鐘差異可能導(dǎo)致操作失敗。為了確保時(shí)間同步,每個(gè)組件都需要具備與其對(duì)等組件一致的實(shí)時(shí)時(shí)鐘,這需要時(shí)間同步的常識(shí)。
隨著電信網(wǎng)絡(luò)從傳統(tǒng)的時(shí)分復(fù)用 (TDM) 發(fā)展到基于分組的網(wǎng)絡(luò),額外的同步協(xié)議已成為必要。因此,近幾十年來開發(fā)了多種同步技術(shù),如 IRIG-B、LORAN-C、NTP、基于GPS的同步和SyncE。然而,它們不適合需要精確時(shí)間且成本較低的應(yīng)用領(lǐng)域。
通過精確時(shí)間協(xié)議 (PTP),能夠以最少的網(wǎng)絡(luò)、計(jì)算和硬件資源需求達(dá)到亞微秒精度。鑒于此,IEEE 1588標(biāo)準(zhǔn)中定義的PTP正在成為許多需要精確時(shí)間同步的應(yīng)用的最可行的解決方案。虹科推出用于可重新配置設(shè)備的IEEE 1588透明時(shí)鐘 (TC) 可擴(kuò)展架構(gòu),該邏輯解決了PTP實(shí)現(xiàn)的主要缺點(diǎn)之一,即級(jí)聯(lián)拓?fù)渲械腻e(cuò)誤累積。
1.PTP操作過程
A.PTP操作類型
PTP操作可分為兩個(gè)過程:時(shí)間同步和頻率同步
- 時(shí)間同步(或偏移調(diào)整):偏移量計(jì)算為主從時(shí)間之差
- 頻率同步(或頻率調(diào)整):頻率漂移為在兩個(gè)N間隔的同步消息之間傳遞的從機(jī)時(shí)間差和主機(jī)時(shí)間差之間的比率。
圖1.延遲請(qǐng)求響應(yīng)機(jī)制
B.延遲測(cè)量
PTP消息中發(fā)送的時(shí)間戳必須通過傳播延遲進(jìn)行糾正,傳播延遲可以使用標(biāo)準(zhǔn)中定義的兩種機(jī)制之一進(jìn)行測(cè)量:延遲請(qǐng)求響應(yīng)機(jī)制或?qū)Φ妊舆t機(jī)制。
C.PTP時(shí)鐘設(shè)備
PTP系統(tǒng)由PTP和非PTP設(shè)備的組合組成。PTP設(shè)備分為普通時(shí)鐘(OC)、邊界時(shí)鐘(BC)、透明時(shí)鐘(TC)和管理節(jié)點(diǎn)(MN)。
圖2.PTP網(wǎng)絡(luò)示意圖
圖2展示了一個(gè)簡(jiǎn)單PTP網(wǎng)絡(luò):OC是包含PTP時(shí)鐘和單個(gè)物理網(wǎng)絡(luò)連接的系統(tǒng)終端設(shè)備,而BC是具有多個(gè)物理端口的網(wǎng)絡(luò)設(shè)備,它們不轉(zhuǎn)發(fā)PTP接收到的消息,而是與主站同步并生成新的PTP消息以與其余從站共享其自己的定時(shí)參考。TC有兩種類型:端到端(E2E)TC和點(diǎn)對(duì)點(diǎn)(P2P)TC,它們也是網(wǎng)絡(luò)設(shè)備。一方面,E2E TC像正常網(wǎng)絡(luò)節(jié)點(diǎn)一樣轉(zhuǎn)發(fā)所有PTP和非PTP消息,此外,它們測(cè)量消息穿越TC所需的時(shí)間,稱為駐留時(shí)間,并將其累積在PTP 中稱為 CorrectionField的特殊字段。另一方面,P2P TC使用對(duì)等延遲機(jī)制來測(cè)量?jī)蓚€(gè)直接連接的端口(鏈路對(duì)等點(diǎn))之間的鏈路延遲,并使用與Sync消息的入口傳輸路徑相關(guān)的駐留時(shí)間和鏈路延遲來更新CorrectionField ,允許在網(wǎng)絡(luò)拓?fù)?/a>更改后更快地重新配置。此外,每個(gè)PTP設(shè)備可以作為一步或兩步模式工作:一步時(shí)鐘根據(jù)同步和延遲請(qǐng)求事件消息實(shí)時(shí)生成時(shí)間戳,而兩步時(shí)鐘則根據(jù)Follow Up和Delay Resp一般消息。
D.PTP執(zhí)行
硬件與軟件實(shí)現(xiàn):PTP環(huán)境提供不同的可能時(shí)間戳點(diǎn),如圖3所示。結(jié)果的精度取決于時(shí)間戳的精度 。一方面,在網(wǎng)絡(luò)接口卡 (NIC) 驅(qū)動(dòng)程序或應(yīng)用程序層中獲取時(shí)間戳的純軟件解決方案具有平臺(tái)獨(dú)立性的優(yōu)勢(shì),但會(huì)經(jīng)歷通過協(xié)議棧的消息傳輸延遲的巨大變化(也稱為抖動(dòng))。驅(qū)動(dòng)程序級(jí)別的時(shí)間戳是最佳軟件解決方案,但需要修改網(wǎng)絡(luò)驅(qū)動(dòng)程序。
圖3.可能的時(shí)間戳點(diǎn)
另一方面,在硬件輔助方法中,時(shí)間戳是在介質(zhì)獨(dú)立接口(MII)處獲取的。帶有時(shí)間戳的消息越接近物理層,所達(dá)到的準(zhǔn)確性就越好。由于硬件的幫助,使用IP內(nèi)核和現(xiàn)場(chǎng)可編程門陣列 (FPGA) 已成為最精確和準(zhǔn)確的時(shí)間戳方法。
其他實(shí)現(xiàn)方面:不同供應(yīng)商的PTP IP核往往具有相似的架構(gòu)。他們通常使用軟CPU,例如Xilinx FPGA 中的Microblaze,包含用戶應(yīng)用程序和PTP堆棧軟件,并在同一FPGA中構(gòu)建完整的SoC解決方案。這些IP核通常由至少兩個(gè)稱為實(shí)時(shí)時(shí)鐘 (RTC) 和時(shí)間戳單元 (TSU) 的硬件模塊組成。RTC通常是一個(gè)64位計(jì)數(shù)器,表示秒和納秒,并且可以通過更改內(nèi)核的某些配置寄存器的值進(jìn)行調(diào)整。TSU負(fù)責(zé)存儲(chǔ)有關(guān)幀的信息,例如序列 ID、消息類型或時(shí)鐘標(biāo)識(shí),以及時(shí)間戳信息。
2.基于FPGA的TC架構(gòu)
A.實(shí)時(shí)時(shí)鐘(RTC)
名為RTC的塊代表可選的同步時(shí)鐘源,例如,它可以是 IEEE 1588或GPS時(shí)鐘。RTC 可以由一個(gè)計(jì)數(shù)器形成,該計(jì)數(shù)器在每個(gè)時(shí)鐘周期按系統(tǒng)時(shí)鐘周期遞增。
B.循環(huán)冗余校驗(yàn) (CRC) 檢查器/發(fā)生器
CRC檢查器模塊檢查接收到的以太網(wǎng)幀的幀校驗(yàn)序列(FCS)字段,以便檢測(cè)傳輸過程中損壞的數(shù)據(jù)(由 于數(shù)據(jù)丟失或更改而導(dǎo)致的錯(cuò)誤)。另一方面,CRC生成器模塊重新生成新的FCS字段并將其附加在幀末尾,如IEEE 802.3標(biāo)準(zhǔn)中所定義。
C.On-The-Fly (OTF) 更正
OTF Correction的模塊負(fù)責(zé)將相應(yīng)的駐留時(shí)間動(dòng)態(tài)添加到PTPv2事件數(shù)據(jù)包的CorrectionField字段中,如IEEE 1588-2008中針對(duì)單步TC的定義。也就是說,它不會(huì)等到接收到整個(gè)PTP消息才計(jì)算停留時(shí)間并將其添加到CorrectionField中。相反,一旦知道傳入消息的CorrectionField,就會(huì)盡快將停留時(shí)間添加到其中。
D.駐留時(shí)間橋
該模塊計(jì)算自PTP幀進(jìn)入和離開TC以來經(jīng)過的時(shí)間。每個(gè)消息的停留時(shí)間值被向下傳遞到OTF校正模塊。由于入口時(shí)間戳臨時(shí)存儲(chǔ)在存儲(chǔ)器中,并且計(jì)算的停留時(shí)間被傳遞到負(fù)責(zé)更新CorrectionField的模塊。
圖4.駐留時(shí)間橋框圖
E.實(shí)驗(yàn)結(jié)果
圖5. 左側(cè)為CorrectionField和測(cè)量延遲樣本之間的比較;右側(cè)為停留時(shí)間出現(xiàn)的頻率
通過復(fù)制必要的模塊,該設(shè)計(jì)可以輕松擴(kuò)展到兩個(gè)以上的端口:除了新的OTF校正器之外,每個(gè)新端口還應(yīng)將兩個(gè)額外的WB Master 0和WB Master 1子模塊集成到駐留時(shí)間橋中,CRC檢查器和CRC生成器連接到每個(gè)新的出口端口。在資源利用方面,每個(gè)額外端口的空間需求比較少數(shù)的Slices Registers和LUTs。不需要復(fù)制WB Slave 0,但必須調(diào)整CAM/RAM存儲(chǔ)器的大小以應(yīng)對(duì)PTP流量并在擁塞條件下正確執(zhí)行。
虹科?IEEE?1588?IP?核方案
虹科IEEE1588v2兼容時(shí)鐘同步IP內(nèi)核,它能夠準(zhǔn)確地為IEEE?1588報(bào)文打上時(shí)間戳,并提供兼容的計(jì)時(shí)器,廣泛應(yīng)用于汽車、工業(yè)、廣播和航空航天等行業(yè)。其能夠提供許多應(yīng)用所需的精確時(shí)間同步,而不需要任何新的基礎(chǔ)設(shè)施。
TC應(yīng)在級(jí)聯(lián)拓?fù)渲惺褂?,其中網(wǎng)絡(luò)設(shè)備擁塞狀況導(dǎo)致的延遲可能會(huì)影響協(xié)議性能。所提出的TC架構(gòu)是以簡(jiǎn)單的方式開發(fā)具有TC功能的以太網(wǎng)交換機(jī)的可行解決方案,具有完全的可擴(kuò)展性和最小的資源利用率。由于塊RAM是利用率最高的資源,并且它們直接取決于CAM和RAM大小,因此應(yīng)在實(shí)現(xiàn)過程中優(yōu)化這兩個(gè)元素。如需進(jìn)一步了解虹科IEEE?1588?PTP?IP核解決方案,歡迎隨時(shí)聯(lián)系我們。
了解虹科智能自動(dòng)化更多資訊,歡迎前往【虹科智能互聯(lián)】官方網(wǎng)站:https://www.hoautom.com/precisetimebasic-ieee-1588-2008-v2-ptp-ip-core/?from=industrynews
聯(lián)系虹科工程師:https://tl-tx.dustess.com/Am0Dzfu6M0
TEL:18922242268