国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種提高FC網(wǎng)絡(luò)時(shí)間同步精度的方法

2021-08-04 21:21楊媛媛王曉華武健
中國新通信 2021年8期
關(guān)鍵詞:跳動(dòng)偏差時(shí)鐘

楊媛媛 王曉華 武健

【摘要】? ? 本文研究了FC網(wǎng)絡(luò)的時(shí)間同步問題,分析了系統(tǒng)RTC的同步誤差,提出了通過實(shí)時(shí)修正和維護(hù)客戶端在標(biāo)準(zhǔn)時(shí)間內(nèi)的晶振跳動(dòng)次數(shù)來達(dá)到提高時(shí)鐘同步精度的方法。最后通過實(shí)驗(yàn)測試了本文所提出的時(shí)鐘同步精度校準(zhǔn)計(jì)算方法的有效性。

【關(guān)鍵詞】? ? FC? ? 時(shí)間同步

引言:

光纖通道(FC,F(xiàn)iber Channel)是1998年由美國國家標(biāo)準(zhǔn)委員會(ANSI)研究出的,用于連接工作站、大型機(jī)、巨型機(jī)、存儲設(shè)備、顯示器以及其他IO設(shè)備的高速串行數(shù)據(jù)傳輸協(xié)議。FC技術(shù)可同時(shí)支持同一接口上傳輸多種不同的協(xié)議,提供了一種通用數(shù)據(jù)傳輸機(jī)制;傳輸速度快;可以給計(jì)算機(jī)設(shè)備提供接近于設(shè)備處理速度的吞吐量;傳輸距離遠(yuǎn),采用單模光纖作為數(shù)據(jù)傳輸介質(zhì)時(shí),傳輸距離可高達(dá)10KM;連接簡單靈活,支持點(diǎn)到點(diǎn)、仲裁環(huán)網(wǎng)、交換機(jī)結(jié)構(gòu)三種拓?fù)浣Y(jié)構(gòu);提供一種能夠低誤碼率,低延遲數(shù)據(jù)傳輸?shù)氖侄巍T诤娇针娮迎h(huán)境中,F(xiàn)C-AE[1]也可以用于綜合化模塊化航空電子[2](IMA,Integrated Modular Avionics)系統(tǒng)互聯(lián)。

對于越來越復(fù)雜的綜合化航電系統(tǒng)而言,全局或局部的時(shí)鐘同步是不可或缺的,也是FC網(wǎng)絡(luò)為上層應(yīng)用提供的必要的基礎(chǔ)服務(wù)之一。目前廣泛使用的實(shí)現(xiàn)基礎(chǔ)時(shí)鐘同步的方法有兩種,即基于FC-ELS和基于時(shí)鐘同步原語[3]。但其基本思想是一致的,在網(wǎng)絡(luò)中存在一個(gè)節(jié)點(diǎn)作為時(shí)鐘服務(wù)器,其余節(jié)點(diǎn)作為時(shí)鐘客戶端,在一個(gè)同步周期到達(dá)時(shí),由時(shí)鐘服務(wù)器向外發(fā)送攜帶時(shí)鐘信息的ELS幀或時(shí)鐘同步原語,客戶端在收到服務(wù)器的參考時(shí)鐘信息后,更新本地時(shí)鐘,從而實(shí)現(xiàn)時(shí)鐘同步。這種同步方法實(shí)現(xiàn)簡單,能夠保證在單一時(shí)鐘源的情況下保證基礎(chǔ)的全局時(shí)鐘同步,但其精度不夠,容易造成時(shí)鐘漂移。

本文通過仔細(xì)分析討論基礎(chǔ)時(shí)鐘同步原理的同時(shí),提出一種校準(zhǔn)時(shí)鐘同步的方法,提高時(shí)鐘同步精度。

一、簡單時(shí)鐘同步原理解析

航電系統(tǒng)所有節(jié)點(diǎn)在上電后,邏輯依據(jù)硬件晶振的頻率開始采樣,從0開始記錄本地RTC,晶振跳動(dòng)一個(gè)TICK,RTC增加1。每個(gè)節(jié)點(diǎn)都維護(hù)一個(gè)本地RTC計(jì)數(shù)。當(dāng)應(yīng)用啟動(dòng)后,設(shè)置其中一個(gè)節(jié)點(diǎn)角色為時(shí)鐘服務(wù)器,設(shè)置基準(zhǔn)時(shí)間信息以及時(shí)鐘同步周期并使能,時(shí)間信息以時(shí)鐘服務(wù)器的RTC為標(biāo)準(zhǔn)逐步遞增,形成全局唯一時(shí)鐘信息源,其余節(jié)點(diǎn)均為時(shí)鐘客戶端并使能。每當(dāng)時(shí)鐘服務(wù)器設(shè)置的時(shí)鐘同步周期到達(dá)時(shí),就會將此刻服務(wù)器本地的時(shí)鐘信息及本地RTC信息通過FC-ELS消息或時(shí)鐘同步原語發(fā)送出去,當(dāng)客戶端收到ELS幀或時(shí)鐘同步原語后,與本地RTC進(jìn)行差值比較,將差值進(jìn)行時(shí)間換算,并累加到服務(wù)器發(fā)來的標(biāo)準(zhǔn)時(shí)間上,形成時(shí)鐘客戶端的當(dāng)前時(shí)間,時(shí)鐘同步精度計(jì)算的基礎(chǔ)是RTC同步計(jì)算的精度。由于節(jié)點(diǎn)啟動(dòng)的時(shí)機(jī)不同,時(shí)鐘服務(wù)器和時(shí)鐘客戶端之間的本地RTC存在固定的初始相位差Δ1=RTCS(0)-RTCC(0)。另一方面,由于時(shí)鐘客服務(wù)器和時(shí)鐘客戶端由不同的硬件晶振驅(qū)動(dòng)計(jì)數(shù),即使是同廠家同批次的晶振,也會存在相對標(biāo)稱頻率的頻率誤差,且這個(gè)頻率誤差會隨著環(huán)境溫度、濕度、晶振壽命等客觀因素不斷發(fā)生變化,這種不斷變化的頻率誤差會導(dǎo)致時(shí)間同步過程中服務(wù)器和客戶端的晶振跳動(dòng)不同步,繼而造成守時(shí)精度不同步,我們稱之為守時(shí)誤差,代表在一個(gè)同步周期內(nèi)存在時(shí)間保持誤差Δ0。在某個(gè)采樣點(diǎn)t,時(shí)鐘客戶端通過計(jì)算獲取的系統(tǒng)RTC為:

RTCS(t)=RTCC(t)+Δ1+Δ0

其中Δ1 為上電RTC差,為固定值,Δ0 由晶振的頻率準(zhǔn)確度和穩(wěn)定度等硬件特性決定,Δ0 的值與工作當(dāng)時(shí)的溫濕度、晶振壽命等不確定因素強(qiáng)相關(guān)。當(dāng)連續(xù)同步兩次時(shí),得到RTCS(t1)-RTCS(t0)=RTCC(t1)-RTCC(t0)+(Δ01-Δ00),即

Δf = (Δ01-Δ00)代表由于服務(wù)器和客戶端晶振特性偏差而導(dǎo)致的時(shí)間漂移,因此,Δf 是制約系統(tǒng)時(shí)鐘同步精度的關(guān)鍵因素,理想情況下,當(dāng)服務(wù)器與客戶端的晶振頻率始終完全相同時(shí),Δf =0。要想提高時(shí)間同步精度,就應(yīng)該想辦法將Δf 盡可能縮小。

二、解決方案

時(shí)間同步的前提是全局以服務(wù)器的時(shí)間為標(biāo)準(zhǔn)時(shí)間,以服務(wù)器的晶振頻率為標(biāo)準(zhǔn)頻率。為時(shí)鐘服務(wù)器兩次同步之間的時(shí)間差,即為應(yīng)用設(shè)置的全局時(shí)間同步周期T,為時(shí)鐘客戶端連續(xù)收到兩次同步原語之間的時(shí)間差,即以客戶端的晶振頻率計(jì)算得出的時(shí)間間隔差則(2)式演變?yōu)?/p>

理想方案下,如果服務(wù)器和客戶端晶振頻率一致,fs = fc,則。但事實(shí)上由于晶振頻率差,會導(dǎo)致客戶端計(jì)算得到的與上一次同步的時(shí)差產(chǎn)生偏移,同步誤差計(jì)算公式如下:

例如,應(yīng)用設(shè)置系統(tǒng)時(shí)鐘服務(wù)器每50毫秒同步一次,但客戶端兩次同步間隔卻為49毫秒或51毫秒,最差的情況發(fā)生在時(shí)鐘客戶端晶振為正偏,即fc=fn(1+ft),而時(shí)鐘服務(wù)器晶振為負(fù)偏,即fs=fn(1-ft),反之,也成立,其中fn為晶振的標(biāo)準(zhǔn)頻率。假設(shè)當(dāng)ft為10ppm時(shí),同步周期TP等于10ms時(shí),同步偏差Δ0約為200ns。如上所述,要解決晶振偏差導(dǎo)致的時(shí)鐘同步偏差就必須將服務(wù)器和客戶端的晶振頻率調(diào)整一致,但頻率是由硬件特性決定的,無法改變,因此我們采用調(diào)整客戶端晶振的單次跳動(dòng)時(shí)間來達(dá)到守時(shí)的目的。

計(jì)算并記錄客戶端在1秒內(nèi)跳動(dòng)的次數(shù)NC,之后就以1/NC作為客戶端的1個(gè)Tick的標(biāo)準(zhǔn)時(shí)長來進(jìn)行同步時(shí)間計(jì)算。當(dāng)客戶端晶振由于環(huán)境因素再次導(dǎo)致同步偏移時(shí),就再次同步,通過這種實(shí)時(shí)監(jiān)測同步誤差的方法來持續(xù)守時(shí)。當(dāng)時(shí)鐘服務(wù)器到達(dá)T開始同步時(shí),時(shí)鐘客戶端跳動(dòng)了n次,按初始條件時(shí)鐘客戶端1秒鐘跳動(dòng)NC次,單次跳動(dòng)時(shí)間(1000/NC),本次周期內(nèi)客戶端經(jīng)過的時(shí)間為n*(1000/NC)*T,晶振頻率一旦漂移,n會發(fā)生變化,此時(shí)通過實(shí)時(shí)人為更改NC,使得n*(1000/NC) = 1,即更改單次客戶端晶振的單次跳動(dòng)時(shí)間1/NC,使得客戶端經(jīng)過的時(shí)間時(shí)鐘為T,即達(dá)到了與服務(wù)器同步的目的。實(shí)際實(shí)現(xiàn)中,邏輯可以記錄客戶端兩次同步周期內(nèi)經(jīng)過的時(shí)間差,也即TICK數(shù)n之差Δf,從而得到應(yīng)在原先Nc基礎(chǔ)上調(diào)整的ΔN為? (5)

為了使得守時(shí)精度的調(diào)整更穩(wěn)妥,我們也可以采取二分法進(jìn)行步進(jìn)調(diào)整,即當(dāng)邏輯檢測到同步周期出現(xiàn)偏差時(shí),首先使用二分之一Δf偏差進(jìn)行微調(diào),然后繼續(xù)監(jiān)控,若仍然存在偏差,再繼續(xù)使用二分之一偏差進(jìn)行微調(diào),直至調(diào)整到可容忍偏差之內(nèi)。需要注意的是,由于晶振受環(huán)境因素影響,可能會隨機(jī)出現(xiàn)正偏或負(fù)偏,當(dāng)前后兩次同步恰好一次正偏一次負(fù)偏,會導(dǎo)致邏輯監(jiān)測到的時(shí)間差非常大,若以此來計(jì)算,會與實(shí)際情況偏離越來越大,采用二分法逐步調(diào)整,能夠在一定程度上避免一次調(diào)整過大而造成的失誤。

三、測試驗(yàn)證

基于以上理論,利用邏輯不斷監(jiān)測兩次同步周期之間的時(shí)間差Δf,當(dāng)時(shí)間差超出容忍范圍后,開始調(diào)整晶振跳動(dòng)次數(shù)。,調(diào)整后的客戶端1s跳動(dòng)次數(shù)N'C=NC-ΔN,記錄新的跳動(dòng)次數(shù)作為新的時(shí)鐘同步計(jì)算基準(zhǔn)。

建立如圖1的測試環(huán)境,在系統(tǒng)時(shí)鐘服務(wù)器晶振周期為1/125000000的情況下,調(diào)整客戶端晶振周期為1/1258000000,采用二分法雖然使得調(diào)整的時(shí)間略微慢了一些,但同步誤差的確在不斷收斂,達(dá)到了預(yù)期目的。

四、結(jié)束語

本文研究了FC網(wǎng)絡(luò)的時(shí)間同步問題,分析了系統(tǒng)RTC的同步誤差,提出了通過實(shí)時(shí)修正和維護(hù)客戶端在標(biāo)準(zhǔn)時(shí)間內(nèi)的晶振跳動(dòng)次數(shù)來達(dá)到提高時(shí)鐘同步精度的方法。最后通過實(shí)驗(yàn)測試了本文所提出的時(shí)鐘同步精度校準(zhǔn)計(jì)算方法的有效性。

本文僅分析了在航電局域網(wǎng)中的時(shí)間同步原理及提高守時(shí)精度的辦法,實(shí)際上,這種方法可以擴(kuò)展至全局時(shí)鐘同步,多網(wǎng)絡(luò)時(shí)鐘同步等。

參? 考? 文? 獻(xiàn)

[1] INCTIS.T 11/ 02-041v 1 fibre channel avionics environment[S]. Englewood, USA: INCTIS, 2002.

[2] Wolfig, R著,牛文生等譯.綜合化模塊化航空電子系統(tǒng)的分布式平臺:對未來航空電子系統(tǒng)及其認(rèn)證需求的見解.北京:航空工業(yè)出版社,2015.

[3] Fibre Channel: Framing and Signaling[S]. New York: American National Standards? Institute, 2003.

[4] John C. Eidson. IEEE Standard for a Precision Clock Syn-chronization Protocol for Networked Measurement and Control Systems[S].IEEE,2008.

猜你喜歡
跳動(dòng)偏差時(shí)鐘
50種認(rèn)知性偏差
跳動(dòng)
加固轟炸機(jī)
“蹦叭”跳動(dòng)電表數(shù)
這個(gè)時(shí)鐘一根針
真相
傍晚
有趣的時(shí)鐘
時(shí)鐘會開“花”
投資者認(rèn)知偏差研究綜述