• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種可實(shí)現(xiàn)高精度時(shí)間同步的數(shù)據(jù)傳輸方法

    2020-02-19 11:26:38楊馮帆常勁帆
    計(jì)算機(jī)工程 2020年2期
    關(guān)鍵詞:電子學(xué)以太網(wǎng)報(bào)文

    楊馮帆,常勁帆,王 錚

    (1.中國(guó)科學(xué)院高能物理研究所 核探測(cè)與核電子學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100049;2.中國(guó)科學(xué)院大學(xué) 物理科學(xué)學(xué)院,北京 100049)

    0 概述

    高海拔宇宙線(xiàn)觀測(cè)站(Large High Altitude Air Shower Observatory,LHAASO)是在我國(guó)四川稻城平均海拔4 410 m地區(qū)建設(shè)的以宇宙線(xiàn)觀測(cè)研究為核心目標(biāo)的重大科技基礎(chǔ)設(shè)施[1],是“十二五”國(guó)家重大科技基礎(chǔ)設(shè)施項(xiàng)目之一。該項(xiàng)目的科學(xué)目標(biāo)是探索高能宇宙線(xiàn)起源并開(kāi)展相關(guān)的高能輻射、天體演化甚至暗物質(zhì)分布等基礎(chǔ)科學(xué)研究[2]。KM2A探測(cè)器陣列是LHAASO的主體陣列之一,包括5 242個(gè)電磁粒子探測(cè)器(Electromagnetic particle Detectors,ED)和1 171個(gè)繆子探測(cè)器(Muon Detectors,MD)。ED按15 m間隔,MD按30 m間隔,平均分布在1.3 km2的野外區(qū)域。

    在大面積的天體物理實(shí)驗(yàn)中,前端電子學(xué)需要測(cè)量宇宙線(xiàn)次級(jí)粒子擊中不同探測(cè)器間相對(duì)時(shí)間差優(yōu)于1 ns,并將數(shù)字化后的數(shù)據(jù)可靠地送往數(shù)據(jù)獲取中心。為此,本文提出一種可實(shí)現(xiàn)高精度時(shí)間同步的數(shù)據(jù)傳輸方法,將數(shù)據(jù)傳輸和時(shí)鐘傳輸鏈路復(fù)用,以滿(mǎn)足KM2A讀出電子學(xué)系統(tǒng)對(duì)于數(shù)據(jù)傳輸可靠性和時(shí)間同步精度的高要求。

    1 KM2A電子學(xué)設(shè)計(jì)方案

    KM2A讀出電子學(xué)采用無(wú)全局硬件觸發(fā)的前端數(shù)字化方案,PMT產(chǎn)生的信號(hào)通過(guò)短電纜送入電子學(xué)[3],如圖1所示。ED單通道平均事例率2 kHz,事例數(shù)據(jù)寬度176 bit,每個(gè)探測(cè)器所需傳輸帶寬為352 kb/s[4];MD單通道事例數(shù)據(jù)寬度216 bit,平均事例率10 kHz,除此之外,每秒還需上傳一個(gè)8 KB的波形包,所以每個(gè)MD探測(cè)器所需的平均傳輸帶寬為2.2 Mb/s[5]。

    圖1 KM2A電子學(xué)布局方案

    目前實(shí)現(xiàn)大范圍時(shí)鐘分配系統(tǒng)的方法大體分為基于無(wú)線(xiàn)電波[6]、基于專(zhuān)用鏈路和基于以太網(wǎng),如表1所示?;跓o(wú)線(xiàn)電波能達(dá)到納秒量級(jí)的授時(shí)精度[7],基于專(zhuān)用鏈路可以實(shí)現(xiàn)亞納秒量級(jí)的授時(shí)精度[8],但是兩者的實(shí)現(xiàn)成本過(guò)高,不適合大規(guī)模使用。LHAASO實(shí)驗(yàn)采用由CERN開(kāi)發(fā)的WR(White Rabbit)高精度時(shí)鐘同步協(xié)議(WRPTP)。WRPTP協(xié)議能夠通過(guò)光纖網(wǎng)絡(luò)實(shí)現(xiàn)支持范圍達(dá)數(shù)百平方千米、最大節(jié)點(diǎn)數(shù)量過(guò)萬(wàn)的高精度時(shí)鐘分配系統(tǒng),授時(shí)精度達(dá)到亞納秒量級(jí)[9]。

    表1 時(shí)鐘分配系統(tǒng)的主要實(shí)現(xiàn)方法

    WR技術(shù)是基于同步以太網(wǎng)來(lái)實(shí)現(xiàn)分布式高精度時(shí)間同步,因此每個(gè)前端讀出的電子學(xué)板數(shù)據(jù)可以通過(guò)WR網(wǎng)絡(luò)進(jìn)行傳輸。顯然,數(shù)據(jù)傳輸和時(shí)鐘傳輸鏈路復(fù)用降低了系統(tǒng)復(fù)雜度、系統(tǒng)建設(shè)及維護(hù)成本,提高了可靠性,從成本角度來(lái)講是較經(jīng)濟(jì)實(shí)用的設(shè)計(jì)方案。

    由于WR時(shí)鐘同步技術(shù)只是通過(guò)標(biāo)準(zhǔn)以太網(wǎng)來(lái)傳輸時(shí)鐘同步協(xié)議,在數(shù)據(jù)傳輸方面,根據(jù)OSI的7層協(xié)議體系結(jié)構(gòu),WR實(shí)現(xiàn)了千兆以太網(wǎng)物理層和鏈路層,通過(guò)WR時(shí)鐘同步網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,還需要高層協(xié)議配合工作。本文采用基于TCP/IP的以太網(wǎng)傳輸方案,通過(guò)TCP協(xié)議[10]采取多重機(jī)制確保數(shù)據(jù)傳輸?shù)目煽啃?同時(shí)其通用性也易于后端的數(shù)據(jù)獲取,滿(mǎn)足LHAASO工程的需求。利用FPGA實(shí)現(xiàn)TCP/IP協(xié)議棧的第一種方法是在FPGA內(nèi)集成軟核,如在WCDA子系統(tǒng)中使用此方法[11];第二種方法是用硬件描述語(yǔ)言HDL編寫(xiě),但是算法復(fù)雜且常見(jiàn)IP核均為收費(fèi),如日本高能加速器研究機(jī)構(gòu)KEK設(shè)計(jì)的以太網(wǎng)協(xié)議棧SiTCP[12]。考慮到KM2A有近7 000個(gè)節(jié)點(diǎn),因此數(shù)據(jù)傳輸部分不能占據(jù)FPGA內(nèi)部過(guò)多的邏輯資源,可將WR時(shí)鐘同步邏輯和探測(cè)器數(shù)據(jù)的處理、打包和傳輸邏輯集成在一片F(xiàn)PGA內(nèi),若更換層次較高的FPGA會(huì)增加電子學(xué)的成本,給項(xiàng)目帶來(lái)額外支出。若利用硬件描述語(yǔ)言進(jìn)行開(kāi)發(fā),則具有資源利用少、可移植性強(qiáng)、便于擴(kuò)展和維護(hù)的優(yōu)點(diǎn),因此本文使用硬件描述語(yǔ)言開(kāi)發(fā)協(xié)議棧。

    2 WR時(shí)鐘同步技術(shù)

    IEEE-1588協(xié)議又稱(chēng)PTP協(xié)議,旨在實(shí)現(xiàn)微秒到亞納秒的同步準(zhǔn)確度。2008年,IEEE推出了修訂版本,即PTPv2。PTPv2采用定時(shí)鏈路與數(shù)據(jù)鏈路復(fù)用的方式,提高鏈路利用率。同時(shí),其也是一種主從結(jié)構(gòu)的時(shí)鐘同步系統(tǒng),即同步過(guò)程中需要先選定一個(gè)主站,然后從站的本地時(shí)鐘根據(jù)收到的主站同步報(bào)文計(jì)算時(shí)間延遲,同步過(guò)程[13]如圖2所示。

    圖2 PTPv2同步報(bào)文交換過(guò)程

    PTPv2同步報(bào)文交換過(guò)程具體如下:

    1)t1時(shí)刻,主站發(fā)送Sync報(bào)文到從站,從站記錄收到該報(bào)文的t2時(shí)刻。

    2)主站將時(shí)間戳t1嵌入Follow_up報(bào)文中,并發(fā)送至從站。

    3)從站發(fā)送Delay_Req報(bào)文至主站,并記錄發(fā)送時(shí)刻t3。

    4)主站記錄收到Delay_Req報(bào)文的時(shí)刻t4,并將其嵌入Delay_Resp報(bào)文,發(fā)送至從站。

    從站根據(jù)這4個(gè)時(shí)間戳計(jì)算出鏈路傳輸延時(shí)和主從時(shí)鐘的偏差,對(duì)本地時(shí)鐘進(jìn)行補(bǔ)償。鏈路往返延遲為:

    dround_trip=(t4-t1)-(t3-t2)

    (1)

    假設(shè)鏈路完全對(duì)稱(chēng),即主到從t-ms和從到主t-sm時(shí)間相等,則單向的傳輸延時(shí)為:

    (2)

    主從時(shí)鐘的偏差為:

    (3)

    然而PTPv2仍然存在一些限制,影響其授時(shí)精度:

    1)主從時(shí)間差受限于時(shí)間戳的精度,以千兆以太網(wǎng)為例,其時(shí)鐘頻率為125 MHz,時(shí)間戳精度只能達(dá)到8 ns。

    2)主從站的時(shí)鐘為單獨(dú)運(yùn)行,各自振蕩器存在一定偏差,因此需要增加發(fā)送同步報(bào)文的頻率,以便及時(shí)進(jìn)行補(bǔ)償,但是這會(huì)給通信帶來(lái)負(fù)荷。

    3)PTPv2將鏈路等效為對(duì)稱(chēng)鏈路,而實(shí)際鏈路中存在諸多不對(duì)稱(chēng)性,影響同步效果。

    CERN的工程師們提出了完全兼容PTPv2協(xié)議的WRPTP協(xié)議,通過(guò)增加物理層對(duì)同步以太網(wǎng)的支持、時(shí)鐘相位測(cè)量和WR同步鏈路模型解決以上問(wèn)題。

    2.1 同步以太網(wǎng)

    對(duì)于標(biāo)準(zhǔn)以太網(wǎng),各節(jié)點(diǎn)均對(duì)等且獨(dú)立運(yùn)行,而對(duì)于同步以太網(wǎng),各節(jié)點(diǎn)構(gòu)成一個(gè)樹(shù)形的時(shí)鐘網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖3所示[14]。樹(shù)形網(wǎng)絡(luò)的根節(jié)點(diǎn)作為整個(gè)網(wǎng)絡(luò)的頻率源,子節(jié)點(diǎn)通過(guò)數(shù)據(jù)時(shí)鐘恢復(fù)(Clock and Data Recovery,CDR)技術(shù),從根節(jié)點(diǎn)發(fā)送過(guò)來(lái)的數(shù)據(jù)流中恢復(fù)出同頻時(shí)鐘,使得整個(gè)網(wǎng)絡(luò)所有設(shè)備的頻率均與根節(jié)點(diǎn)保持同步。

    圖3 標(biāo)準(zhǔn)以太網(wǎng)和同步以太網(wǎng)拓?fù)浣Y(jié)構(gòu)

    2.2 數(shù)字雙混頻鑒相器

    圖4為WR數(shù)字雙混頻鑒相器工作原理[14],clkA和clkB分別代表本地時(shí)鐘和數(shù)據(jù)流中的恢復(fù)時(shí)鐘,它們之間的頻率相同但相位有差異。

    圖4 數(shù)字雙混頻鑒相器工作原理

    為測(cè)量相位差,引入外部鎖相環(huán)產(chǎn)生的輔助時(shí)鐘信號(hào)fPLL,該時(shí)鐘信號(hào)與被測(cè)信號(hào)clkA和clkB有較小的差異:

    (4)

    通過(guò)測(cè)量D觸發(fā)器輸出信號(hào)的相位差就可計(jì)算出被測(cè)信號(hào)的相位差:

    (5)

    其中,pDMTD是D觸發(fā)器輸出信號(hào)的相位差,即被測(cè)相位差的時(shí)間分辨提高至N+1倍。

    2.3 WR同步鏈路模型

    WR技術(shù)采用單光纖復(fù)用方法進(jìn)行傳輸,WR同步鏈路模型[14]包括主設(shè)備(Master)、光纖鏈路(Link)和從設(shè)備(Slave),如圖5所示。鏈路總延時(shí)包括主從設(shè)備的發(fā)送延時(shí)ΔTXM、ΔTXS和接收延時(shí)ΔRXM、ΔRXS,光纖鏈路的傳輸延時(shí)為δMS、δSM。

    圖5 WR同步鏈路模型

    光纖對(duì)不同波長(zhǎng)光的折射率不同,導(dǎo)致δMS和δSM有差異,WR定義光纖不對(duì)稱(chēng)系數(shù)α描述δMS和δSM的關(guān)系:

    (6)

    根據(jù)相對(duì)標(biāo)定法確定ΔTXM、ΔTXS、ΔRXM、ΔRXS和α值,在實(shí)際應(yīng)用時(shí)無(wú)需再次標(biāo)定。由WR標(biāo)定手冊(cè)[15]的公式推導(dǎo)可知,WR技術(shù)能實(shí)現(xiàn)標(biāo)定后的設(shè)備優(yōu)于1 ns的同步準(zhǔn)確度[16]。

    3 WR時(shí)鐘同步網(wǎng)絡(luò)

    WR時(shí)鐘同步網(wǎng)絡(luò)由時(shí)鐘頻率源、WR交換網(wǎng)和授時(shí)節(jié)點(diǎn)三部分組成,采用樹(shù)形拓?fù)浣Y(jié)構(gòu)[14](如圖6所示),其中,時(shí)鐘頻率源為根節(jié)點(diǎn),授時(shí)節(jié)點(diǎn)為葉節(jié)點(diǎn)。

    圖6 WR時(shí)鐘同步網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)

    WR交換網(wǎng)由若干WR交換機(jī)(WR Switch,WRS)組成,每臺(tái)WRS共有18個(gè)端口,分為兩類(lèi):端口1為上行端口,端口2~18為下行端口。WRS可以根據(jù)具體應(yīng)用的需求,通過(guò)上行端口與上級(jí)WR交換機(jī)級(jí)聯(lián),實(shí)現(xiàn)與上級(jí)WRS同步,通過(guò)下行端口對(duì)下級(jí)設(shè)備進(jìn)行授時(shí)。時(shí)鐘頻率源由GPS授時(shí)設(shè)備、原子鐘和具有使能根時(shí)鐘功能的WRS組成,借助GPS和原子鐘、WRS與UTC進(jìn)行時(shí)間同步,即整個(gè)時(shí)鐘網(wǎng)絡(luò)的節(jié)點(diǎn)可以獲得絕對(duì)時(shí)間。對(duì)于無(wú)需絕對(duì)時(shí)間或是同步精度不高的應(yīng)用,可以省略這兩部分。

    授時(shí)節(jié)點(diǎn)是時(shí)鐘分配系統(tǒng)的授時(shí)終端,能夠從WR時(shí)鐘網(wǎng)絡(luò)內(nèi)部獲得高精度的同步時(shí)鐘。在大型物理實(shí)驗(yàn)中,前端電子學(xué)還要完成對(duì)探測(cè)器信號(hào)的讀取、配置等功能。WR雖然提供板卡來(lái)完成高精度時(shí)鐘的同步功能,但是會(huì)增加電子學(xué)的成本。因此,LHAASO KM2A采取將WR邏輯和用戶(hù)邏輯集成在同一片F(xiàn)PGA的方法,降低了大規(guī)模使用WR設(shè)備時(shí)的開(kāi)銷(xiāo)。在數(shù)據(jù)傳輸方面,WR技術(shù)僅支持千兆以太網(wǎng)物理層和鏈路層,其他高層協(xié)議需用戶(hù)自行開(kāi)發(fā)。因此,本文在WR的基礎(chǔ)上開(kāi)發(fā)了一套利用硬件描述編寫(xiě)的TCP/IP協(xié)議棧,實(shí)現(xiàn)數(shù)據(jù)網(wǎng)絡(luò)與時(shí)鐘網(wǎng)絡(luò)的復(fù)用。

    4 基于WRPC的TCP/IP協(xié)議棧

    在網(wǎng)絡(luò)所使用的各種協(xié)議中經(jīng)常提及的TCP/IP不一定單指這兩個(gè)協(xié)議,而表示整個(gè)因特網(wǎng)使用的TCP/IP協(xié)議族[17]。在通常情況下,TCP/IP被認(rèn)為是一個(gè)4層協(xié)議系統(tǒng),包括鏈路層、網(wǎng)絡(luò)層、運(yùn)輸層和應(yīng)用層[10],如圖7所示。TCP/IP是一個(gè)開(kāi)放性的通信協(xié)議規(guī)范,即使計(jì)算機(jī)之間有不同的物理特性或運(yùn)行著不同的操作系統(tǒng),也可以通過(guò)此協(xié)議來(lái)完成數(shù)據(jù)交換。

    圖7 TCP/IP協(xié)議族的層次結(jié)構(gòu)

    標(biāo)準(zhǔn)TCP/IP協(xié)議棧內(nèi)容復(fù)雜,因?yàn)槿魏我粋€(gè)終端要與其他節(jié)點(diǎn)在各種各樣的網(wǎng)絡(luò)形式中通信,都需要不同的控制協(xié)議。但是對(duì)于LHAASO實(shí)驗(yàn),每個(gè)電子學(xué)板具有獨(dú)立的IP地址,通過(guò)WR交換機(jī)進(jìn)行連接,形成一個(gè)封閉的本地網(wǎng)絡(luò),其網(wǎng)絡(luò)形式比較簡(jiǎn)單。數(shù)據(jù)傳輸?shù)哪康闹饕菍⒚總€(gè)電子學(xué)板的數(shù)據(jù)高效可靠地傳輸給后端DAQ系統(tǒng),數(shù)據(jù)網(wǎng)絡(luò)不需要過(guò)多的控制協(xié)議,因此可簡(jiǎn)化協(xié)議棧。本文設(shè)計(jì)精簡(jiǎn)了標(biāo)準(zhǔn)協(xié)議棧,只保留和PC通過(guò)Socket通信所必備的協(xié)議。

    圖8為基于WRPC(WR PTP Core)的TCP/IP協(xié)議??驁D,包括協(xié)議棧主體部分、WRPC和接口邏輯。協(xié)議棧主體是整個(gè)傳輸系統(tǒng)中最重要的組成部分,其控制電子學(xué)插件和DAQ系統(tǒng)的通信。接口邏輯完成協(xié)議棧和WRPC之間的數(shù)據(jù)轉(zhuǎn)換寬度。

    圖8 基于WRPC的TCP/IP協(xié)議??驁D

    4.1 數(shù)據(jù)解析(Parser)模塊

    Parser模塊需要根據(jù)RFC 894[18]的規(guī)定解析收到的以太網(wǎng)幀,并按照協(xié)議類(lèi)型字段,將解析出的各字段遞交到其他協(xié)議模塊中。在數(shù)據(jù)格式解析過(guò)程中,需要檢查幀的合法性,計(jì)算IP、TCP和UDP協(xié)議的校驗(yàn)和。此外,Parser需記錄每條鏈路兩個(gè)端點(diǎn)的相關(guān)信息(如表2所示),并將這些信息送往其他協(xié)議模塊進(jìn)行后續(xù)處理。

    表2 Parser模塊需解析的鏈路參數(shù)

    4.2 TCP模塊

    TCP[19]模塊是協(xié)議棧中最重要的模塊,圖9為T(mén)CP模塊的邏輯框圖,由TCP_FSM、TCP_TXBUF、TCP_RXBUF和Packet Generator 4個(gè)子模塊構(gòu)成。

    圖9 TCP模塊邏輯框圖

    TCP_FSM是TCP模塊的核心內(nèi)容,是一個(gè)狀態(tài)機(jī),完成TCP的狀態(tài)轉(zhuǎn)換邏輯。圖10為T(mén)CP/IP協(xié)議棧的狀態(tài)轉(zhuǎn)換圖,工作在服務(wù)器模式,連接的建立與釋放、擁塞控制、數(shù)據(jù)校驗(yàn)等功能均在此模塊控制下完成。在經(jīng)過(guò)Parser模塊解析后,將協(xié)議類(lèi)型為T(mén)CP的數(shù)據(jù)發(fā)送到該模塊,其中只有MAC地址、IP地址、TCP端口號(hào)及校驗(yàn)和正確的報(bào)文,TCP_FSM模塊才進(jìn)行下一步的解析工作,例如檢查標(biāo)志位(RX_TCP_FLAGS)、確認(rèn)本報(bào)文的含義等。在每次發(fā)送一個(gè)包后,計(jì)時(shí)器開(kāi)啟,當(dāng)ACK收取超時(shí)時(shí),TCP_FSM啟動(dòng)自動(dòng)重傳操作;同樣,在收到3個(gè)相同的ACK時(shí),重傳邏輯也會(huì)開(kāi)始工作。

    圖10 TCP FSM狀態(tài)轉(zhuǎn)換

    TCP_TXBUF的本質(zhì)為一塊RAM,用來(lái)緩存本地應(yīng)用層發(fā)送的數(shù)據(jù),配置為16 KB、32 KB、64 KB。在CONNECTED_FLAG信號(hào)置1時(shí),應(yīng)用層向緩存內(nèi)寫(xiě)數(shù)據(jù)。當(dāng)緩存滿(mǎn)時(shí),外部電路在128個(gè)時(shí)鐘內(nèi)停止寫(xiě)操作。當(dāng)緩存內(nèi)的數(shù)據(jù)長(zhǎng)度超過(guò)最大報(bào)文長(zhǎng)度(Maximum Segment Size,MSS)或是200 μs內(nèi)沒(méi)有再向緩存內(nèi)寫(xiě)數(shù)據(jù)時(shí),TCP_TXBUF會(huì)向TCP_FSM提出發(fā)送請(qǐng)求。發(fā)送數(shù)據(jù)的長(zhǎng)度取決于接收窗口的大小、MSS和緩存內(nèi)數(shù)據(jù)量的最小值。

    Packet Generator在收到TCP_FSM的使能信號(hào)后,先將Parser[18]模塊發(fā)送的鏈路信息鎖存,之后按照RFC 894的要求組裝以太網(wǎng)幀,添加TCP、IP、Ethernet的各級(jí)首部,計(jì)算協(xié)議首部中校驗(yàn)和字段的內(nèi)容,并根據(jù)仲裁結(jié)果發(fā)送數(shù)據(jù)。

    TCP_RXBUF模塊用于存儲(chǔ)經(jīng)過(guò)校驗(yàn)后由其他設(shè)備發(fā)向本節(jié)點(diǎn)的數(shù)據(jù),可配置為8 KB、16 KB、32 KB。當(dāng)緩存非空時(shí),外部電路可以讀取緩存內(nèi)的數(shù)據(jù)。

    對(duì)于TCP模塊,只有在計(jì)算TCP首部的校驗(yàn)和字段時(shí),需要對(duì)有效載荷部分進(jìn)行操作,在組裝協(xié)議首部時(shí)并不會(huì)使用其余各層協(xié)議的數(shù)據(jù)。因此,為避免大量數(shù)據(jù)在組包時(shí)移動(dòng)對(duì)協(xié)議棧實(shí)時(shí)性帶來(lái)影響[20],采取有效載荷和協(xié)議首部分別組裝的方法,即Packet Generator僅用來(lái)組裝各級(jí)協(xié)議的首部,有效載荷緩存在TCP_TXBUF內(nèi),在確定發(fā)送數(shù)據(jù)量后,TCP_TXBUF會(huì)先計(jì)算此部分?jǐn)?shù)據(jù)的校驗(yàn)和,之后將有效載荷的長(zhǎng)度和校驗(yàn)和發(fā)送給Packet Generator,用于TCP首部的組裝。

    4.3 UDP模塊

    UDP[21]模塊完成UDP協(xié)議的功能,圖11為UDP模塊的系統(tǒng)框圖。Parser模塊將解析后帶有UDP標(biāo)記的報(bào)文輸入該模塊,進(jìn)行報(bào)文校驗(yàn)。當(dāng)應(yīng)用層有數(shù)據(jù)發(fā)送時(shí),將數(shù)據(jù)封裝成UDP用戶(hù)數(shù)據(jù)報(bào)文。

    圖11 UDP模塊系統(tǒng)框圖

    本文設(shè)計(jì)由于面向高能物理實(shí)驗(yàn),為方便配置指令的傳輸,需簡(jiǎn)化電子學(xué)上電時(shí)的寄存器配置方式。配置指令采用UDP協(xié)議發(fā)送[12],使探測(cè)器數(shù)據(jù)和配置指令相分離。具體的組包格式如圖12所示,PC將配置指令按照要求的格式打包發(fā)送至協(xié)議棧,在Parser模塊解析完畢且驗(yàn)證格式正確后,Configuration_Parser對(duì)指令含義進(jìn)行分析,確定PC端所要求執(zhí)行的操作。操作執(zhí)行完畢后生成ACK數(shù)據(jù),將其封裝為UDP格式的報(bào)文返回至PC,PC收到報(bào)文后即可確認(rèn)此條指令已發(fā)送成功。由于UDP是不可靠的運(yùn)輸層協(xié)議,節(jié)點(diǎn)發(fā)送的確認(rèn)報(bào)文通過(guò)UDP傳輸,也有丟失的可能性,因此PC端應(yīng)增加計(jì)時(shí)器,當(dāng)接收回饋超時(shí)后啟動(dòng)指令重傳操作。UDP模塊為可選模塊,在FPGA資源緊張的情況下,可刪除UDP模塊,僅保留TCP模塊并將其作為數(shù)據(jù)傳輸通道。

    圖12 配置指令的組包格式

    為避免模塊間的沖突,當(dāng)TCP和UDP同時(shí)請(qǐng)求發(fā)送數(shù)據(jù)時(shí),由仲裁模塊確定優(yōu)先工作的模塊。

    4.4 WRPC實(shí)現(xiàn)

    時(shí)鐘同步功能由固件中的WRPC實(shí)現(xiàn)[13],此外WRPC也兼容1000Base-Lx數(shù)據(jù)傳輸標(biāo)準(zhǔn),用戶(hù)定義模塊可以通過(guò)WR Fabric[22]接口發(fā)送和接收以太網(wǎng)幀。WRPC還實(shí)現(xiàn)了部分網(wǎng)絡(luò)層協(xié)議,如ARP、ICMP、IGMP[23]。每個(gè)時(shí)鐘周期,WRPC以16 bit傳輸數(shù)據(jù),而協(xié)議棧模塊以8 bit傳輸數(shù)據(jù),因此需要在協(xié)議棧模塊與WRPC之間增加一級(jí)FIFO進(jìn)行寬度轉(zhuǎn)換[22],即為圖8中的Interface部分。WRPC收到數(shù)據(jù)后計(jì)算FCS,然后通過(guò)FPGA的GTP接口發(fā)送至WR網(wǎng)絡(luò)。

    5 測(cè)試結(jié)果

    5.1 測(cè)試平臺(tái)搭建

    為測(cè)試TCP/IP帶寬,在實(shí)驗(yàn)室內(nèi)搭建如圖13所示的測(cè)試平臺(tái)。

    圖13 實(shí)驗(yàn)室測(cè)試平臺(tái)

    ED讀出電子學(xué)通過(guò)四臺(tái)級(jí)聯(lián)的WRS連接PC。TCP/IP測(cè)試程序運(yùn)行在ED讀出電子學(xué)插件上,插件和PC分別作為T(mén)CP的服務(wù)器和客戶(hù)端。電子學(xué)板上只有一片Xilinx Spartan6-100T FPGA,測(cè)試邏輯的主時(shí)鐘為125 MHz。設(shè)置TCP/IP協(xié)議棧的發(fā)送緩存為16 KB,接收緩存是2 KB。測(cè)試數(shù)據(jù)為32 bit循環(huán)累加數(shù),上位機(jī)通過(guò)調(diào)整累加間隔,改變測(cè)試板上傳的數(shù)據(jù)量。上位機(jī)程序運(yùn)行在CentOS 7系統(tǒng)中,需發(fā)送累加間隔指令,讀取Socket并檢查收到的數(shù)據(jù)。此外,上位機(jī)還需每秒鐘統(tǒng)計(jì)協(xié)議棧的發(fā)送帶寬,當(dāng)有錯(cuò)誤發(fā)生時(shí),log文件會(huì)輸出錯(cuò)誤信息。在該測(cè)試中的最大報(bào)文長(zhǎng)度為1 460 Byte的TCP報(bào)文。

    5.2 帶寬測(cè)試

    圖14為T(mén)CP/IP協(xié)議棧性能測(cè)試結(jié)果,目前測(cè)試得到的平均速率約為477.9 Mb/s。對(duì)于ED探測(cè)器,平均數(shù)據(jù)率為352 kb/s,MD探測(cè)器讀出電子學(xué)平均數(shù)據(jù)量約為2.2 Mb/s,TCP/IP協(xié)議棧傳輸速率滿(mǎn)足項(xiàng)目需求。

    圖14 ED測(cè)試插件向PC發(fā)送的數(shù)據(jù)量隨時(shí)間的變化情況

    圖15表示當(dāng)數(shù)據(jù)以最大速率傳輸時(shí),ED電子學(xué)插件與WRS1的秒脈沖(Pulse Per Second,PPS)信號(hào)偏差的分布。由于PPS信號(hào)由WR設(shè)備的本地時(shí)鐘驅(qū)動(dòng)計(jì)數(shù)器產(chǎn)生,因此可用WR設(shè)備PPS信號(hào)前沿代表其本地時(shí)鐘的前沿,即PPS信號(hào)的偏差可以用來(lái)表示W(wǎng)R設(shè)備間的同步精度[14]。由圖15可知,測(cè)試期間PPS偏差的均方根(Root Mean Square,RMS)值為19.48 ps,滿(mǎn)足陣列同步精度RMS小于500 ps的要求,說(shuō)明數(shù)據(jù)傳輸對(duì)于WR的時(shí)鐘同步?jīng)]有影響。

    圖15 ED讀出電子學(xué)插件與WRS1的PPS偏差

    5.3 資源利用率測(cè)試

    表3為基于WRPC的TCP/IP協(xié)議棧固件消耗的部分資源,綜合軟件為Xilinx ISE14.4,具有大量的資源集成用戶(hù)自定義邏輯。

    表3 基于WRPC的TCP/IP協(xié)議棧固件資源利用情況

    6 結(jié)束語(yǔ)

    本文以LHAASO KM2A實(shí)驗(yàn)為背景,借助WR技術(shù)和TCP/IP協(xié)議棧,實(shí)現(xiàn)高精度時(shí)間同步的數(shù)據(jù)傳輸方法。TCP/IP協(xié)議棧在簡(jiǎn)化原有協(xié)議棧的控制協(xié)議且僅保留PC通信協(xié)議的基礎(chǔ)上,無(wú)需增加額外硬件,即可實(shí)現(xiàn)高效可靠的數(shù)據(jù)傳輸和高精度時(shí)鐘同步,降低了系統(tǒng)復(fù)雜度、系統(tǒng)建設(shè)和維護(hù)成本,并提高了可靠性。測(cè)試結(jié)果表明,平均數(shù)據(jù)傳輸速率可達(dá)477.9 Mb/s,并未影響WR同步精度,滿(mǎn)足LHAASO KM2A讀出電子學(xué)系統(tǒng)對(duì)數(shù)據(jù)傳輸速率和時(shí)鐘同步的要求。該方案完全由硬件描述語(yǔ)言開(kāi)發(fā),可方便地?cái)U(kuò)展到其他多節(jié)點(diǎn)且具有時(shí)鐘同步需求的電子學(xué)應(yīng)用中,但目前協(xié)議棧的數(shù)據(jù)傳輸能力僅達(dá)千兆以太網(wǎng)上限的一半,因此提升協(xié)議棧帶寬將是下一步工作的重點(diǎn)。

    猜你喜歡
    電子學(xué)以太網(wǎng)報(bào)文
    基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
    《量子電子學(xué)報(bào)》征稿簡(jiǎn)則
    《量子電子學(xué)報(bào)》征稿簡(jiǎn)則
    《量子電子學(xué)報(bào)》征稿簡(jiǎn)則
    《量子電子學(xué)報(bào)》征稿簡(jiǎn)則
    基于1500以太網(wǎng)養(yǎng)豬場(chǎng)的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
    淺析反駁類(lèi)報(bào)文要點(diǎn)
    談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
    電子制作(2017年24期)2017-02-02 07:14:44
    ATS與列車(chē)通信報(bào)文分析
    新巴尔虎右旗| 工布江达县| 安新县| 邓州市| 施秉县| 明水县| 卫辉市| 将乐县| 益阳市| 天峨县| 丹凤县| 衡阳市| 正蓝旗| 澄江县| 中西区| 怀化市| 迭部县| 石家庄市| 靖安县| 马公市| 沅陵县| 原阳县| 新和县| 江口县| 津南区| 同德县| 云安县| 甘孜县| 祁门县| 临泉县| 石嘴山市| 福州市| 凤翔县| 裕民县| 浦江县| 邻水| 岳池县| 宁津县| 建宁县| 仁化县| 鹿泉市|