• 
    

    
    

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

      基于FPGA的千兆網(wǎng)絡(luò)端系統(tǒng)數(shù)據(jù)傳輸設(shè)計

      2023-04-06 14:49:36孟開元唐君妍曹慶年樓曉強(qiáng)
      電腦知識與技術(shù) 2023年5期
      關(guān)鍵詞:端系統(tǒng)可靠性

      孟開元 唐君妍 曹慶年 樓曉強(qiáng)

      關(guān)鍵詞:FPFA;千兆AFDX;端系統(tǒng);PCIe接口;可靠性

      0 引言

      隨著數(shù)據(jù)流和多媒體服務(wù)的增加,具有高功率、快速和多功能模塊的高性能網(wǎng)絡(luò)產(chǎn)品的市場容量也不斷增加。以太網(wǎng)在數(shù)據(jù)中心網(wǎng)絡(luò)中發(fā)揮著重要作用,在移動網(wǎng)絡(luò)、汽車、航空和制造業(yè)中有許多新的用武之地。尤其是在航空網(wǎng)絡(luò)領(lǐng)域,通常需要對各種飛行試驗過程中的關(guān)鍵數(shù)據(jù)進(jìn)行接收和存儲,對不同電子設(shè)備間高集成度、高效率、低成本、大容量的數(shù)據(jù)傳輸有著很廣泛的需求。

      AFDX網(wǎng)絡(luò)是一種雙余度網(wǎng)絡(luò),提高了傳輸速率,并且通過在AFDX網(wǎng)絡(luò)端系統(tǒng)中引入虛擬鏈路、冗余管理等概念,不斷優(yōu)化以太網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu),使網(wǎng)絡(luò)中的數(shù)據(jù)傳輸擁有更高的實時性、可靠性和確定性。目前,AFDX網(wǎng)絡(luò)在航空電子領(lǐng)域中大多采用百兆級別的速率[1],為了滿足傳輸網(wǎng)絡(luò)中更高更嚴(yán)格的速率要求,需要研究千兆級別的AFDX網(wǎng)絡(luò)時突破設(shè)備瓶頸的著力點。

      本設(shè)計給主機(jī)配置4線的PCIe2.0接口,以太網(wǎng)內(nèi)部連接選用RGMII接口連接模式,通過FPGA對發(fā)送和接收進(jìn)行邏輯控制來實現(xiàn)傳輸網(wǎng)絡(luò)中的可靠性數(shù)據(jù)傳輸功能,更適合需要千兆以太網(wǎng)的高速傳輸場合。

      1 AFDX 端系統(tǒng)介紹

      1.1 AFDX 端系統(tǒng)架構(gòu)

      AFDX端系統(tǒng)主要實現(xiàn)網(wǎng)絡(luò)體系結(jié)構(gòu)模型中的物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和傳輸層的功能[2]。

      物理層根據(jù)AFDX端系統(tǒng)中的兩路PHY芯片來實現(xiàn),每個PHY芯片都能提供一路以太網(wǎng)通信的接口。數(shù)據(jù)鏈路層的協(xié)議功能夠通過FPGA邏輯來實現(xiàn),負(fù)責(zé)完成端系統(tǒng)的虛擬鏈路調(diào)度功能和數(shù)據(jù)的冗余管理功能。網(wǎng)絡(luò)層和傳輸層的相應(yīng)協(xié)議完成對傳輸數(shù)據(jù)的封裝、拆解、分片、重組等。

      AFDX端系統(tǒng)在傳輸時還需保障數(shù)據(jù)的安全性和可靠性[3]。通過對端口和虛擬鏈路的相關(guān)配置,保障數(shù)據(jù)傳輸?shù)陌踩院蜏?zhǔn)確性,有效避免傳輸過程中以數(shù)據(jù)幀發(fā)生沖突;采用兩個獨立的冗余網(wǎng)絡(luò)進(jìn)行傳輸,避免數(shù)據(jù)在傳輸過程中發(fā)生丟失,進(jìn)一步提高了數(shù)據(jù)傳輸?shù)男?,保障了網(wǎng)絡(luò)傳輸?shù)母呖煽啃浴?/p>

      1.2 通信協(xié)議棧數(shù)據(jù)格式

      本文通過硬件描述語言實現(xiàn)UDP/IP協(xié)議棧,根據(jù)項目中對數(shù)據(jù)傳輸協(xié)議的實際功能需求,只實現(xiàn)UDP和IP協(xié)議,就能滿足高速以太網(wǎng)傳輸數(shù)據(jù)的穩(wěn)定和高速傳輸。

      在進(jìn)行數(shù)據(jù)傳輸時,消息數(shù)據(jù)會經(jīng)過每一層的協(xié)議棧,按照該層協(xié)議的數(shù)據(jù)包格式要求,逐層進(jìn)行封裝、打包。數(shù)據(jù)每經(jīng)過一層協(xié)議,都會在數(shù)據(jù)包的首部添加相應(yīng)包頭的信息,然后進(jìn)入下一層協(xié)議棧再重新封裝和打包。本設(shè)計首先在用戶數(shù)據(jù)前添加UDP 首部信息組成UDP數(shù)據(jù)報,UDP數(shù)據(jù)報再傳至網(wǎng)絡(luò)層,添加IP數(shù)據(jù)報的首部信息封裝成IP數(shù)據(jù)報,然后傳至以太網(wǎng)MAC 層封裝成以太網(wǎng)的標(biāo)準(zhǔn)數(shù)據(jù)幀格式,最后送到物理層進(jìn)行發(fā)送處理。以太網(wǎng)有效數(shù)據(jù)封裝為標(biāo)準(zhǔn)格式之后才能進(jìn)行傳輸,具體的UDP/IP 協(xié)議棧格式如圖1所示。

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

      2.1 整體架構(gòu)設(shè)計

      整個設(shè)計的模塊結(jié)構(gòu)主要劃分為主機(jī)PCIe接口、發(fā)送邏輯、接收邏輯、以太網(wǎng)接口和時鐘模塊。主機(jī)通過PCIe接口將創(chuàng)建的消息發(fā)出,經(jīng)過發(fā)送邏輯的控制,從以太網(wǎng)接口發(fā)出數(shù)據(jù)幀給交換機(jī),再發(fā)往其他設(shè)備;數(shù)據(jù)幀從以太網(wǎng)接口傳來,經(jīng)過接收邏輯的控制,再從PCIe接口傳入主機(jī)接收。系統(tǒng)整體架構(gòu)設(shè)計如圖2所示,圖中黑框部分需要通過FPGA邏輯來實現(xiàn)具體功能。

      2.2 時鐘設(shè)計

      1) 系統(tǒng)時鐘

      2.3 接口設(shè)計

      1) PCIe接口設(shè)計

      PCIe接口包括PCIe_DMA(由PCIe協(xié)議處理模塊和DMA模塊兩部分組成)、DMA_AHB模塊、寄存器模塊和時鐘復(fù)位模塊。PCIe協(xié)議處理模塊可以支持端點、根端口的工作模式;DMA模塊可以支持包DMA或塊DMA的工作模式[4]。

      MAC(媒體訪問控制)協(xié)議應(yīng)用于OSI參考模型中的數(shù)據(jù)鏈路層中,完成的功能是控制與連接物理層的物理介質(zhì)。PHY(端口物理層)屬于OSI協(xié)議中的物理層[6]。PHY與MAC控制器之間有多種連接接口可以選擇:十兆和百兆以太網(wǎng)通常采用MII、RMII接口;千兆以太網(wǎng)中通常采用GMII、RGMII等接口。相對于GMII與PHY接口連接,RGMII接口減少了接口管腳的數(shù)量,數(shù)據(jù)信號和控制信號減少,同時發(fā)送接收數(shù)據(jù)采用雙沿驅(qū)動,可以明顯地減少FPGA的I/O端口數(shù)量的占用,因此本設(shè)計采用RGMII接口。在1000M的傳輸速率下,使用125MHz的時鐘頻率。

      2.4 發(fā)送邏輯設(shè)計

      發(fā)送數(shù)據(jù)的具體流程如圖3所示:

      發(fā)送數(shù)據(jù)時,外部CPU在內(nèi)存中創(chuàng)建消息,通過主機(jī)PCIe接口訪問內(nèi)部寄存器,將消息的地址和長度等信息填入相關(guān)寄存器。系統(tǒng)按序自主完成通信協(xié)議棧中的UDP層、IP層、MAC層數(shù)據(jù)的封裝,最終組裝成標(biāo)準(zhǔn)的以太網(wǎng)數(shù)據(jù)幀后發(fā)送至以太網(wǎng)接口進(jìn)行傳輸。兩路網(wǎng)絡(luò)中復(fù)制相同的數(shù)據(jù)幀進(jìn)制進(jìn)行發(fā)送。

      虛鏈路是AFDX端系統(tǒng)通信的核心部分[7],虛鏈路之間需要實現(xiàn)邏輯獨立,這一要求通過對帶寬分配間隙進(jìn)行限制的方法來實現(xiàn)。當(dāng)端系統(tǒng)中需要完成多個發(fā)送任務(wù)時,調(diào)度器就會依據(jù)BAG進(jìn)行流量控制來防止數(shù)據(jù)幀在傳輸時發(fā)送沖突。AFDX端系統(tǒng)的這一功能是在數(shù)據(jù)鏈路層通過FPGA邏輯實現(xiàn)的。

      2.5 接收邏輯設(shè)計

      接收數(shù)據(jù)的具體流程如圖4所示:

      系統(tǒng)首先對從以太網(wǎng)接收的數(shù)據(jù)幀進(jìn)行冗余管理操作,采用“先到先有效”的算法,即第一個帶著有效順序號(Sequence Number,SN) 的數(shù)據(jù)幀將被系統(tǒng)網(wǎng)絡(luò)接收,并向上傳輸,通過協(xié)議棧的層層數(shù)據(jù)拆解將信息送達(dá)接收端口。但當(dāng)帶有相同順序號的第二個數(shù)據(jù)幀被傳進(jìn)網(wǎng)絡(luò)時,該幀將被丟棄,不能被網(wǎng)絡(luò)所接收。通過余度管理的檢測后,當(dāng)數(shù)據(jù)幀的目的尋址信息與系統(tǒng)配置的MAC接收地址相匹配時,才可以從以太網(wǎng)幀中刪除MAC頭部信息。移除MAC首部的幀為IP數(shù)據(jù)報,系統(tǒng)處理IP數(shù)據(jù)報報頭中包含的地址和控制信息,當(dāng)?shù)刂泛涂刂菩畔⑴c系統(tǒng)配置值相匹配時,系統(tǒng)才可以從IP數(shù)據(jù)報中刪除IP報頭。刪除IP報頭后,剩下的是UDP數(shù)據(jù)報,系統(tǒng)處理UDP數(shù)據(jù)報的地址和校驗和的值,當(dāng)?shù)刂放c系統(tǒng)配置的值相匹配且校驗和的值為0時,才可以從UDP數(shù)據(jù)報中刪除UDP報頭信息并將有效負(fù)載存儲起來等待端口接收。

      3 系統(tǒng)測試結(jié)果

      為了驗證在千兆以太網(wǎng)中的數(shù)據(jù)傳輸功能,使用Xilinx的ZYNQ7000系列的開發(fā)板進(jìn)行測試[8],板卡與主機(jī)PCIe接口相連,并通過Wireshark軟件進(jìn)行抓包來觀察實驗結(jié)果。為了方便觀察,將系統(tǒng)的發(fā)送和接收端口設(shè)置為同一個,即源地址和目的地址相同、源端口號和目的端口號相同。系統(tǒng)最終抓包測試結(jié)果如圖5、圖6所示。

      從測試結(jié)果圖可以看出,設(shè)計的系統(tǒng)可以進(jìn)行正常的數(shù)據(jù)報的收發(fā),即可完成網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)墓δ堋?/p>

      4 結(jié)論

      本文通過對AFDX端系統(tǒng)技術(shù)進(jìn)行分析和研究,在原有百兆AFDX 網(wǎng)絡(luò)的基礎(chǔ)上,提出一種基于FPGA 的千兆網(wǎng)絡(luò)端系統(tǒng)的設(shè)計方案,通過對千兆AFDX端系統(tǒng)結(jié)構(gòu)設(shè)計和數(shù)據(jù)傳輸邏輯設(shè)計的改進(jìn),實現(xiàn)了系統(tǒng)的數(shù)據(jù)傳輸功能,可以滿足更高可靠性、更高確定性和更高速率的大體量數(shù)據(jù)傳輸要求。經(jīng)過測試,數(shù)據(jù)傳輸模塊也能在以太網(wǎng)中正確收發(fā)千兆速率的網(wǎng)絡(luò)數(shù)據(jù),可以很好地應(yīng)對當(dāng)下航空網(wǎng)絡(luò)系統(tǒng)的高速率、大容量的數(shù)據(jù)傳輸需求,也具有較好的應(yīng)用前景和開發(fā)意義。

      猜你喜歡
      端系統(tǒng)可靠性
      一種PCIe接口AFDX端系統(tǒng)的設(shè)計與實現(xiàn)
      TTE時間觸發(fā)以太網(wǎng)技術(shù)在國產(chǎn)化平臺中的應(yīng)用
      MAXIMO系統(tǒng)在數(shù)控設(shè)備可靠性維護(hù)中的應(yīng)用
      冶金聯(lián)合循環(huán)機(jī)組汽機(jī)冷端系統(tǒng)運行優(yōu)化
      可靠性管理體系創(chuàng)建與實踐
      CentOS下AFDX端系統(tǒng)驅(qū)動設(shè)計與實現(xiàn)*
      一種PCI接口AFDX端系統(tǒng)模塊的設(shè)計與實現(xiàn)
      電子制作(2017年2期)2017-05-17 03:55:06
      基于CPCI系統(tǒng)的高速數(shù)字通信接口電路設(shè)計與應(yīng)用
      基于可靠性跟蹤的薄弱環(huán)節(jié)辨識方法在省級電網(wǎng)可靠性改善中的應(yīng)用研究
      電測與儀表(2015年6期)2015-04-09 12:01:18
      濉溪县| 广汉市| 丹巴县| 伊川县| 浮山县| 河北省| 雷波县| 卢湾区| 旺苍县| 呼图壁县| 保山市| 晋城| 上高县| 平昌县| 滦平县| 进贤县| 平武县| 台州市| 深圳市| 通山县| 富顺县| 富蕴县| 岢岚县| 苏尼特左旗| 平南县| 广州市| 涪陵区| 福建省| 休宁县| 玉环县| 剑阁县| 图木舒克市| 巩留县| 洪雅县| 昌图县| 白水县| 射阳县| 乌海市| 资兴市| 自贡市| 眉山市|