• 
    

    
    

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

      基于FPGA 的IEEE 1588 時鐘同步系統(tǒng)的設(shè)計與實現(xiàn)

      2023-05-24 09:06:14徐卓汀商艷娟王成群
      智能計算機與應(yīng)用 2023年5期
      關(guān)鍵詞:主從主站計數(shù)器

      徐卓汀,商艷娟,王成群

      (浙江理工大學(xué) 信息學(xué)院,杭州 310018)

      0 引言

      隨著分布式網(wǎng)絡(luò)應(yīng)用范圍及應(yīng)用規(guī)模的不斷增大,同步系統(tǒng)內(nèi)各分散節(jié)點時鐘的一致性變得越來越重要,精確的時間同步技術(shù)在分布式系統(tǒng)中占據(jù)著越來越重要的地位[1]。目前,時鐘同步的主要方法包括IRIG-B(Inter Range Instrumentation Group-B)碼時鐘同步、網(wǎng)絡(luò)時間協(xié)議(NTP)、簡單網(wǎng)絡(luò)時鐘同步(SNTP)和全球定位系統(tǒng)(GPS)等[2]。傳統(tǒng)的NTP 只能提供毫秒級的時間精度,不能滿足現(xiàn)代工業(yè)以太網(wǎng)的高精度時鐘需求。SNTP 協(xié)議是NTP的簡化版本,采用了簡化的同步算法,提高了性能,但只能滿足對時間精度要求不高的系統(tǒng)。GPS 可以提供微秒級的時間精度,但其需要GPS 接收機這樣的特殊設(shè)備,不僅成本比較高,而且不易實現(xiàn)[3]。IEEE 1588 精密時間協(xié)議的出現(xiàn)一定程度上彌補了一些時鐘同步方式的不足[4]。IEEE 1588 協(xié)議基于以太網(wǎng),不需要建立新的時鐘網(wǎng)絡(luò),主從時鐘通過交換時鐘信息來進(jìn)行同步[5]。通過軟件實現(xiàn)的IEEE 1588 協(xié)議可以提供微秒級別的時間精度[6];通過硬件實現(xiàn)的IEEE 1588 協(xié)議可以提供納秒級別的時間精度[7]。同時,硬件實現(xiàn)的IEEE 1588 協(xié)議對資源要求低,不僅可以通過支持IEEE 1588 協(xié)議的專用芯片實現(xiàn),也可以在FPGA 芯片上實現(xiàn),實現(xiàn)成本低,適用于各種分布式系統(tǒng)[8]。

      本文在詳細(xì)分析IEEE 1588 協(xié)議基本內(nèi)容的基礎(chǔ)上,通過軟硬件結(jié)合的方式,在FPGA 芯片上實現(xiàn)IEEE 1588 報文的檢測和時間戳的捕獲。實驗驗證結(jié)果表明該系統(tǒng)能夠正常工作,能滿足現(xiàn)代工業(yè)以太網(wǎng)的高精度時鐘同步需求。

      1 IEEE 1588 時鐘同步原理

      IEEE 1588 精確時間協(xié)議在同步過程中,主時鐘和從時鐘之間相互交換帶有精確時間戳和預(yù)估時間戳的報文[9]。各個從時鐘得到這些時間戳信息后,計算與主時鐘的鏈路傳輸延遲和時鐘偏差,進(jìn)而調(diào)整從時鐘,達(dá)到與主時鐘同步的目的。IEEE 1588協(xié)議的主從同步過程如圖1 所示[10]。

      圖1 IEEE 1588 協(xié)議的主從同步過程Fig.1 Master and slave synchronization process of IEEE 1588

      IEEE 1588 協(xié)議的同步原理是延時響應(yīng)機制,通過PTP(Precision Time Protocol)報文承載時間戳來完成,PTP 報文分為4 種:Sync 同步報文、Follow_up 跟隨報文、Delay_req 延遲請求報文、Delay_resp延遲請求報文、Delay_resp 延遲請求響應(yīng)報文[11]。

      一次時鐘同步過程:

      (1)Sync 報文周期性從主時鐘向從時鐘以廣播的形式發(fā)出,主時鐘在發(fā)送結(jié)束那一刻記錄Sync 報文離開主時鐘的精確發(fā)送時間TM1;

      (2)主時鐘將精確時間戳TM1封裝進(jìn)Follow_up報文中,發(fā)送給從時鐘;

      (3)從時鐘記錄Sync 報文到達(dá)從時鐘的精確時間點Ts2;

      (4)從時鐘發(fā)送Delay_req 報文,并在發(fā)送結(jié)束那一刻記錄下精確發(fā)送時間TS3;

      (5)主時鐘記錄Delay_req 報文到達(dá)主時鐘的精確到達(dá)時間TM4;

      (6)主時鐘發(fā)送攜帶精確時間戳信息TM4的Delay_resp 報文到從時鐘。

      經(jīng)過一次時鐘同步后,從時鐘寄存4 個精確時間戳信息。利用4 個時間戳可以計算鏈路延時和時鐘偏移。

      設(shè)報文由主時鐘到從時鐘的鏈路延遲,式(1):

      此時主時鐘與從時鐘之間存在的時間偏差offset1,式(2):

      報文由從時鐘到主時鐘的鏈路延遲,式(3):

      此時從時鐘與主時鐘之間存在的時間偏差offset2,式(4):

      因為IEEE 1588 協(xié)議假設(shè)鏈路延遲是對稱的,式(5):

      那么平均鏈路延遲mean_delay,式(6):

      此時主從時鐘偏差offset,式(7):

      進(jìn)一步計算得到offset,式(8):

      對從時鐘進(jìn)行補償來達(dá)到同步于主時鐘的目的。

      2 系統(tǒng)軟硬件設(shè)計

      2.1 時間戳標(biāo)記位置

      IEEE 1588 協(xié)議的報文在交換消息過程中包含著各時鐘的信息,所以時鐘信息的提取對于提高同步精度有著十分重要的作用。時間的標(biāo)記位置有3種方案,如圖2 所示。

      圖2 時間戳位置標(biāo)記Fig.2 Time stamp position marking

      方案A:在應(yīng)用層進(jìn)行時間戳的標(biāo)記,雖然實現(xiàn)方法簡單,但由于協(xié)議棧的抖動和延遲是不確定的,會導(dǎo)致較大誤差,使用軟件實現(xiàn)的精度只能達(dá)到毫秒級。

      方案B:在介質(zhì)訪問控制層(MAC),避免了協(xié)議棧的抖動和延遲,提高時間戳的標(biāo)記精度,能夠使用軟件實現(xiàn),時間精度達(dá)到微秒級[12]。

      方案C:在MAC 層和物理層(PHY)之間的簡化媒體獨立接口(RMII)處標(biāo)記時間戳,通過軟硬結(jié)合的方法實現(xiàn)。目前有兩種方法,一種是使用支持IEEE 1588 協(xié)議的專用PHY 硬件芯片,如DP83640,可以在物理層檢測IEEE 1588 報文,并將時間戳信息填充到IEEE 1588 報文中;第二種方法是在對原有硬件不做改變的情況下,在FPGA 芯片中識別IEEE 1588 報文以及捕獲時間戳[13]。

      時間戳的標(biāo)記越接近于實際網(wǎng)絡(luò),抖動和延遲就越小,計算出的時鐘偏差和鏈路延遲更接近于真實值,所以在本文的設(shè)計中,采用了方案C,因為方案C 的第二種方法不需要專用的PHY 芯片,而且FPGA 處理速度足夠快,實現(xiàn)方法更簡單。

      2.2 系統(tǒng)硬件搭建

      系統(tǒng)硬件采用Altera Cyclone IV 系列中的EP4CE6E22C8 FPGA 芯片以及RTL8201CP 接口PHY 芯片,分別作為系統(tǒng)的主控模塊以及網(wǎng)絡(luò)通信模塊。

      RTL8201CP PHY 芯片采用RMII 模式下的以太網(wǎng)連接方式,是簡化的媒體獨立接口,減少了以太網(wǎng)通信所需的引腳數(shù),將引腳數(shù)從16 個減少為7 個,有著更簡單的連接結(jié)構(gòu)。

      Altera Cyclone IV 系列FPGA 芯片作為主控模塊,自身能夠在物理層和PHY 之間的RMII 接口處進(jìn)行時間標(biāo)記,相對于其他如STM32F407 系列CPU芯片只能在MAC 數(shù)據(jù)鏈路層標(biāo)記,有著更高的時間戳精度。主控模塊主要實現(xiàn)接受發(fā)送PTP 報文,以及時鐘同步等功能。

      2.3 系統(tǒng)軟件設(shè)計

      本文系統(tǒng)的軟件結(jié)構(gòu)主要分為協(xié)議層、應(yīng)用層。協(xié)議層完成報文的解析以及封裝過程,應(yīng)用層完成實時時鐘以及精確時鐘同步功能。其系統(tǒng)結(jié)構(gòu)圖如圖3 所示。

      圖3 系統(tǒng)結(jié)構(gòu)圖Fig.3 System structure diagram

      協(xié)議層分為UDP/IP 協(xié)議、EtherCAT 協(xié)議以及PTP 協(xié)議,EtherCAT 協(xié)議有兩種實現(xiàn)方式:一種是利用標(biāo)準(zhǔn)IEEE802.3 以太網(wǎng)幀實現(xiàn),一種是放入UDP/IP 協(xié)議中實現(xiàn),本文采用第二種實現(xiàn)方式。系統(tǒng)的主時鐘將PTP 報文封裝在EtherCAT 中,再將EtherCAT 報文封裝在UDP 報文中,最后通過網(wǎng)絡(luò)傳輸?shù)綇臅r鐘。從時鐘接收到報文后,解析報文,進(jìn)行時間戳的寄存和提取。

      (3)政府應(yīng)增加研發(fā)投入提高大豆單產(chǎn)水平,支持大豆產(chǎn)業(yè)發(fā)展。目前的補貼政策多與種植面積掛鉤,對單產(chǎn)的刺激作用很小,而且政策的經(jīng)濟(jì)效率低。而當(dāng)前大豆產(chǎn)業(yè)發(fā)展面臨的重要瓶頸是單產(chǎn)水平過低,從而導(dǎo)致種植大豆的比較收益不高。

      時鐘同步系統(tǒng)上電后,通過PC 機,以UDP 協(xié)議的形式發(fā)送指令報文,初始化各主從時鐘的計數(shù)器,并設(shè)定與PC 機通信的為主時鐘,與主時鐘通過網(wǎng)線相連的為從時鐘。初始化各主從時鐘后,PC 機周期性發(fā)送Sync 報文,進(jìn)入時鐘同步階段。

      如果本地時鐘為主時鐘狀態(tài),其主時鐘流程圖如圖4 所示。主時鐘接受來自PC 機的報文,識別并轉(zhuǎn)發(fā)Sync 報文,對RMII 接口的TX_EN 信號進(jìn)行鎖存,當(dāng)TX_EN 信號由高電平變?yōu)榈碗娖綍r,寄存這個周期的時鐘計數(shù)器,接著發(fā)送Follow_up 報文,F(xiàn)ollow_up 報文的64 位精確時間戳為上一個寄存的時鐘計數(shù)器的時間,發(fā)送結(jié)束后,等待接收下一條報文。接收到報文時,RMII 接口的RX_EN 信號由低變高,寄存該周期的時鐘計數(shù)器,識別接受的報文,如果識別為其他報文,丟棄該時間戳,并回到等待接受Delay_req 報文狀態(tài),若為Delay_req 報文,保留該時間戳,并讀取來自從時鐘的端口號,接著構(gòu)造Delay_resp 報文,Delay_resp 報文的64 位精確時間戳即為上一次寄存的時鐘計數(shù)器。主時鐘進(jìn)入等待接受PC 機報文狀態(tài)。

      圖4 主時鐘流程圖Fig.4 Master clock state machine process

      如果本地時鐘為從時鐘,從時鐘流程圖如圖5所示。時鐘計數(shù)器初始化后,接受到報文時,RMII接口的RX_EN 信號由低變高,寄存器寄存該周期的時鐘計數(shù)器的值,識別該報文是否是Sync 報文,若不是,則丟棄寄存的時間戳,并返回等待報文接受狀態(tài);如果是,繼續(xù)接受并解析Follow_up 報文,讀取報文中的時間戳,并開始構(gòu)造Delay_req 報文。當(dāng)發(fā)送Delay_req 報文結(jié)束時,即RMII 接口處的TX_EN 信號由高變低,寄存該時刻的時鐘計數(shù)器的值,并與接受Follow_up 報文同樣的過程接受Delay_resp 報文,并讀取報文中的精確時間戳。從時鐘得到來自物理層和PHY 之間的RMII 接口處的4 個精確時間戳,進(jìn)入鏈路延遲以及時鐘偏差計算階段,并對從時鐘進(jìn)行補償,得到同步的從時鐘進(jìn)入下一次時鐘補償階段。

      圖5 從時鐘流程圖Fig.5 Slave clock state machine process

      2.4 本地時鐘補償算法

      本地時鐘補償采用動態(tài)的頻率補償算法來實現(xiàn),其頻率補償過程如圖6 所示。

      圖6 頻率補償過程Fig.6 Frequency compensation process

      在時鐘同步過程中,當(dāng)系統(tǒng)進(jìn)行第一次時鐘同步過程中時,主站記錄下第一次發(fā)送Sync 同步報文的時間戳T1M1,從站記錄下第一次收到同步報文的時間戳T1S2。同理,當(dāng)系統(tǒng)進(jìn)行第二次時鐘同步時,記錄下時間戳T2M1和T2S2。則主站的發(fā)送時間間隔MCC,式(9):

      同理,從站接收到的時間間隔SCC,式(10):

      主從站的時間偏差MSC,式(11):

      主從之間的時間比率,式(12):

      在每次時鐘同步過程中,從時鐘持續(xù)補償計算出的時鐘偏移量;在補償過程中,判斷偏移量的最高位是否為1,若是表示從時鐘快于主時鐘,偏移量的值應(yīng)取反加1,補償進(jìn)從時鐘中,反之,直接補償從時鐘;對于時間頻率的補償,從系統(tǒng)的第二次時鐘同步階段開始,判斷MSC的值,若最高位為1,說明主時鐘頻率高于從時鐘頻率,則從時鐘的納秒(ns)計數(shù)器每增加γ值時減1,反之,主時鐘頻率低于從時鐘頻率,納秒(ns)計數(shù)器每增加γ值時加1。

      3 時鐘同步測試

      為了驗證IEEE 1588 時鐘同步系統(tǒng)的可行性,將IEEE 1588 協(xié)議以及本地時鐘補償算法應(yīng)用于基于FPGA 的EtherCAT 協(xié)議棧中,采用低延時、高帶寬、確定性的現(xiàn)場總線結(jié)構(gòu),該協(xié)議棧具有區(qū)分IEEE 1588 報文和普通報文的功能,主站能解析來自PC 機的報文,并將報文內(nèi)容轉(zhuǎn)發(fā)至從站,從站能夠解析各報文命令,執(zhí)行時間戳提取、初始化操作、時鐘同步以及同步輸出等功能。

      本系統(tǒng)以主站的本地晶振作為授時源,通過主從站直連的方式進(jìn)行時鐘同步性能測試,設(shè)置的同步時間間隔為1 s,時鐘同步過程分為兩步:

      (1)系統(tǒng)啟動,發(fā)送初始化指令報文進(jìn)行各主從站計數(shù)器清零操作;

      (2)周期性發(fā)送Sync 報文,進(jìn)行時鐘同步。

      3.1 一主一從主從直連同步測試

      系統(tǒng)初始化后周期性發(fā)送Sync 同步報文進(jìn)行時鐘同步,其中主從站某一次輸出1 s 脈沖圖如圖7所示,橫坐標(biāo)每一格線代表20 ns,該波形表示主從站的同步輸出偏差為0 ns。

      圖7 主從站某一次輸出1 s 脈沖Fig.7 Primary and secondary station output 1 s pulse diagram at one time

      200 次主從同步,其時間偏差結(jié)果如圖8 所示。

      圖8 時間偏差結(jié)果Fig.8 Time deviation result

      其中時間偏差為一個絕對值量。由圖8 可知,主從時鐘最大時鐘偏差為80 ns,時鐘偏差基本分布在±80 ns 之間,能夠滿足現(xiàn)代工業(yè)以太網(wǎng)對時間精度的需求。

      3.2 一主二從主從直連同步測試

      系統(tǒng)初始化,進(jìn)行200 次同步測試,其主從同步結(jié)果如圖9 所示。

      圖9 主從同步結(jié)果Fig.9 Master slave synchronization result

      其中,ID1 時鐘表示從站1 與主站的時鐘偏差,ID2 表示從站2 與主站的時鐘偏差。ID1-ID2 時鐘差值(LCK)為ID1 時鐘與ID2 時鐘的差值,ID1-ID2時鐘差值(ns)為ID1-ID2 時鐘差值(LCK)乘20 ns所得。

      主站與從站1 的時鐘偏差圖和主站與從站2 的時鐘偏差圖如圖10 和圖11 所示。經(jīng)過200 次測試,從站1 與主時鐘的最大時鐘偏差為100 ns,時鐘偏差基本分布在±100 ns;從站2 與主時鐘的最大偏差為100 ns,時鐘偏差基本分布在±100 ns。相對一主一從的同步測試,由于其加大了鏈路延時的不對稱性以及從站內(nèi)部的處理延時,增大了時鐘偏差,導(dǎo)致同步精度下降。

      圖10 主站與從站1 的時鐘偏差Fig.10 Clock deviation between master station and slave station 1

      圖11 主站與從站2 的時鐘偏差Fig.11 Clock deviation between master station and slave station 2

      4 結(jié)束語

      本文詳細(xì)分析了IEEE 1588 協(xié)議,并將IEEE 1588 協(xié)議以及本地時鐘補償算法應(yīng)用于分布式時鐘同步系統(tǒng)中,在一主一從的分布式時鐘同步基礎(chǔ)上,拓展到了一主兩從的分布式時鐘同步系統(tǒng)。實驗證明該方案的同步精度能夠達(dá)到ns 級別,同步的時鐘設(shè)備越少,時鐘偏差越小。同步一個時鐘設(shè)備和兩個時鐘設(shè)備,主從時鐘偏差基本分布在±100 ns之間,能夠滿足現(xiàn)代工業(yè)以太網(wǎng)對高精確時鐘的需求,簡化了硬件電路設(shè)計,不需要專用的PHY 芯片,時鐘戳提取和報文識別都在FPGA 芯片內(nèi)部完成,降低開發(fā)難度和成本。

      猜你喜歡
      主從主站計數(shù)器
      煤氣與熱力(2022年2期)2022-03-09 06:29:30
      FANUC系統(tǒng)PROFIBUS主從功能應(yīng)用
      基于OS2主站系統(tǒng)的海量數(shù)據(jù)共享技術(shù)研究
      多表遠(yuǎn)程集抄主站系統(tǒng)
      電子制作(2017年23期)2017-02-02 07:17:07
      基于主從控制的微電網(wǎng)平滑切換控制策略研究
      計數(shù)器競爭冒險及其處理的仿真分析
      基于飛行試驗數(shù)據(jù)的仿真模型主從一體化檢驗
      基于改進(jìn)經(jīng)濟(jì)壓差算法的主站AVC的研究
      關(guān)口電能計量故障監(jiān)測報警裝置及主站研究
      基于FPGA的機床數(shù)控系統(tǒng)主從控制器通信研究
      高平市| 防城港市| 承德市| 武夷山市| 松滋市| 扎囊县| 江安县| 昌吉市| 开远市| 马龙县| 理塘县| 贵阳市| 马山县| 建始县| 镇雄县| 汶上县| 都昌县| 沈阳市| 科技| 五家渠市| 麻栗坡县| 洛扎县| 贺州市| 玛多县| 西林县| 新沂市| 吉木乃县| 东方市| 屏南县| 思茅市| 房山区| 鹤山市| 哈尔滨市| 芒康县| 岱山县| 甘德县| 阜新| 河南省| 文安县| 南漳县| 米林县|