當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]分布式數(shù)據(jù)采集系統(tǒng)中的時(shí)鐘同步

在高速數(shù)據(jù)傳輸?shù)姆植际?strong>數(shù)據(jù)采集系統(tǒng)中,各個(gè)組成單元間的時(shí)鐘同步是保證系統(tǒng)正常工作的關(guān)鍵。由于系統(tǒng)工作于局域網(wǎng),于是借鑒了IEEE1588時(shí)鐘同步協(xié)議的原理,設(shè)計(jì)出簡易、高效的時(shí)鐘同步方案,并在基于局域網(wǎng)的分布式數(shù)據(jù)采集系統(tǒng)中實(shí)現(xiàn)微秒級的精確同步。鑒于方案的高可行性和高效性,可將其推廣到其他分布式局域網(wǎng)系統(tǒng)中。

關(guān)鍵詞  分布式數(shù)據(jù)采集系統(tǒng)  時(shí)鐘同步  IEEE1588  FPGA

引言

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

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

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

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

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

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

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

1.1  延遲測量

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


圖1  延遲測量示意圖

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

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

  其中的Offset為從時(shí)鐘與主時(shí)鐘之間的時(shí)間偏差。

  因?yàn)榫W(wǎng)絡(luò)延遲時(shí)間是對稱相等的,所以:

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

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

1.2  時(shí)鐘修正

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

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

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

  這里要說明的是:

 ?、?nbsp; 上式中的Delay 就是主時(shí)鐘與從屬時(shí)鐘之間的傳輸延遲時(shí)間,從上面的延遲測量階段得到。
 ?、?nbsp; 如果收到的同步包信息出錯(cuò),從單元可以根據(jù)自己的時(shí)刻,依據(jù)臨近取整原則推知主端發(fā)出的整秒時(shí)刻時(shí)間,與接收包進(jìn)行對比。因?yàn)闀r(shí)間偏移一般都在μs級,如果誤差太大,則舍棄該包。

1.3  同步實(shí)現(xiàn)

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

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

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

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

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

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

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

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

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


圖2  同步過程


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

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

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

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

  ①  初始狀態(tài):分布式系統(tǒng)上電后,主從單元進(jìn)入初始狀態(tài)對各項(xiàng)參數(shù)進(jìn)行初始化,注冊timer中斷和網(wǎng)絡(luò)中斷等。初始化后進(jìn)入預(yù)同步狀態(tài)。
 ?、?nbsp; 預(yù)同步狀態(tài):主要是每小時(shí)進(jìn)行一次網(wǎng)絡(luò)延時(shí)的測量,然后從端會將自己與主端的一次傳輸時(shí)延保存起來。
 ?、?nbsp; 實(shí)時(shí)工作狀態(tài):預(yù)同步完畢后各單元進(jìn)入實(shí)時(shí)工作狀態(tài)。一小時(shí)后又再次進(jìn)入預(yù)同步狀態(tài)。實(shí)時(shí)工作狀態(tài)將處理多個(gè)線程。

(1)  同步線程

 ?、?nbsp; 主單元,將同步timer的周期置為1 s的同步約定周期,即每1 s產(chǎn)生1次中斷。主單元會在每秒到來時(shí)刻(中斷),發(fā)出同步包(syns)。
  ②  從端在接收到同步包后,調(diào)整定時(shí)器時(shí)鐘為同步包內(nèi)時(shí)刻與時(shí)延之和。

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

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

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

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

4  同步測試

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


圖4  同步效果 [!--empirenews.page--]

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

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

5  結(jié)論

  由于系統(tǒng)工作于局域網(wǎng),借鑒IEEE1588協(xié)議思想,提出并實(shí)現(xiàn)了簡易時(shí)鐘同步的設(shè)想;占用資源少,精度高,可行性高。驗(yàn)證是在實(shí)時(shí)工作狀態(tài)下測試的,并將同步偏差控制在20 μs,滿足時(shí)鐘同步的要求;同時(shí),以FPGA技術(shù)為載體,軟件開發(fā)平臺為Nios II,易于系統(tǒng)移植和功能擴(kuò)展。鑒于方案的高效和高可行性,可以進(jìn)一步推廣到其他分布式局域網(wǎng)的應(yīng)用系統(tǒng)中。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉