一種機(jī)載網(wǎng)絡(luò)ieee1588協(xié)議主從時(shí)鐘端口同步方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種機(jī)載網(wǎng)絡(luò)IE邸1588協(xié)議主從時(shí)鐘端口同步方法,屬于網(wǎng)絡(luò)化機(jī) 載測(cè)試領(lǐng)域。
【背景技術(shù)】
[0002] 在新一代網(wǎng)絡(luò)化通用機(jī)載測(cè)試系統(tǒng)中,為了提高數(shù)據(jù)采集設(shè)備之間的時(shí)間同步 精度,采用IEEE1588精密時(shí)間同步協(xié)議,為實(shí)現(xiàn)高精度、高同步性測(cè)試提供技術(shù)保障。 IEEE1588定義了一個(gè)能夠在測(cè)量和控制系統(tǒng)中實(shí)現(xiàn)高精度時(shí)鐘同步的協(xié)議一精確時(shí)間 協(xié)議(簡(jiǎn)稱(chēng)PT巧。PTP集成了網(wǎng)絡(luò)通信、本地計(jì)算和分布式對(duì)象等技術(shù),適用于所有支持多 播的局域網(wǎng)進(jìn)行通訊的分布式系統(tǒng),特別適合于W太網(wǎng)。它能夠使系統(tǒng)中各類(lèi)不同精度的 時(shí)間同步起來(lái),利用最小的網(wǎng)絡(luò)和本地計(jì)算資源,使系統(tǒng)達(dá)到亞微級(jí)的同步精度。IE邸1588 協(xié)議中的主時(shí)鐘節(jié)點(diǎn)是PTP域的最優(yōu)時(shí)鐘節(jié)點(diǎn),用來(lái)對(duì)PTP域的其他時(shí)鐘節(jié)點(diǎn)的時(shí)鐘進(jìn)行 時(shí)間同步。主時(shí)鐘節(jié)點(diǎn)由事件接口、普通接口、時(shí)間戳標(biāo)注單元、本地時(shí)鐘、PTP協(xié)議引擎、 時(shí)鐘數(shù)據(jù)集和端口數(shù)據(jù)集組成。
[0003] 目前IE邸1588協(xié)議的可W采用支持IE邸1588協(xié)議的專(zhuān)用硬件電路實(shí)現(xiàn),也可W 采用軟件實(shí)現(xiàn)。但是在機(jī)載網(wǎng)絡(luò)化測(cè)試系統(tǒng)中,現(xiàn)有支持IEEE1588協(xié)議的專(zhuān)用硬件和軟件 均不能滿(mǎn)足系統(tǒng)的速度和同步精度要求。
[0004] 由于支持IE邸1588協(xié)議的網(wǎng)絡(luò)化機(jī)載測(cè)試系統(tǒng)在國(guó)內(nèi)屬于首次,而國(guó)外關(guān) 于IEEE1588協(xié)議的實(shí)現(xiàn)方法和資料對(duì)我國(guó)封鎖嚴(yán)密,因此,在機(jī)載網(wǎng)絡(luò)環(huán)境下采用支持 IEEE1588協(xié)議的主從時(shí)鐘端口同步方法來(lái)實(shí)現(xiàn)數(shù)據(jù)采集設(shè)備之間的高精度時(shí)間同步。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明主要是一種機(jī)載網(wǎng)絡(luò)IE邸1588協(xié)議主從時(shí)鐘端口同步方法,來(lái)解決現(xiàn)有 網(wǎng)絡(luò)化機(jī)載測(cè)試系統(tǒng)精密時(shí)間同步問(wèn)題。
[0006] IE邸1588協(xié)議主從時(shí)鐘包括上行解析單元、PTP消息處理單元、下行封裝單元、 PTP時(shí)標(biāo)單元、處理器單元。本發(fā)明提到的部分概念的解釋如下:
[0007] 上行解析單元的任務(wù)是:對(duì)MAC接收的報(bào)文進(jìn)行檢測(cè),判斷是否為PTP報(bào)文(讀取 數(shù)據(jù)包頭中目的MC地址,判斷是否為PTP協(xié)議規(guī)定固定的MC地址,若為PTP協(xié)議規(guī)定固 定的MC地址,說(shuō)明接收到是一個(gè)PTP報(bào)文),若是,則進(jìn)行IP效驗(yàn)和UDP效驗(yàn),進(jìn)行報(bào)文解 析和提取報(bào)文中的時(shí)間戳,將時(shí)間戳送往PTP消息產(chǎn)生單元或控制單元的處理器;否則,將 報(bào)文直接送往交換單元。
[000引 PTP消息處理單元的主要功能包括;根據(jù)PTP組包命令產(chǎn)生同步(Sync)報(bào)文、延 遲響應(yīng)值elay_Resp)報(bào)文、延遲請(qǐng)求值elay_Req)報(bào)文等消息的IE邸1588凈核部分,并攜 帶MC層和IP層的相關(guān)信息,一起送到下行封裝單元中。
[0009] 下行封裝單元的主要任務(wù)是把PTP消息產(chǎn)生單元發(fā)送來(lái)的IE邸1588凈核,按照時(shí) 鐘包的模版進(jìn)行封裝,并完成UDP效驗(yàn)和IP效驗(yàn)。
[0010] PTP時(shí)標(biāo)單元的主要任務(wù)包括;一是完成PTP事件報(bào)文(Sync和Delay_Req)的檢 巧Ij,二是在PTP事件報(bào)文離開(kāi)、到達(dá)使終端口的時(shí)刻時(shí)間戳標(biāo)注。
[0011] 處理器單元主要是完成時(shí)間戳計(jì)算,時(shí)鐘單元與本地控制單元的CPU、DAC、VCXO 構(gòu)成鎖相環(huán)調(diào)整本地時(shí)鐘的頻率,同時(shí)時(shí)鐘單元根據(jù)CPU下發(fā)的調(diào)整值調(diào)整調(diào)整本地時(shí) 鐘的相位,最終使本地時(shí)鐘的時(shí)間脈沖計(jì)數(shù)器跟蹤主時(shí)鐘的時(shí)間脈沖計(jì)數(shù)器即達(dá)到時(shí)間同 步。
[0012] MC硬核分為發(fā)送和接收兩部分,其基本功能是:將MC子層形成的數(shù)據(jù)頓轉(zhuǎn)換成 4bit或Sbit的并行比特流發(fā)送到物理層,將從物理層接收4bit或Sbit的并行比特流將其 轉(zhuǎn)換成MC子層的數(shù)據(jù)頓,并對(duì)數(shù)據(jù)頓進(jìn)行CRC校驗(yàn)。
[0013] 本發(fā)明機(jī)載網(wǎng)絡(luò)IE邸1588協(xié)議主從時(shí)鐘端口同步方法,步驟如下:
[0014] (1)下行封裝單元根據(jù)軟件配置的發(fā)包頻率,即間隔,并按照該間隔依次判斷軟件 配置在內(nèi)部存儲(chǔ)器的每個(gè)時(shí)鐘的有效標(biāo)志位,如有效,則讀取存儲(chǔ)器中該時(shí)鐘的相關(guān)信息 如MC地址、IP地址、UDP端口號(hào),組包并記錄此刻的時(shí)間作為發(fā)送時(shí)間戳,將該時(shí)間戳也組 入包中,通過(guò)MC硬核發(fā)送同步(Sync)報(bào)文到物理層,同時(shí)PTP時(shí)標(biāo)單元記錄同步(Sync) 報(bào)文離開(kāi)GMII/MII接口時(shí)間戳tl ;
[0015] (2)?了?消息處理單元把時(shí)間戳*1打包在跟隨(。〇11〇*_化)消息,通過(guò)下行封裝單 元和MC硬核發(fā)送到從屬時(shí)鐘端口;
[001引 0)MAC硬核接收來(lái)自從屬時(shí)鐘的延遲請(qǐng)求Oelay-Req) *良文,同時(shí)FTP時(shí)標(biāo)單 元記錄延遲請(qǐng)求值elay_Req)報(bào)文到達(dá)GMII/MII接口時(shí)間戳t4,把接收進(jìn)來(lái)的延遲請(qǐng)求 值elay_Req)報(bào)文傳遞到上行解析單元,解析完成后通知PTP消息產(chǎn)生單元產(chǎn)生延遲響應(yīng) (Delay_Resp)報(bào)文,并在下行封裝單元對(duì)該消息進(jìn)行封裝并記錄延遲響應(yīng)值elay_Resp) 報(bào)文的發(fā)送時(shí)間戳,把送兩個(gè)時(shí)間戳tl和t4都打包在延遲響應(yīng)值elay_Resp)報(bào)文消息中 發(fā)送到從屬時(shí)鐘。
[0017] (4) MC硬核接收本PTP域的主時(shí)鐘端口發(fā)來(lái)的同步(Sync)報(bào)文,同時(shí)PTP時(shí)標(biāo)單 元記錄同步(Sync)報(bào)文到達(dá)GMII/MII接口時(shí)間戳t2,把t2上報(bào)本地控制單元中的處理器 單元;
[0018] (5)MAC硬核接收本PTP域的主時(shí)鐘端口發(fā)來(lái)的跟隨(Follow-Up)報(bào)文,把接收進(jìn) 來(lái)的跟隨(FollowJJp)報(bào)文上傳到上行解析單元,提取跟隨(FollowJJp)報(bào)文包含的時(shí)間 戳tl,把tl上報(bào)本地控制單元中的處理器單元;
[001引 (6)由下行封裝單元組延遲請(qǐng)求值elay_Req)報(bào)文,并由MC硬核發(fā)送給本PTP域 的主時(shí)鐘端口,同時(shí)PTP時(shí)標(biāo)單元記錄延遲請(qǐng)求值elay_Req)報(bào)文離開(kāi)GMII/MII接口的時(shí) 間戳t3 ;
[0020] (7)MC硬核接收本PTP域的主時(shí)鐘端口發(fā)來(lái)的延遲響應(yīng)值elay_Resp)報(bào)文,把接 收進(jìn)來(lái)的報(bào)文上傳到上行解析單元,提取延遲響應(yīng)值elay_Resp)報(bào)文包含的時(shí)間戳t4,把 t4上報(bào)本地控制單元中的處理器單元;
[0021] 做處理器單元根據(jù)4個(gè)時(shí)間戳計(jì)算出主、從時(shí)鐘的頻率差值A(chǔ)f和時(shí)間偏差 offset,時(shí)鐘單元與本地控制單元的CPU、DAC、VCXO構(gòu)成鎖相環(huán)調(diào)整本地時(shí)鐘的頻率,同時(shí) 時(shí)鐘單元根據(jù)CPU下發(fā)的調(diào)整值調(diào)整本地時(shí)鐘的相位,最終使本地時(shí)鐘的時(shí)間脈沖計(jì)數(shù)器 跟蹤主時(shí)鐘的時(shí)間脈沖計(jì)數(shù)器即達(dá)到時(shí)間同步。
【附圖說(shuō)明】
[0022] 附圖1為IE邸1588協(xié)議主時(shí)鐘端口框圖;
[0023] 附圖2為IE邸1588協(xié)議從時(shí)鐘端口框圖;
[0024] 附圖3為主、從時(shí)鐘頻率同步過(guò)程的示意圖;
[00巧]附圖4為主、從時(shí)鐘的時(shí)間差估計(jì)過(guò)程示意圖。
【具體實(shí)施方式】
[0026] IE邸1588協(xié)議主從時(shí)鐘包括上行解析單元、PTP消息處理單元、下行封裝單元、 PTP時(shí)標(biāo)單元、處理器單元(參見(jiàn)圖1和圖2)。
[0027] 本發(fā)明IE邸1588協(xié)議主從時(shí)鐘同步方法具體步驟如下:
[0028] (1)下行封裝單元根據(jù)軟件配置的發(fā)包頻率,即間隔,并按照該間隔依次判斷軟件 配置在內(nèi)部存儲(chǔ)器的每個(gè)時(shí)鐘的有效標(biāo)志位,如有效,則讀取存儲(chǔ)器中該時(shí)鐘的相關(guān)信息 如MC地址、IP地址、UDP端口號(hào),組包并記錄此刻的時(shí)間作為發(fā)送時(shí)間戳,將該時(shí)間戳也組 入包中,通過(guò)MAC硬核發(fā)送同步(Sync)報(bào)文到物理層,同時(shí)PTP時(shí)標(biāo)單元記錄同步(Sync) 報(bào)文離開(kāi)GMII/MII接