• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于分布式仿真系統(tǒng)的時鐘同步技術(shù)研究

      2021-06-30 14:44:02黃學進
      計算機測量與控制 2021年6期
      關(guān)鍵詞:晶振時延時鐘

      黃學進,崔 鑫,余 婷

      (中國航發(fā)控制系統(tǒng)研究所,江蘇 無錫 214063)

      0 引言

      時鐘同步是指調(diào)整系統(tǒng)中網(wǎng)絡(luò)設(shè)備或計算機的時鐘,使之與其它時鐘源的時間保持一致或者偏差限定在足夠小的范圍內(nèi)的過程[1]。時鐘同步是分布式仿真系統(tǒng)的核心技術(shù)之一,在分布式仿真系統(tǒng)中,數(shù)據(jù)采集、模型處理、人機交互等都分布在不同的節(jié)點上,因此進行時鐘同步的目的是維護一個全局一致的物理或邏輯時鐘,以使得系統(tǒng)中的信息、事件及各節(jié)點與時間有關(guān)的行為有一個全局一致的解釋[2]或者是提供一種仿真時間的推進機制,以確保節(jié)點發(fā)送和接收消息在時間邏輯上是完全正確的。分布式仿真系統(tǒng)往往具有節(jié)點操作系統(tǒng)類型多(Windows系統(tǒng)、Linux系統(tǒng)、RTX實時系統(tǒng)、LabVIEWRT實時系統(tǒng)等)、仿真周期小(毫秒級)、結(jié)構(gòu)靈活、分布范圍廣的特點,因此需要時鐘同步系統(tǒng)具備兼容多種操作系統(tǒng)、同步精度高(優(yōu)于1 ms)、靈活度高、成本低,同時能考慮系統(tǒng)負載,本文提出的時鐘同步系統(tǒng)時鐘校準周期要求大于1 h。目前常用于時鐘同步的技術(shù)方案有:GPS(global positioning system)時鐘同步技術(shù)[3]、IRIG-B(interrange instrumentation group - B)時鐘同步技術(shù)[4]、NTP(network time protocol)時鐘同步技術(shù)[5]、PTP(precision time protocol)時鐘同步技術(shù)[6]等。各種方案應(yīng)用于分布式仿真系統(tǒng)中各有優(yōu)缺點,如表1所示。

      表1 時鐘同步方案對比

      從表中可以看出,NTP同步與文章的同步設(shè)計目標最為接近,只是同步精度略有不足。近年來,許多文章對NTP進行了改進和優(yōu)化。諶華金[7]通過CPU時間戳計數(shù)器(RDTSC,read time stamp counter)實現(xiàn)了同步精度1 ms以內(nèi),但是同步周期最長只有200ms,對原系統(tǒng)的CPU和網(wǎng)絡(luò)負載影響較大。侯重遠[8]利用交換機的IEEE802.1p 優(yōu)先級調(diào)度功能,將同步精度提高到10~100,但除了需要交換機支持調(diào)度功能外,操作系統(tǒng)必須為實時操作系統(tǒng)(如文中使用的VxWorks),不能兼容非實時Windows系統(tǒng)。

      黃沛芳[9]通過對信息包回路時延設(shè)置閾值進行數(shù)據(jù)篩選,只保留時延0.5 ms以內(nèi)的數(shù)據(jù),將同步精度提升到250,但這需要提前獲取網(wǎng)絡(luò)時延分布信息,且同步間隔只有1 min。因此,本文基于Windows系統(tǒng),在NTP協(xié)議基本原理上,通過邏輯時鐘構(gòu)建、網(wǎng)絡(luò)時延不對稱性優(yōu)化、時鐘頻率補償三方面進行優(yōu)化,實現(xiàn)設(shè)定的分布式仿真系統(tǒng)時間同步目標:同步精度優(yōu)于1 ms且校準時間間隔大于1 h。該時鐘同步方法基于UDP通訊,研究結(jié)果同樣可以推廣到實時操作系統(tǒng)中。

      1 NTP基本原理

      NTP是由RFC1305定義的時鐘同步協(xié)議,最早是由美國特拉華大學的David L.Mills教授在1982年提出[10],在實際的應(yīng)用過程中,可以采用NTP的簡化版本SNTP(簡單網(wǎng)絡(luò)時間協(xié)議)。這里主要介紹NTP以客戶機/服務(wù)器模式進行通信的過程,如圖1所示??蛻魴C首先要生成一個NTP查詢信息包,通過網(wǎng)絡(luò)發(fā)送到時間服務(wù)器;服務(wù)器收到后,根據(jù)本地時間生成一個NTP時間信息包發(fā)送給客戶機[11]。兩個信息包都帶有發(fā)送和接收的時間戳,根據(jù)這4個時間戳T1T2T3T4來確定客戶機和服務(wù)器之間的時間偏差和網(wǎng)絡(luò)時延。

      圖1 NTP通訊過程

      根據(jù)NTP通訊過程,可以抽象出模型如圖2所示[12]。

      圖2 NTP通訊模型

      記客戶端時間落后服務(wù)器θ,請求信息在網(wǎng)上傳播耗時為δ1,回復信息在網(wǎng)上傳播耗時為δ2,網(wǎng)絡(luò)傳輸?shù)耐笛訒r和為δ,則有:

      (1)

      4個未知數(shù),3個方程,無法獲得解析解。假設(shè)在相同的網(wǎng)絡(luò)條件下,客戶端與服務(wù)器通訊往返回路對稱,網(wǎng)絡(luò)時間延遲相等,即存在:

      δ1=δ2

      (1)

      (3)

      2 時鐘同步精度影響因子分析

      根據(jù)NTP基本原理設(shè)計NTP客戶端和服務(wù)器進行時鐘同步測試實驗,具體設(shè)計如下:

      1)采用Windows系統(tǒng)時間作為時間戳;

      2)通訊網(wǎng)絡(luò)使用內(nèi)部局域網(wǎng);

      3)固定周期進行時鐘校準,如表2所示;

      表2 系統(tǒng)時間下同步精度實驗設(shè)計

      4)實驗過程中每秒進行同步精度測試并記錄數(shù)據(jù)。

      實驗數(shù)據(jù)整理如圖3所示。

      圖3 系統(tǒng)時間下時鐘同步精度變化

      實驗結(jié)論:1)基于Windows系統(tǒng)時間進行同步,短時間波動量約15 ms,因此同步精度最高不會優(yōu)于15 ms;2)長時間看,校準周期內(nèi),同步偏差逐漸增大,分析認為這是服務(wù)器和客戶端之間時鐘晶振頻率不同導致。

      分析時鐘同步過程如圖4所示,客戶端和服務(wù)器獲取來源于晶振的系統(tǒng)時間,在經(jīng)過Windows下的TCP/IP協(xié)議和網(wǎng)卡及網(wǎng)絡(luò)傳輸后,實現(xiàn)時間戳信息交換。因此,結(jié)合NTP基本原理和時鐘同步實驗結(jié)果,可以將引入誤差的環(huán)節(jié)分為3個部分:時間獲取、時間傳輸、晶振偏差。

      圖4 時鐘同步精度影響因子

      2.1 時間獲取

      Windows時間系統(tǒng)主要包括實時時鐘(RTC)、基本輸入輸出系統(tǒng)(BIOS)時鐘和操作系統(tǒng)(OS)時鐘三部分[13]。RTC基于晶振和計時電路的硬件時鐘。BIOS時鐘硬件部分對RTC時間脈沖分頻產(chǎn)生中斷信號,然后通過中斷響應(yīng)程序進行軟件計時從而產(chǎn)生系統(tǒng)時鐘[14]。BIOS時鐘每秒產(chǎn)生64個中斷信號,中斷周期約為15.6 ms,即系統(tǒng)時鐘的時鐘精度約為15.6 ms。因此Windows系統(tǒng)常用的多個與時間有關(guān)的API,其時間分辨率只能達到15 ms,當高頻率調(diào)用讀取時間時,會發(fā)現(xiàn)多次返回時間相同,然后突然跳到下一個時間刻度,出現(xiàn)“時間停止”和“時間跳躍”現(xiàn)象,跳躍量約為15.6 ms,如圖5所示。

      圖5 系統(tǒng)時間分辨率測試

      因此,在Windows非實時系統(tǒng)下進行高精度時鐘同步時,首先必須獲取高精度的時間戳,這是進行高精度時鐘同步的基礎(chǔ)。

      2.2 時間傳輸

      時間傳輸部分詳細過程如圖6所示,通訊傳輸延遲的不確定性主要受協(xié)議棧不確定性時延、網(wǎng)絡(luò)路由不確定性時延和操作系統(tǒng)進程調(diào)度等方面影響[15]。

      圖6 NTP通訊傳輸過程及其不確定性時延

      協(xié)議棧不確定性時延。TCP/IP五層網(wǎng)絡(luò)架構(gòu)包括應(yīng)用層、運輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層,NTP是應(yīng)用層的協(xié)議,下層使用運輸層的UDP協(xié)議。根據(jù)UDP/IP協(xié)議,時鐘同步報文的傳輸需要逐層進行。傳輸過程受到處理器處理速度、操作系統(tǒng)工作方式等種種因素的影響,時鐘同步報文在應(yīng)用程序中開始發(fā)送到報文到達物理傳輸介質(zhì)的時間一般無法控制,從而會引入誤差。

      網(wǎng)絡(luò)路由不確定性時延。網(wǎng)絡(luò)路由時延包括固有的鏈路時延、路由器處理和排隊時延。報文在往返過程中不同的路由選擇會導致信號的往返時延不對稱。進行信息傳輸時,發(fā)送方首先將信息發(fā)送到本地網(wǎng)卡的緩沖區(qū),然后在網(wǎng)絡(luò)空閑時發(fā)送到接收方網(wǎng)卡的緩沖區(qū),因此在網(wǎng)絡(luò)負載高、任務(wù)繁忙的時候,接收方收到發(fā)送方信息的時間具有很大的不確定性,這就是網(wǎng)卡的緩存效應(yīng)。因此在局域網(wǎng)內(nèi)進行同步時,時間延遲經(jīng)常是不對稱的,公式計算出的時差時間差也是不準確的[16]。

      操作系統(tǒng)進程調(diào)度。Windows系統(tǒng)采用時間片輪轉(zhuǎn)機制對進程進行調(diào)度,進程調(diào)度中內(nèi)存管理、UDP協(xié)議的封裝、網(wǎng)卡控制器里的排隊等,任何一次中斷或任務(wù)調(diào)度都會打斷協(xié)議棧的封裝或解析過程。這些操作都將會引入不可忽略的延遲波動,達到幾微秒至幾毫秒,造成時間延遲的不可預(yù)測。

      因此,若要降低網(wǎng)絡(luò)傳輸延遲對同步精度的影響,需要在處理時間戳的過程中考慮如何降低消息包在網(wǎng)絡(luò)傳輸過程中不對稱通信鏈路帶來的影響。

      2.3 晶振偏差

      分布式仿真系統(tǒng)中,長時間下時鐘的準確度取決于晶振頻率準確度。但是受溫度變化、電磁干擾、芯片老化等因素影響,晶振頻率會發(fā)生小幅度波動,其中溫度對晶振頻率影響最大[17]。由于工藝和材料的原因,即使同一生產(chǎn)線上標稱頻率相同的石英晶體,其實際頻率也是不同的,實際頻率與標稱頻率偏差率從量級到量級不等。以量級為例,時鐘1 h誤差達360 ms。因此,即使在每次時鐘同步過程中,從節(jié)點的授時精度很高,但由于頻率偏差帶來的守時能力差,隨著時間的推移,從節(jié)點和主節(jié)點的時鐘同步精度也會逐漸變差。Veitch D等人[18]通過實驗得出,短時間內(nèi),時鐘偏差隨時間的變化基本可以認為是線性的,但長時間下,時鐘偏差隨時間的變化是非線性的。

      要提高從節(jié)點的守時能力,主要有兩個思路:一是更換時鐘源,選取高精度、高穩(wěn)定度、守時能力更強的晶體振蕩器。晶體振蕩器的穩(wěn)定度等級從一般晶體振蕩器、溫度補償型晶體振蕩器、恒溫晶體振蕩器、銣原子振蕩器逐步提高[19],同時晶體振蕩器的成本將變得十分昂貴;另外的思路則是采用數(shù)學算法對時鐘進行建模,以主節(jié)點的頻率作為基準對從節(jié)點進行頻率偏差補償,提高從節(jié)點的守時精度。

      3 時鐘同步優(yōu)化

      3.1 構(gòu)建高精度邏輯時鐘

      對于一個系統(tǒng)而言,時鐘可分為兩種:物理時鐘和邏輯時鐘。物理時鐘又稱為絕對時鐘或者墻上時鐘,對應(yīng)于現(xiàn)實世界中的時間,通常通過計算機內(nèi)置的時鐘芯片可以獲得物理時鐘。邏輯時鐘是指自行建立的時鐘,獨立于物理時鐘,但一般和物理時鐘有一定的換算關(guān)系[20]。分布式仿真系統(tǒng)中,只要求系統(tǒng)仿真的時間和真實的時間有一定關(guān)系,而不要求和真實時間完全相同,因此可使用邏輯時鐘。

      高精度邏輯時鐘的構(gòu)建主要有兩種方案:1)基于系統(tǒng)硬件的高分辨率性能計數(shù)器。它從系統(tǒng)上電開始,以其晶振頻率進行計數(shù),可通過相應(yīng)的接口函數(shù)獲取其當前計數(shù)值和晶振頻率;2)計算機CPU中,有一個CPU時間戳計數(shù)器,記錄了自CPU上電后的時鐘周期數(shù),通過機器指令RDTSC(read time stamp counter)可以讀取這個值[22]。但是,多核計算機情況下讀取的RDTSC指令并不準確,原因包括:同一主板上每個核的TSC是不同步的,讀取的RDTSC可能在不同CPU上;CPU時鐘頻率可能變化,例如某些節(jié)能模式或超頻[21]。因此,本文選擇基于高分辨率性能計數(shù)器構(gòu)建邏輯時鐘。

      高分辨率性能計數(shù)器提供函數(shù)QueryPerformanceFrequency用于獲取頻率,提供函數(shù)QueryPerformanceCounter用于獲取計數(shù)器的當前值u,利用兩次獲得的計數(shù)之差及時鐘頻率,就可算出經(jīng)歷的精確時間[22]:

      (4)

      取初始時刻計數(shù)值為u0,對應(yīng)的系統(tǒng)時間為t0,當前計數(shù)值為u(t),建立的邏輯時鐘時間為T,根據(jù)式則有:

      (5)

      經(jīng)測試,該邏輯時鐘的實用時鐘分辨率約為2,遠小于同步精度指標,可用于時鐘同步,如圖7所示。

      圖7 邏輯時鐘分辨率測試

      基于邏輯時鐘設(shè)計時間同步客戶端和服務(wù)器進行同步測試實驗,具體設(shè)計如下:

      1)采用高精度邏輯時鐘作為時間戳;

      2)通訊網(wǎng)絡(luò)使用內(nèi)部局域網(wǎng);

      3)固定周期進行時鐘校準,如表3所示;

      表3 系統(tǒng)時間下同步精度實驗設(shè)計

      4)實驗過程中每秒進行同步精度測試并記錄數(shù)據(jù)。

      實驗數(shù)據(jù)整理如圖8和圖9所示。

      圖8 高精度時鐘下同步實驗結(jié)果

      圖9 局部同步瞬時誤差和毛刺

      根據(jù)實驗數(shù)據(jù),可以得出如下結(jié)論:

      1)校準周期內(nèi),同步精度變化總體呈線性變化趨勢,變化速率約0.36 ms/min;

      2)每5 min校準下同步精度達到1.8 ms,每20 min校準下同步精度達到7.2 ms。因此在本次測試環(huán)境下,要達到1 ms同步精度,則校準間隔至多只能160 s;

      3)同步精度局部存在約0.5 ms的毛刺,無毛刺時存在0.2 ms的瞬時誤差;

      4)回路時延大部分在0.8~1 ms之間,部分甚至超過1.4 ms,時延高的時候,同步精度更差。

      因此,建立的邏輯時鐘有效,但還需要進一步優(yōu)化。

      3.2 不等式法優(yōu)化回路時延不對稱性

      (6)

      其中:δ1和δ2為隨機量,大小在(0,δ)之間。因此,網(wǎng)絡(luò)時延不對稱性越高,授時精度越差。

      圖10 不等式法通訊過程

      對應(yīng)每一次往返通訊過程都有:

      (7)

      由于δ為傳輸延遲,都是正值,因此可得:

      (8)

      記δk1是{δ11,δ21,…,δn1}中的最小值,δm2是{δ12,δ22,…,δn2}中的最小值,可得:

      (9)

      因此,可以將θ范圍縮小為:

      (Tm3-Tm4)<θ<(Tk2-Tk1)

      (10)

      此時取真值范圍的中值作為時鐘偏差估計值,即:

      (11)

      此時估計值和真值的關(guān)系為:

      (12)

      再次設(shè)計時間同步客戶端和服務(wù)器進行對比實驗,具體設(shè)計如下:

      1)采用高精度邏輯時鐘作為時間戳;

      2)固定周期20 min進行時鐘校準;

      3)網(wǎng)絡(luò)使用內(nèi)部局域網(wǎng),采用不等式法優(yōu)化回路往返時延的不對稱性;

      4)實驗過程中每秒進行同步精度測試并記錄數(shù)據(jù),如圖11和圖12所示。

      圖11 不等式法下同步實驗結(jié)果

      圖12 不等式法下局部瞬時誤差

      根據(jù)實驗數(shù)據(jù),可以得出如下結(jié)論:

      1)回路時延比優(yōu)化前明顯減小,基本在0.8 ms以內(nèi);

      2)同步精度毛刺消失,瞬時誤差下降到0.1 ms;

      因此,經(jīng)過不等式法優(yōu)化,回路往返時延不對稱性對同步精度的影響明顯減小,同步精度線性變化的趨勢得到進一步加強。

      3.3 時鐘晶振頻率在線補償

      3.3.1 補償系數(shù)模型

      將客戶端在t時刻的邏輯時鐘表示為c(t),服務(wù)器邏輯時鐘表示為s(t),定義客戶端和服務(wù)器時間差為θ(t),根據(jù)式有:

      (13)

      (14)

      θ(t)=s(t)-c(t)

      (15)

      其中t0為高精度時鐘建立時的系統(tǒng)時間,是一個常量。

      理論上有:

      Δt=Δs(t)=Δc(t)

      (16)

      (17)

      但隨著時間的進行,客戶端和服務(wù)器的時間變化量并不相等,原因在于受環(huán)境條件的影響(如溫度、電壓、老化),時鐘頻率不斷的產(chǎn)生漂移。分布式仿真系統(tǒng)中,并不需要系統(tǒng)中時間與真實時間完全一致,只需要保持相同的時間基準即可。因此,本文以服務(wù)器時鐘為基準,對客戶端進行晶振頻率補償。

      (18)

      因此有:

      (19)

      當α=1時,表示客戶端真實時鐘晶振頻率與標稱頻率相同,與服務(wù)器時鐘快慢相同;當α<1時,表示客戶端真實時鐘晶振頻率小于標稱頻率,即本身時鐘相對服務(wù)器時鐘較慢;當α>1時,表示客戶端真實時鐘晶振頻率大于標稱頻率,即本身時鐘較快。

      圖13 補償系數(shù)與時鐘相對快慢的關(guān)系

      3.3.2 補償系數(shù)在線求解與迭代

      記C(t)為客戶端補償后的理想時鐘,則有:

      C(t)=s(t)

      (20)

      根據(jù)式(13)、式(19)和式(20),可得:

      (21)

      其中:θ0為建立時刻客戶端與服務(wù)器的時間差,是一個常量。

      因此,根據(jù)式(15)和式(21):

      (22)

      結(jié)合式(13),可得:

      (23)

      將θ(t)對c(t)求導,可得:

      (24)

      即:

      (25)

      因此,理論分析可得出,若從時鐘相對主時鐘是嚴格穩(wěn)定的,即時鐘晶振頻率補償系數(shù)為常數(shù),那么時鐘偏差θ(t)是按線性變化的。

      (26)

      而由于隨著時間的推移,晶振頻率會發(fā)生漂移,當前補償?shù)玫降念l率過一段時間后已經(jīng)不夠準確了,需要再次進行頻率補償。因此,需要繼續(xù)研究時鐘頻率補償系數(shù)在線迭代問題。

      記αi為第i次晶振補償系數(shù),Ci(t)為客戶端第i次迭代時的理想時鐘(與服務(wù)器時間保持一致)。則進行第i次迭代時,參照式(20)和(21)有:

      (27)

      此時客戶端邏輯時鐘c(t)為上次迭代時的理想時鐘,即:

      (28)

      同理可解得:

      (29)

      將θ(t)對c(t)求導,可得:

      (30)

      即:

      (31)

      應(yīng)用新的αi即可實現(xiàn)補償系統(tǒng)的動態(tài)迭代,從而使系統(tǒng)能夠維持高精度時鐘同步。

      4 實驗結(jié)果與分析

      應(yīng)用高精度邏輯時鐘、不等式法優(yōu)化回路時延不對稱性和時鐘晶振頻率在線補償與迭代3種方法,設(shè)計時間同步客戶端和服務(wù)器進行同步實驗,客戶端工作過程如圖14所示:

      圖14 客戶端工作流程

      1)創(chuàng)建邏輯時鐘,使用不等式法與服務(wù)器同步一次;

      4)使用記錄的數(shù)據(jù),采用最小二乘擬合得到補償系數(shù)α,更新客戶端時鐘并清空記錄的數(shù)據(jù),再轉(zhuǎn)步驟2)。

      經(jīng)過約60 h的長試實驗,結(jié)果如圖15所示,從圖和數(shù)據(jù)中可以得出:1)實驗在137s后進入在線迭代環(huán)節(jié),初次擬合得到補償系數(shù)為α=0.999 993 35;2)時鐘補償系數(shù)α迭代次數(shù)達到12次,平均可以維持時間達到5 h;3)α在0.999 993 05~0.999 993 79之間波動,由于標稱頻率為3.58 MHz,所以實驗過程中實際晶振頻率與標稱頻率之間偏差量在22.2~24.9 Hz之間波動,波動量約2.7 Hz。

      圖15 頻率補償在線迭代下同步效果

      5 結(jié)束語

      本文在介紹NTP基本原理的基礎(chǔ)上進行了時鐘同步精度影響因子分析,并針對性采用了構(gòu)建高精度邏輯時鐘、不等式法優(yōu)化回路時延不對稱性、時鐘晶振頻率在線補償3種解決策略,進行了時鐘同步優(yōu)化。通過長試實驗,驗證了優(yōu)化后的時鐘同步系統(tǒng),能有效的實現(xiàn)時鐘同步精度優(yōu)于1 ms且平均校準周期達到5 h。項目應(yīng)用時,可以將時鐘同步客戶端封裝為DLL,集成到各分布式仿真系統(tǒng)軟件中實現(xiàn)時鐘同步,具有較好的工程應(yīng)用價值。

      猜你喜歡
      晶振時延時鐘
      別樣的“時鐘”
      兩非門晶振振蕩電路的設(shè)計
      基于晶振的高性能時間保持方法研究
      古代的時鐘
      基于GCC-nearest時延估計的室內(nèi)聲源定位
      電子制作(2019年23期)2019-02-23 13:21:12
      基于改進二次相關(guān)算法的TDOA時延估計
      幾種導致恒溫晶振頻率偏移的因素分析
      電子測試(2018年14期)2018-09-26 06:04:14
      恒溫晶振環(huán)境溫度特性測試系統(tǒng)設(shè)計
      電子測試(2018年1期)2018-04-18 11:52:05
      有趣的時鐘
      FRFT在水聲信道時延頻移聯(lián)合估計中的應(yīng)用
      佛山市| 安塞县| 红桥区| 若尔盖县| 石门县| 岳阳市| 精河县| 宁明县| 曲沃县| 丰台区| 马尔康县| 彩票| 灌南县| 靖宇县| 高清| 阿瓦提县| 惠水县| 东兴市| 新巴尔虎右旗| 买车| 湘阴县| 阳原县| 无锡市| 嘉黎县| 柞水县| 青神县| 本溪市| 济源市| 改则县| 巴东县| 保德县| 吴堡县| 凤冈县| 彰武县| 星子县| 陇川县| 昭平县| 宿迁市| 丁青县| 筠连县| 桃园县|