基于FPGA的精確時鐘同步方法_第1頁
基于FPGA的精確時鐘同步方法_第2頁
基于FPGA的精確時鐘同步方法_第3頁
基于FPGA的精確時鐘同步方法_第4頁
基于FPGA的精確時鐘同步方法_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第41卷第10期JournalofZhejiangUniversity(EngineeringScience)浙江大學學報(工學版)Vol.41No.10Oct.2007基于FPGA的精確時鐘同步方法黃文君1,遇彬2(1.浙江大學工業(yè)控制技術國家重點實驗室,浙江杭州310027;2.,杭州310027)摘要:,系統(tǒng)時鐘硬件同步方法.,采用硬件描述語言(VHDL)和現(xiàn)場可編程邏輯門陣列(FPGA)時鐘同步算法等模塊,為嵌入式實時控制系統(tǒng)構,、同步精度低等問題.,實際測試數(shù)據(jù)表明系統(tǒng)各節(jié)點達到了亞微,.關鍵詞:;工業(yè)以太網(wǎng);現(xiàn)場可編程邏輯門陣列;實時控制系統(tǒng)中圖分類號:TP393文獻標識碼:A文章

2、編號:1008-973X(2007)10-1697-04MethodforprecisetimesynchronizationbasedonFPGAHUANGWen2jun1,YUBin2(1.StateKeyLaboratoryofIndustrialControlTechnology,ZhejiangUniversity,Hangzhou310027,China;2.InstituteofAdvancedProcessControl,ZhejiangUniversity,Hangzhou310027,China)Abstract:Ahardware2basedprecisetimesync

3、hronizationmethodforthedistributedcontrolsystem(DCS)basedonindustrialEthernetwasproposedtorealizesynchronousmeasurementandreal2timecontrol.U2singhigh2speeddigitalcircuits,e.g.field2programmablegatearray(FPGA),hardware2basedstrategywasdesignedforimplementingthetimesynchronizationprotocoldefinedinIEEE

4、1588.Timestampcapturemodule,oscillatorfrequencycompensationmodule,timesynchronizationalgorithmandetc,wereallcodedwithhigh2speedintegratedcircuithardwaredescriptionlanguage(VHDL).Problemswiththetraditionaltimesynchronizationmethodbasedonembeddedsoftwareweresolved,suchasuncertaintimedelayoftim2estampa

5、ndlowtimeaccuracy.Aprecisetimesynchronizationsolutionfortheembeddedcontrollerwasprovidedsuccessfully.TestandexperimentsinDCSshowedhightimeaccuracyandhighstability,andtimeaccuracyreachedthesub2microsecondrange.Keywords:precisetimesynchronization;industrialEthernet;field2programmablegatearray(FPGA);re

6、2al2timecontrolsystem時鐘同步是基于網(wǎng)絡的分布式實時控制系統(tǒng)數(shù)據(jù)調度和任務的核心技術之一,它提供一種確定事件發(fā)生時間的先后順序的機制,以保證節(jié)點發(fā)送和接收消息、控制、事故記錄等在時間邏輯上是完全正收稿日期:2007-02-06.確、可信的.傳統(tǒng)的基于嵌入式軟件的集成分布式系統(tǒng)的時間同步方案(如NTP)很難達到亞微秒級的同步精度,很難滿足高實時性的同步數(shù)據(jù)采集、控制和分析的要求.浙江大學學報(工學版)網(wǎng)址:基金項目:國家創(chuàng)新群體基金資助項目(60421002).作者簡介:黃文君(1972-),男,浙江上虞人,高級工程師,從事自動控制技術、實時分布式控制系統(tǒng)、工業(yè)以太網(wǎng)技術的研

7、究與開發(fā).E2mail:wjhuang© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 1698浙江大學學報(工學版)第41卷戳的精度又要大打折扣.隨著網(wǎng)絡傳輸速率的提升,在由直通型交換設備組建的以太網(wǎng)中,通訊鏈路的傳輸延遲時間的不確定性越來越小,這導致時間戳本身的精度對同步精度的影響明顯加大.時間戳本身的精度是由時間戳的獲取方式?jīng)Q定的,在上述的基于嵌入式軟件的方案中,絡層和數(shù)據(jù)鏈路層之間,.常精確,每次校正后二者偏差為零,由于驅動時鐘計數(shù)器的晶振的頻率并不完全一致

8、,2個標稱頻率相同的晶振的實際頻率之間的微小差別會導致從時鐘和主時鐘的偏差隨時間的變化逐漸增加,這種漂移在高精度同步的情況下是不能容許的.若要調節(jié)從時鐘的晶振頻率使得它與主時鐘晶振頻率相同,或者采用模擬電路,采用具有頻率調節(jié)功能的時鐘振蕩源來驅動時鐘計數(shù)器;或者采用數(shù)字電路,用硬件電路實現(xiàn)一個算法,其效果相當于采用頻率不可調整的晶振和少量數(shù)字電路搭建一個等效的頻率可調的時鐘計數(shù)器.采用數(shù)字電路更為廉價和方便.從上述分析可以看出,采用數(shù)字電路硬件有助于大幅提升時鐘同步精度,而且硬件電路的優(yōu)勢是基于嵌入式軟件的方案無法達到的.本文設計了一種基于FPGA和硬件描述語言(VHDL)的時鐘同步系統(tǒng),發(fā)揮

9、了硬件電路在獲取時間戳和晶振頻率糾偏方面的優(yōu)勢,實現(xiàn)了比基于嵌入式軟件的方案更為精確的時鐘同步.1.2基于FPGA的時鐘同步方案設計現(xiàn)場可編程邏輯門陣列(FPGA)采用硬件邏輯門陣列和語言編程方式(VHDL)實現(xiàn)信號的輸入、輸出及信息處理,具有ns級別的數(shù)據(jù)處理和運算能力.本文設計的基于FPGA的時鐘同步系統(tǒng)的結構如圖1所示,它包含一個主時鐘節(jié)點,若干從時鐘節(jié)點,其中主時鐘節(jié)點上帶有GPS(globalposi2IEEE1588標準定義了一個能夠在測量和控制系統(tǒng)中實現(xiàn)精確的時鐘同步的協(xié)議,它利用網(wǎng)絡的通訊鏈路實現(xiàn)時鐘同步,無需其他的同步線纜和額外投入,能達到較高的同步精度1.IEEE1588能

10、夠在所有支持多播的網(wǎng)絡上實現(xiàn),特別適合于以太網(wǎng).在工業(yè)以太網(wǎng)架構分布式控制系統(tǒng)中,基于嵌入式軟件的方案由于受到數(shù)據(jù)幀多級緩沖時延不穩(wěn)定、晶振頻率漂移、中斷服務程序響應時間等因素限制很難達到微秒級的同步精度.針對這一情況,本文結合工業(yè)以太網(wǎng)在實時控制系統(tǒng)中的應用,采用IEEE1588同步算法設計了一種基于FPGA時鐘同步方案,采用硬件描述語言亞微秒級的精確同步,數(shù)據(jù)采集、1基于FPGA的時鐘硬件同步方案1.1硬件電路實現(xiàn)時鐘同步方法分布式控制系統(tǒng)時鐘是用計數(shù)器來實現(xiàn)的,判定2個時鐘是否同步有2條標準:一是兩者計數(shù)器的數(shù)值是否相等,二是兩者計數(shù)器數(shù)值的增加速度是否相等.根據(jù)IEEE1588,要使從

11、時鐘同步于主時鐘,首先要確定從時鐘與主時鐘的偏差.這個偏差值是根據(jù)數(shù)據(jù)包發(fā)送時間戳和接收時間戳的偏差來計算的,它的精度受到2個因素的影響:一是網(wǎng)絡通訊鏈路傳輸延遲時間的不確定性,二是時間戳本身的精度.在基于嵌入式軟件的時鐘同步方案中,時鐘計數(shù)器由CPU自身的計數(shù)器來實現(xiàn),時間戳的獲取點位于整個軟件系統(tǒng)的最底層,即中斷層2.CPU發(fā)送數(shù)據(jù)包時,先將待發(fā)送數(shù)據(jù)寫入網(wǎng)卡芯片的發(fā)送緩沖區(qū)中,然后向網(wǎng)卡發(fā)出發(fā)送命令,同時讀取計數(shù)器值作為該數(shù)據(jù)包的發(fā)送時間戳,由以太網(wǎng)的介質訪問特性可知,這個時間戳并不是該數(shù)據(jù)包發(fā)出的真正時間,而且這個時間戳與該數(shù)據(jù)包發(fā)出的真正時間的差值也是不確定的.CPU通過響應網(wǎng)卡中斷

12、接收數(shù)據(jù)包,在中斷處理程序中,讀取計數(shù)器值作為該數(shù)據(jù)包的接收時間戳,但這個時間戳并不是接收到該數(shù)據(jù)包的第一個比特時的時間戳,所以還要減去數(shù)據(jù)包的長度(單位:比特)與傳輸每一個比特所需的時間之積,得到實際的接收時間戳,由于CPU的中斷響應時間是不確定的,這個時間戳還不是接收該數(shù)據(jù)包的真正時間,其不確定性依CPU的速度和操作系統(tǒng)的不同而不同.若網(wǎng)卡在接收到與時鐘同步相關的數(shù)據(jù)包時,網(wǎng)卡芯片的緩存中還有其他未被CPU處理的數(shù)據(jù)包,則上述接收時間圖1時鐘同步系統(tǒng)示意圖Fig.1Systemarchitectureofsynchronizationsystem© 1994-2010 China

13、 Academic Journal Electronic Publishing House. All rights reserved. 第10期黃文君,等:基于FPGA的精確時鐘同步方法1699tionsystem)接收機.GPS接收機發(fā)出的秒脈沖信時鐘同步等功能.通用CPU接口為嵌入式實時控制系統(tǒng)提供高精度的硬件時鐘訪問接口.MII接口共有18個信號,它們分別是用于發(fā)送號將主時鐘同步于UTC(universaltimecoordina2ted),從時鐘通過以太網(wǎng)的通訊鏈路同步于主時鐘.網(wǎng)絡拓撲為星型,以直通型交換機或集線器(HUB)作為交換設備.系統(tǒng)中節(jié)點的內部結構如圖2所示.每個節(jié)點包含C

14、PU、以太網(wǎng)媒體訪問控制(mediaaccesscon2trol,MAC)器、以太網(wǎng)物理層收發(fā)器、FPGA等4種主要芯片.物理層收發(fā)器和MAC控制器通過標準的MII(mediaindependentinterface)接口相連,CPU通過總線與MAC控制器和FPGA.層收發(fā)器、MAC控制器和CPU,數(shù)據(jù)的TXCLK、TXD3:0、TXEN、TXER,用于接收數(shù)據(jù)的RXCLK、RXD3:0、RXDV、RXER,此外還有CRS和COL,MDIO和MDC.TXCLK,發(fā)送數(shù)據(jù)3、TXERK是從接收到的信號中恢,接收數(shù)據(jù)RXD3:0、接收有和接收差錯RXER都同步于RXCLK;載波監(jiān)聽CRS和碰撞檢測

15、COL既不同步于時鐘TX2(b)和(c)CLK,也不同步于時鐘RXCLK.圖4(a)、分別是正常發(fā)送數(shù)據(jù)、正常接收數(shù)據(jù)和數(shù)據(jù)包發(fā)生碰撞時相關的MII接口信號的波形.MII接口發(fā)送數(shù)據(jù)寬度是4位(稱為Nibble),以小端方式組裝,即每個字節(jié)的低4位為第一個Nibble,高4位為第二個Nibble,物理層電路發(fā)送數(shù)據(jù)時,首先發(fā)送每個圖2節(jié)點電路結構圖Fig.2HardwarearchitectureofclocknodeNibble的最低位,最后發(fā)送每個Nibble的最高位,接收數(shù)據(jù)時也按這個規(guī)則來組裝.在發(fā)送端,每次發(fā)送數(shù)據(jù)包時,在向物理介質上發(fā)送數(shù)據(jù)位之前,必須先發(fā)送64位的前導碼,用于接收

16、端電路恢復時鐘信號,使得接收端的時鐘信號頻率與發(fā)送端相等.前導碼的比特序列為1010101010101010,共62位,緊跟以2位11作為數(shù)據(jù)幀的起始定界符.用FPGA監(jiān)聽MII接口中與發(fā)送相關的信號,捕捉位于緊跟前FPGA內部結構如圖3所示,它是整個同步系統(tǒng)的核心器件,完成時間戳的獲取和晶振的糾偏功能.FPGA通過監(jiān)聽和分析MII接口上的信號來確定數(shù)據(jù)包的發(fā)送時間戳和接收時間戳.根據(jù)IEEE802.3標準,MII接口位于介質訪問子層和物理層之間,是一種簡單、廉價、易于實現(xiàn)的電氣接口,它支持10和100Mbps2種傳輸速率,它的存在使得同一種介質訪問控制器能夠對非屏蔽雙絞線、屏蔽雙絞線、光纖等

17、多種物理傳輸介質進行訪問和控制3.基于FPGA的時間同步方案內部采用結構化的硬件描述語言設計了MII兼容的以太網(wǎng)發(fā)送/接收時間戳捕獲器、晶振頻率補償器、時鐘同步控制器、通用CPU接口、測試接口等模塊,其中時鐘同步控制器實現(xiàn)了各個模塊之間的數(shù)據(jù)高速交換、網(wǎng)絡傳輸延遲濾波和基于IEEE1588的同步運算,并將運算結果作用于其他模塊以實現(xiàn)晶振頻率補償、圖3FPGA模塊結構圖Fig.3ModulearchitectureinFPGA圖4MII波形圖Fig.4MIIwaveform© 1994-2010 China Academic Journal Electronic Publishing

18、House. All rights reserved. 1700浙江大學學報(工學版)第41卷率的補償4.q和r越大,加數(shù)的改變對累加器發(fā)生溢出的頻率的影響越小,對晶振頻率的補償越精細.在本文設計的系統(tǒng)中,取p=64,前32位表示秒,后32位表示微秒,q=r=32,對晶振頻率補償?shù)牟竭M值小于3×10-8.利用硬件描述語言,FP完成了2個用一般CPU無法完成的工作.II接口處獲取時間導碼之后的2個連續(xù)的高電平,即可準確地確定正在發(fā)送的數(shù)據(jù)包的發(fā)送時間戳.如果發(fā)生碰撞,該數(shù)據(jù)包需要重發(fā).重發(fā)時還是要先發(fā)送前導碼,于是可以獲取一個新的準確的發(fā)送時間戳.由此可見,這種使用FPGA獲取發(fā)送時間

19、戳的方法消除了網(wǎng)絡中隨機發(fā)生的碰撞造成的影響,能大幅提高發(fā)送時間戳的獲取精度.以100Mbps以太網(wǎng)為例,TXCLK為25MHz,發(fā)送時間戳的精度小于40ns.當一個時槽的長度是512位,即5.12s時,若網(wǎng)絡上發(fā)生碰撞,則發(fā)送時間戳的精度必然不會好于5.12在接收端,以消除CPU響,遲造成的影響.100以太網(wǎng)為例,RX2CLK為25MHz,40ns.在基于嵌入式軟件的方案中,假設CPU為ARM7TDMI內核,運行于50MHz,在沒有操作系戳,.,根據(jù),即存儲在頻率補償時鐘中的加數(shù)寄存器中的值,從而達到了對時鐘計數(shù)器的數(shù)值進行控制的目的.由于對網(wǎng)絡傳輸延遲的濾波也在FPGA中完成,CPU無法對

20、時鐘計數(shù)器的運行進行干預,只負責驅動MAC控制器完成相關的通訊功能.CPU和FPGA之間有接口電路,CPU對FPGA的統(tǒng)的情況下,其中斷響應時間為20400ns;如果嵌入式軟件采用基于操作系統(tǒng)的消息處理,即使排除數(shù)據(jù)包在MAC控制器緩存中的延遲的影響,接收時間戳的響應時間精度也不會優(yōu)于1s.FPGA中包含頻率補償時鐘模塊,它利用數(shù)字訪問等效于對片外內存的讀寫操作,CPU可以通過這個接口完成本地時鐘屬性設定、時鐘初值設定、時鐘運行狀態(tài)讀取、某一事件的預定發(fā)生時間寫入、已發(fā)生事件的時間戳讀取等操作.電路硬件代替了模擬電路,實現(xiàn)了晶振糾偏功能,克服了晶振漂移,使得普通的廉價晶振也能用于精確的時鐘同步

21、.頻率補償時鐘的原理如圖5所示,它由一個p位時鐘計數(shù)器、一個q位累加器和一個r位加數(shù)寄存器構成.每個晶振周期,累加器將自身的值與存儲在加數(shù)寄存器中的值相加,結果存儲在累加器中,同時產(chǎn)生一個進位標志位表示這次的加法操作是否溢出,如果發(fā)生溢出,則在下一個晶振周期,時鐘計數(shù)器增加一個增量,這個增量就是整個頻率補償時鐘的分辨率;如果沒有溢出,則在下一個晶振周期,時鐘計數(shù)器保持原值.單位時間內時鐘計數(shù)器數(shù)值增加的次數(shù)是由加數(shù)寄存器的值和晶振頻率共同決定的,改變存儲在加數(shù)寄存器中的加數(shù),就改變了累加器進行加法操作時發(fā)生溢出的頻率,從而改變了時鐘計數(shù)器數(shù)值增加的頻率,實現(xiàn)了對晶振頻2測試方法與應用驗證模擬基

22、于工業(yè)以太網(wǎng)的分布式控制系統(tǒng),搭建應用工業(yè)以太網(wǎng)的時鐘同步測試系統(tǒng),動態(tài)測試方式如圖6所示.采用基于FPGA的時鐘同步方案與嵌入式CPU接口模擬應用系統(tǒng),另有第三方的測試電路模塊與之配合.測試電路模塊定期向FPGA發(fā)出一個測試脈沖,包括主時鐘的FPGA和待測的若干從時鐘的FPGA,每個FPGA都有一個端口被連接到一根公共的銅導線上.這個同時傳播到所有FPGA的測試脈沖被每個FPGA同步于自身的邏輯電路,然后用邊沿觸發(fā)器記錄下當前的時鐘計數(shù)器的數(shù)值.測試電路模塊將這些數(shù)值讀回,用串口發(fā)回測試計算機進行記錄和分析.圖5頻率補償時鐘結構圖Fig.5Architectureoffrequencycom

23、pensationclock圖6測試系統(tǒng)示意圖Fig.6Testembeddedsystem(下轉第1742頁)© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. 1742浙江大學學報(工學版)第41卷WANGYu2tao,YANQiy2an,YANGGang,etal.Multi2steppredictionofmoltenironsiliconcontentinblastfurnaceusingdynamicneuralnetworkJ.ChineseJourna

24、lofScientificInstrument,2006,11:1448-1451.6王振龍.時間序列分析M,北京:中國統(tǒng)計出版社,2000.7石揚,張燕平,趙姝,等.挖掘研究J.,42(1):201-203.SHI,Shu,etal.Re2seriesdataminingbasedEngineeringandAppli242(1):201-203.8JLi,MENENTIM.Responseofvegetationphoto2syntheticactivitytonetradiationandrainfall:acasestudyonthetibetanpiateaubymeansoffou

25、rieranalysisofMODISFAPARTimeSeriesJ.AdvancesinEarthScience,2006,12:1254-1260.9徐東,劉志陽,徐奉臻.我國證券投資基金羊群行為的實證分析(199922004)J.哈爾濱工業(yè)大學學報,2006,38:2132-2134.XUDong,LIUZhi2yang,XUFeng2zhen.Empiricalre2searchonherdbehaviorofsecurityinvestmentfundinChinabasedonLSVandTSP(199922004)J.JournalofHarbinInstituteofTech

26、nology,2006,38:2132-2134.10梅長林,周家良.實用統(tǒng)計方法M.北京:科學出版爐溫的因素眾多,可建立的模型方法也很多,但是要實現(xiàn)基于模型的預測控制,數(shù)學模型必需包含3類變量,即:初始變量、狀態(tài)變量和控制變量,才能夠達到爐溫w(Si)的閉環(huán)控制.更進一步的模型控制研究表明,成功的爐溫預測控制方程必須建立機理模型、推理模型和數(shù)理模型遞階式智能化集成的基礎上才能夠實現(xiàn),這些模型的互動將另文闡述.參考文獻(References):1劉祥官,劉芳.高爐煉鐵過程優(yōu)化與智能控制系統(tǒng)M.北京:冶金工業(yè)出版社,2003.2羅世華,劉祥官.J物理學報,2006,55(7):3343-LUOS

27、hi2Hua,LIUThefstructureofsiliconfurnaceJ.Ac2taPhysica55(7):3343-3347.3吳懷宇.M.武漢:武漢大學出版社,2004.4郜傳厚,周志敏,邵之江.高爐冶煉過程的混沌性解析J.物理學報,2005,54(04):1490-1494.GAOChuan2hou,ZHOUZhi2min,SHAOZhi-Jiang.Chaoticanalysisforblastfurnaceiron2makingprocessJ.ActaPhysicaSinica,2005,54(04):1490-1494.5王玉濤,嚴其艷,楊鋼,等.高爐鐵水含硅量的動態(tài)神經(jīng)網(wǎng)絡多步預報J.儀器儀表學報,2006,1:1448-1451.社,2002.(上接第1700頁)本文設計的時鐘同步系統(tǒng)運行在10Mbps以太網(wǎng)上,采用無數(shù)據(jù)幀緩沖的HUB互連各個設備,共有1個主節(jié)點和10個從節(jié)點.在連續(xù)20d的長期測試中積累的測試數(shù)據(jù)顯示,從時鐘相對主時鐘的偏差的平均值小于±35ns,標準差小于100ns,峰值小于±500ns,這說明同步精度已經(jīng)達到亞微秒級.同步時間誤差測試曲線見圖7.圖中:e為同步誤差,n為測試次數(shù).以方便地與嵌入式實時控制系統(tǒng)集成應用.由于設備所限,本文只完成了在10Mbps以太

溫馨提示

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

評論

0/150

提交評論