簡介
在前面的文章中介紹了i.MX RT1180跨界處理器的主要應(yīng)用場景是在工業(yè)自動化與智能制造的高精度測量領(lǐng)域,而這其中時間同步是一個實時系統(tǒng)能夠穩(wěn)定運行的關(guān)鍵。而主流的工業(yè)網(wǎng)絡(luò)協(xié)議基本上的時鐘同步原理都是一脈相承來自于IEEE 1588標(biāo)準(zhǔn),今天本文就介紹一下RT1180上如何實現(xiàn)1588同步。
1588基本原理簡介
首先來了解一下802.1AS(又叫g(shù)PTP)協(xié)議本身。gPTP協(xié)議最早可以追溯到20世紀(jì)90年代,以太網(wǎng)的速度開始從10Mbps往100Mbps發(fā)展,而早期的時間同步協(xié)議NTP工作在應(yīng)用層并且由純軟件實現(xiàn),它通常只能保證毫秒級的同步精度,這無法滿足工業(yè)自動化,汽車,電力系統(tǒng)等應(yīng)用領(lǐng)域?qū)ν骄鹊囊蟆?/p>
為了解決這個問題,在2002年,IEEE正式發(fā)布了1588協(xié)議的V1版本,定義了時間同步的基本原理,此版本的同步精度可以達(dá)到亞毫秒級,而在2008年發(fā)布的V2版本中引入了硬件時間戳的定義,同步精度由此提升到了亞微秒級。到了2011年第一版的gPTP協(xié)議發(fā)布,它脫胎于1588V2,但是與之不同的是它對1588V2進(jìn)行了簡化,拋棄了一些特性選項,并且針對性的僅工作在二層網(wǎng)絡(luò)上以提升精度。再到2020年,IEEE又發(fā)布了一版802.1AS-2020協(xié)議,創(chuàng)新的加入了多個時間域的支持,使得不同種類的應(yīng)用可以使用獨立的時間域,有效提升了容錯及冗余能力。
同步原理方面,從NTP到gPTP,使用的原理都是同樣的步驟,如下圖所示:

主時鐘與從時鐘之間通過Sync,F(xiàn)ollow_up,Delay_req,Delay_rsep四種幀的通信,讓從時鐘能夠獲取與主時鐘的偏移以及傳輸延遲,然后從時鐘調(diào)整自己以與主時鐘同步。
通常來說,在計算偏移與延遲的過程中,時間戳越接近模擬信號的出口就能夠獲取越準(zhǔn)確的結(jié)果,而RT1180就依賴于一個內(nèi)置的Timer模塊,能夠在MAC的出口獲取時間戳,獲得相對較為準(zhǔn)確的數(shù)據(jù)。
RT1180 1588 Timer模塊
RT1180的Timer模塊的基本結(jié)構(gòu)如下圖所示:

時鐘源的穩(wěn)定是時鐘同步的基礎(chǔ),所以RT1180的Timer可以支持多種時鐘源輸入作為計數(shù)源,可以根據(jù)需求選擇不同穩(wěn)定標(biāo)準(zhǔn)的時鐘源來作為時基。
這個Timer提供了多個寄存器以提供準(zhǔn)確的時間戳。包含兩個64-bit的counter寄存器TMR_CNT,TMR_OFF。除此以外,還提供了兩個32-bit的寄存器TMR_ACC配合TMR_ADD寄存器可以用于微調(diào)TMR_CNT的值,以讓輸出的時間戳能夠與主時鐘同步。
具體到它的調(diào)節(jié)原理如下,TMR_CNT會按照TMR_CTRL[TCLK_PERIOD]中設(shè)定的值每個周期遞增,TMR_ACC(定時器累加器)在每個定時器時鐘周期都會按照TMR_ADD[ADDEND]的值遞增。當(dāng)TMR_ACC累加到溢出時,TMR_CNT會額外加1,用于補償時鐘頻率中的小數(shù)部分。調(diào)整TCLK_PERIO以及TMR_ADD寄存器的值就可以做到調(diào)節(jié)Timer的輸出時間戳的值而達(dá)到調(diào)節(jié)時鐘頻率的目的。
同時這個Timer還提供了Alarm以及Fiper寄存器,Alarm寄存器用以實現(xiàn)到達(dá)指定時間時輸出脈沖,F(xiàn)iper模塊用以實現(xiàn)周期性的脈沖輸出,主要用于1PPS信號的輸出。
在實際的1588實現(xiàn)中,在周期性的計算offset的情況下,會使用PI控制的方法來動態(tài)調(diào)節(jié)TCLK_PERIOD與TMR_ADD的值以實現(xiàn)時鐘頻率的微調(diào),讓offset能夠保持在一個穩(wěn)定的范圍以內(nèi)。
RT1180時鐘同步效果
同步的基本原理上面已經(jīng)介紹過了,而在i.MX RT1180上,NXP提供的GenAVB/TSN軟件包也可以用于測量實際的同步效果,下圖就是基于兩塊RT1180-EVK單跳連接下所測量出來的gPTP的同步效果,可以看到offset還是保持在一個較低的值。

在確定性網(wǎng)絡(luò)和工業(yè)自動化的時代,時間不僅是維度,更是協(xié)作的基石。i.MX RT1180憑借精準(zhǔn)的時鐘同步能力,讓每一個節(jié)點都能“踩準(zhǔn)節(jié)拍”,實現(xiàn)微秒級甚至納秒級的協(xié)同。
未來,無論是智能工廠、車聯(lián)網(wǎng),還是能源系統(tǒng),這種“魔法”都將成為推動高效、可靠通信的核心力量。時序共律,才能奏響工業(yè)互聯(lián)的完美樂章!
-
處理器
+關(guān)注
關(guān)注
68文章
20255瀏覽量
252400 -
時鐘
+關(guān)注
關(guān)注
11文章
1972瀏覽量
135018 -
時間同步
+關(guān)注
關(guān)注
1文章
226瀏覽量
10636
原文標(biāo)題:時序共律:揭秘i.MX RT1180的時鐘同步魔法
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
探索i.MX RT1180:高性能處理器的技術(shù)剖析與應(yīng)用指南
i.MX RT1180實現(xiàn)EtherCAT+伺服控制的終極實踐
使用恩智浦i.MX RT700跨界MCU打造智能手表
恩智浦推出i.MX 952人工智能應(yīng)用處理器
恩智浦i.MX 95處理器如何推動車載HMI演進(jìn)
恩智浦i.MX RT1180 MCU如何進(jìn)入Boundary Scan模式
恩智浦助力億境虛擬打造新一代AI眼鏡解決方案
RT1180 XMCD的特點和使用注意事項
恩智浦i.MX RT1180跨界MCU助力下一代伺服控制系統(tǒng)
恩智浦MCU方案 單顆i.MX RT1180實現(xiàn)EtherCAT+伺服控制
恩智浦i.MX 95系列MPU如何賦能邊緣計算
如何實現(xiàn)安卓與恩智浦i.MX RT1170的無線投屏與控制
恩智浦i.MX 94應(yīng)用處理器和Trimension NCJ29D6超寬帶IC榮獲嵌入式世界大會兩項大獎
在恩智浦i.MX RT1180跨界處理器上如何實現(xiàn)1588協(xié)議同步
評論