分布式數(shù)據(jù)采集系統(tǒng)中的時鐘同步-基礎(chǔ)電子-1_第1頁
分布式數(shù)據(jù)采集系統(tǒng)中的時鐘同步-基礎(chǔ)電子-1_第2頁
分布式數(shù)據(jù)采集系統(tǒng)中的時鐘同步-基礎(chǔ)電子-1_第3頁
分布式數(shù)據(jù)采集系統(tǒng)中的時鐘同步-基礎(chǔ)電子-1_第4頁
分布式數(shù)據(jù)采集系統(tǒng)中的時鐘同步-基礎(chǔ)電子-1_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯分布式數(shù)據(jù)采集系統(tǒng)中的時鐘同步-基礎(chǔ)電子引言隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,各種分布式的網(wǎng)絡(luò)和局域網(wǎng)都得到了廣泛的應(yīng)用[1]。分布式數(shù)據(jù)采集系統(tǒng)廣泛應(yīng)用于船舶、飛機等采集數(shù)據(jù)多、實時性要求較高的地方。同步采集是這類分布式數(shù)據(jù)采集系統(tǒng)的一個重要要求,數(shù)據(jù)采集的實時性、準(zhǔn)確性和系統(tǒng)的高效性都要求系統(tǒng)能進行實時數(shù)據(jù)通信。因此,分布式數(shù)據(jù)采集系統(tǒng)中的一個關(guān)鍵技術(shù)就是實現(xiàn)數(shù)據(jù)的同步傳輸。

由于產(chǎn)生時鐘的晶振具有頻率漂移的特性,故對于具有多個采集終端的分布式系統(tǒng),如果僅僅在系統(tǒng)啟動時進行同步,數(shù)據(jù)的同步傳輸將會隨著系統(tǒng)運行時間的增長而失步。因此時鐘的同步就是保證數(shù)據(jù)同步傳輸?shù)年P(guān)鍵所在。2022年提出的IEEE1588標(biāo)準(zhǔn)旨在解決網(wǎng)絡(luò)的時鐘同步問題。它制定了將分散在測量和控制系統(tǒng)內(nèi)的分離節(jié)點上獨立運行的時鐘,同步到一個高精度和高準(zhǔn)確度時鐘上的協(xié)議。

由于分布式數(shù)據(jù)采集系統(tǒng)工作于局域網(wǎng)的環(huán)境中,于是借鑒IEEE1588標(biāo)準(zhǔn)中的思想,設(shè)計出一種針對基于局域網(wǎng)的分布式系統(tǒng)的時鐘同步的機制,成功地在分布式數(shù)據(jù)采集系統(tǒng)中實現(xiàn)了μs級的同步。

1時鐘同步原理及實現(xiàn)

時鐘同步原理借鑒了IEEE1588協(xié)議中的同步原理。IEEE1588定義了一個在工業(yè)自動化系統(tǒng)中的同步時鐘協(xié)議(PTP協(xié)議),該協(xié)議與網(wǎng)絡(luò)交流、本地計算和分配對象有關(guān)。IEEE1588時鐘協(xié)議規(guī)定,在進行時鐘同步時,先由主設(shè)備通過多播形式發(fā)出時鐘同步報文,所有與主設(shè)備在同一個域中的設(shè)備都將收到該同步報文。從設(shè)備收到同步報文后,根據(jù)同步報文中的時間戳和主時鐘到從時鐘的線路延時計算出與主時鐘的偏差,對本地的時鐘進行調(diào)整[2]。

系統(tǒng)由各個單元的系統(tǒng)控制板(簡稱“系統(tǒng)板”)來完成同步的工作。同步模型與IEEE1588時鐘協(xié)議一致,采用主從結(jié)構(gòu)。主從單元采用相同頻率的晶振,此時時鐘同步的關(guān)鍵就是解決時鐘相位對準(zhǔn)問題和時鐘漂移的問題。

系統(tǒng)中采用的時間同步算法,是借鑒IEEE1588的同步原理,主要是采用約定固定周期同步的算法。和IEEE1588同步算法一樣,同步過程分為兩個階段:延遲測量階段和偏移測量階段。下面以一主一從模式為例介紹其原理。

1.1延遲測量

延遲測量階段用來測量網(wǎng)絡(luò)傳輸造成的延遲時間[3]。定義一個延遲請求信息包(DelayRequestPacket),簡稱“Delay_Req”。延遲測量示意圖如圖1所示。

圖1延遲測量示意圖

為了簡化程序,采用固定的周期測量網(wǎng)絡(luò)延遲,一般系統(tǒng)每工作一個小時進行測量。從屬時鐘TSd時刻發(fā)出延遲請求信息包Delay_Req,主時鐘收到Delay_Req后再立刻返回一個延時響應(yīng)包delay_back發(fā)送給從屬時鐘,因此從屬時鐘就可以非常準(zhǔn)確地計算出網(wǎng)絡(luò)延時:

TM2→TS2∶Delay1=TS2-Offset-TM2TS3→TM3∶Delay2=TM3-(TS3-Offset)

其中的Offset為從時鐘與主時鐘之間的時間偏差。

因為網(wǎng)絡(luò)延遲時間是對稱相等的,所以:

Delay=(Delay1+Delay2)/2=((TS2-TM2)+(TM3-TS3))/2

需要說明的是,在這個測量過程中,假設(shè)傳輸介質(zhì)是對稱均勻的,且線路是對稱的[4]。

1.2時鐘修正

時鐘修正用來修正主時鐘和從屬時鐘的時間差。在這個時間修正過程中,IEEE1588中主時鐘周期性地發(fā)出一個確定的同步信息包(Sync)(一般為每2秒1次),它包含一個時間印章(timestamp),地描述了數(shù)據(jù)包的發(fā)出時刻[3]。本案采用的簡單同步模式,主要就是約定了同步修正包的發(fā)出時刻,整秒時刻,系統(tǒng)會在整秒時刻不做其他工作,這樣就可以省掉IEEE1588中用于發(fā)送同步包預(yù)計發(fā)包時間的同步跟隨包。

假設(shè)同步前主時鐘的時間為發(fā)出時鐘Tm1=2000s,而從屬時鐘的接收時間為Ts1=2022s。如果主從時鐘是同步的,則同步的接收時鐘是:Tm1+Delay=2000+0.5=2000.5。只需將時鐘調(diào)整為2000.5,即Ts′=Tm1+Delay

簡易時鐘同步的關(guān)鍵就在此。同步包內(nèi)可包含主端發(fā)出的時刻。從端收到后,即可與測得的Delay相加為自己的該時刻時鐘。

這里要說明的是:

①上式中的Delay就是主時鐘與從屬時鐘之間的傳輸延遲時間,從上面的延遲測量階段得到。

②如果收到的同步包信息出錯,從單元可以根據(jù)自己的時刻,依據(jù)臨近取整原則推知主端發(fā)出的整秒時刻時間,與接收包進行對比。因為時間偏移一般都在μs級,如果誤差太大,則舍棄該包。1.3同步實現(xiàn)

如圖2所示,從端發(fā)出延遲統(tǒng)計包,主端反饋后,從端求得Delay。在每個整秒左右時刻收到同步包后,進行時鐘修正,即從屬時鐘與主時鐘實現(xiàn)了同步[5]。

圖2同步過程

2分布式數(shù)據(jù)采集系統(tǒng)簡介

分布式數(shù)據(jù)采集系統(tǒng)屬于局域網(wǎng)構(gòu)架,單元間通過網(wǎng)絡(luò)進行數(shù)據(jù)交互,由集線器和微采集系統(tǒng)組成,每個微采集器成為一個獨立“單元”??梢灾С忠恢鞫鄰牡姆植际侥P停涸O(shè)置其中一個微采集系統(tǒng)作為主單元,其他的作為從單元。分布數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖如圖3所示。

圖3分布數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)框圖

各個單元的設(shè)計完全相同,均由一個系統(tǒng)控制板和多個功能板構(gòu)成。系統(tǒng)控制板是采集器的,它控制著單元內(nèi)的各個功能卡的配置和單元內(nèi)的數(shù)據(jù)傳輸,同時保持與外部通信。功能板用以實現(xiàn)A/D、FIFO處理等功能,用于數(shù)據(jù)采集和傳送。各個單元中的所有板卡皆采用獨立時鐘。

此分布式采集系統(tǒng)中各個單元構(gòu)成一個星形網(wǎng)。系統(tǒng)控制板成為星形網(wǎng)絡(luò)中的節(jié)點,節(jié)點間用網(wǎng)線相連。系統(tǒng)符合協(xié)議IEEE802.3、CSMA/CD標(biāo)準(zhǔn),可以與標(biāo)準(zhǔn)的以太網(wǎng)完美兼容。

3基于FPGA的實現(xiàn)

3.1分布式系統(tǒng)中各個單元的體系結(jié)構(gòu)

由于FPGA開發(fā)靈活,精度上能達到系統(tǒng)要求,開發(fā)周期短,且成本低。系統(tǒng)中各個系統(tǒng)控制板采用FPGA技術(shù),即采用微控制器及其對應(yīng)的外設(shè)接口和相應(yīng)的軟件來實現(xiàn)[6]。利用NiosII處理體系,將系統(tǒng)劃分為各個功能模塊,并考慮到系統(tǒng)所需的資源和生成代碼的大小。設(shè)計的系統(tǒng)由以下幾部分組成:Altera的Cyclone系列芯片,包括嵌入NiosII軟核、系統(tǒng)定時器、同步時鐘定時器、DM9000A以及Avalon總線等設(shè)計。

網(wǎng)絡(luò)接口芯片DM9000A實現(xiàn)以太網(wǎng)媒體介質(zhì)訪問層(MAC)和物理層(PHY)的功能。系統(tǒng)采用無鏈接的UDP通信,且采用多個定時器,用于時鐘同步和工作周期的制定。

3.2具體軟件設(shè)計流程

同步定時器每秒鐘產(chǎn)生中斷。作為同步時鐘,另一個定時器將一個同步周期劃分為幾個等時段,為工作周期。主從單元通過網(wǎng)絡(luò)互相交換數(shù)據(jù),在每一個系統(tǒng)周期內(nèi)將各自的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中。為了預(yù)防發(fā)送時刻點的沖突,在配置信息中注明每個周期該單元的發(fā)送時刻。

系統(tǒng)有以下幾種狀態(tài):初始狀態(tài)、預(yù)同步狀態(tài)、實時工作狀態(tài)。

①初始狀態(tài):分布式系統(tǒng)上電后,主從單元進入初始狀態(tài)對各項參數(shù)進行初始化,注冊timer中斷和網(wǎng)絡(luò)中斷等。初始化后進入預(yù)同步狀態(tài)。

②預(yù)同步狀態(tài):主要是每小時進行網(wǎng)絡(luò)延時的測量,然后從端會將自己與主端的傳輸時延保存起來。

③實時工作狀態(tài):預(yù)同步完畢后各單元進入實時工作狀態(tài)。一小時后又再次進入預(yù)同步狀態(tài)。實時工作狀態(tài)將處理多個線程。

(1)同步線程

①主單元,將同步timer的周期置為1s的同步約定周期,即每1s產(chǎn)生1次中斷。主單元會在每秒到來時刻(中斷),發(fā)出同步包(syns)。

②從端在接收到同步包后,調(diào)整定時器時鐘為同步包內(nèi)時刻與時延之和。

(2)數(shù)據(jù)傳輸

線程系統(tǒng)在避開同步階段的時刻進行實時數(shù)據(jù)的傳輸,主要是根據(jù)系統(tǒng)對各個工作周期的劃定。

(3)數(shù)據(jù)采集和處理線程

由系統(tǒng)中各單元的各自任務(wù)來決定,不占用網(wǎng)絡(luò)。對傳感器采集數(shù)據(jù)進行處理,同時也處理網(wǎng)絡(luò)傳送來的數(shù)據(jù)。

4同步測試

在系統(tǒng)的實時工作狀態(tài)下,驗證其同步效果。由于同步定時器產(chǎn)生的脈沖為一個系統(tǒng)時鐘寬度(32MHz),不便于觀察。為了便于演示,主從端都在定時器產(chǎn)生的同步時鐘上升沿到達時將同步信號置1,主單元在發(fā)送完同步包后將同步信號置0;從單元則在收到同步包后將同步信號置0。這樣得到的信號與定時器產(chǎn)生的同步時鐘是同頻的,只是放寬了脈沖寬度。同步效果如圖4所示。

圖4同步效果

圖4(a)中,每個柵格為500ms;圖4(b)將其放大1000倍,每柵格為500μs。每幅圖中,上面的1通道為主單元同步信號,下面的2通道為從單元同步信號。由圖4(a)可見,同步時鐘周期為1024ms。

由于從單元是在收到同步包后,將信號置0,必定滯后于主單元發(fā)送同步包時刻(主端將同步信號置0時刻),從圖4(b)中可見,從單元脈沖寬度比主單元寬,因此只需比對同步信號的上升沿。圖4(b)是將圖像保持時間置為無限,信號上升沿處陰影表示運行時間以來的偏移情況。測試時間為24h(小時),測量陰影的長度Δx=20μs(上升沿偏移),即為同步效果的同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論