999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的千兆以太網數據通信接口設計與實現

2022-07-12 04:53:46魏曉艷
微型電腦應用 2022年5期

魏曉艷

(陜西國防工業職業技術學院,計算機與軟件學院, 陜西, 西安 710300)

0 引言

傳統的設備或系統平臺之間的數據通信通常由并行總線的方式實現,但隨著系統的集成化發展,算法日漸復雜,數據量日益增長,系統功能需要多個芯片協同處理共同支撐。這種情況下并行總線無法滿足數據吞吐量要求,對整體性能反而是一種制約。FPGA利用串行并行轉換、數據時鐘恢復等技術避免了傳輸過程中的時鐘扭曲以及信號衰退等因素的影響,實現了以太網接口的高速傳輸,為高速以太網接口提供了可靠的解決辦法。

1 核心技術簡介

1.1 以太網技術

以太網是目前局域網中最常見的通信協議標準,包括10 Mbps、 100 Mbps、1 000 Mbps、10 Gbps等。其中,千兆以太網作為高速以太網技術應用最為廣泛,既傳承了之前的技術優勢,又具備自身獨特特性,采用8B/10B編碼規則適應光纖傳輸要求,采用載波擴展技術實現距離覆蓋,采用幀突發技術提升效率。

根據OSI標準,基礎的七層網絡模型包括物理、數據鏈路、網絡、傳輸、會話、表示及應用層。在以太網的層次架構中,核心技術體現在數據鏈路層,主要包括接入控制MAC層、邏輯鏈路控制LLC層。MAC層主要實現將用戶自定義格式封裝為標準的以太網數據幀以及進行地址過濾實現訪問流量管控,是確保數據傳輸可靠性的關鍵。

1.2 FPGA技術

FPGA(Field-Programmable Gate Array)也稱為可編程門陣列,與傳統的微處理器相比,FPGA技術克服了定制電路的缺點,采用邏輯單元陣列的概念利用并行傳輸實現高速傳輸及信號處理,在資源復用、嵌入式處理器、微控單元方面應用廣泛。

2 需求分析及總體設計框架

2.1 簡化的UDP/IP以太網協議棧

目前TCP/IP網絡協議應用最廣,主要包括TCP、IP、IGMP、UDP等協議。TCP協議需完成3次握手且需要包括數據重傳,在硬件實現上難度較高。相對來說,UDP協議占用資源少,邏輯簡單,因此傳輸層選擇UDP協議,網絡層選擇IP協議用于格式封裝,同時去掉UDP和IP的首部,只保留數據包以降低硬件開銷[1]。基于簡化的UDP/IP協議棧的以太網格式如圖1所示。其中,傳輸層、網絡IP層、用戶層為處理用戶邏輯的上層協議,數據鏈路層為以太網MAC層。

圖1 簡化的協議棧格式

2.2 接口需求分析

FPGA利用自身硬件加速及并行處理的優勢在大規模信號處理方面應用廣泛,但對于復雜的數據處理并不擅長,但PC具備這種數據處理能力。基于此背景,設計一種嵌入式的數據通信接口將以太網接入系統平臺,通過高速以太網接口將數據傳送至PC,由PC完成復雜運算。利用Xilinx的TEMAC核結合自定義簡化協議棧,實現系統平臺與PC間的高速數據傳輸。

2.3 基于FPGA的高速以太網接口總體設計框架

為了完成整體的高速以太網數據通信接口,不僅要實現鏈路層的MAC控制和物理層的收發,還需要實現對用戶邏輯部分的上層協議處理。基于簡化后的UDP/IP協議棧,設計數據通信接口的總體框架包含3個部分:上層協議的數據包封裝與解析、數據鏈路層的MAC控制器、物理層的GTX收發器,設計框架如圖2所示。其中,物理層采用Xilink 7系列的FPGA中GTX收發器內置的串并轉換、線路編碼、時鐘修正以及數據恢復等功能電路實現物理層傳輸[2],因此本研究著重研究上層協議的數據包封裝與解析和數據鏈路層的MAC控制器。

圖2 高速以太網接口總體設計框架

3 上層協議的數據包封裝與解析

上層協議的用戶邏輯處理主要包括MAC地址過濾、存儲地址解析、自定義協議解析以及數據包封裝4個部分。MAC地址過濾只接收與FPGA端的MAC地址匹配的數據包以實現地址過濾;存儲地址解析實現PC端MAC的提取和儲存;自定義協議解析實現數據字節拆解,結合PC端MAC地址作為數據發送的目標地址;數據包封裝在創建初始數據幀的基礎上完成增加目標地址、幀類型等處理動作后進行數據傳輸。

3.1 MAC地址過濾

在數據幀rx_axis_mac_tdata中利用字段Address Field存儲接收數據目標主機的物理地址。rx_axis_mac_tvalid代表MAC輸出是否有效,FPGA端接收之后檢查目標地址pkt_mac_reg,判斷與自身地址my_mac相同則作為接收數據包去掉14個字節的幀頭接收之后的有效數據。不相同則進行復位[3]。整體過濾流程如圖3所示。

圖3 地址過濾流程

3.2 存儲地址解析

去掉14字節幀頭之后的有效數據存儲于64位寄存器out_cmd_i[63:0]之中,預先定義好存儲方式dest_mac_redister[47:0],比較out_cmd_i[63:0]中地址字節out_cmd_i[59:32]和預先地址字節ADD_DEST_MAC_L/H。如果與ADD_DEST_MAC_L相同,則FPGA端的數據包發送目標地址的低32位,如果與ADD_DEST_MAC_H相同,則FPGA端的數據包發送目標地址的高16位,最終解析出PC端的MAC地址,存儲在dest_mac_redister[47:0]之中。

3.3 自定義幀解析

去掉幀頭后的有效數據包括1個字節的操作類型OPCODE、1個字節的信道編碼Channel Num、4個字節的數據塊大小Block Size、4個字節的幀起始位置Start Address,34個字節的填充Zero Padding[4]。在接收到存儲地址解析模塊的PC端MAC地址,將其作為發送FPGA端的目標地址之后,讀取數據庫的幀字段里的Channel Num、Start Address、Block Size字段,將這3個字段加在數據包前端作為控制信息后發送響應包至PC端。

3.4 數據包封裝

由于以太網的數據鏈路層最終輸出是8位的GMII數據,因此需將64位數據進行拆分,每個時鐘周期傳輸8位,以tx_axis_mac_tdata代表封裝好的標準數據幀,op_code代表操作類型,out_data_reg代表待發送數據包[5]。整體封裝過程如圖4所示。

圖4 數據包封裝過程

4 數據鏈路層高速以太網MAC控制器

數據鏈路層的高速以太網MAC控制器采用GTX串行收發器與外部PHY芯片進行連接,基于TEMAC嵌入式三態以太網MAC硬核實現,控制器整體實現過程如圖5所示。

圖5 以太網MAC控制器

(1) 接收接口:接收數據后判斷是否符合協議標準,去除添加區域,提供接收結果信號。

(2) 發送接口:在待發送數據前增加前導編碼Preamble、起始符SFD、校驗序列FCS以及填充字段Pad使數據滿足以太網幀的長度規范。

(3) 8 bit用戶接口:為了支持GMII接口協議,用戶接口采用8 bit接口。

(4) GMII接口:將數據轉換為GMII格式,簡化外部處理邏輯。

(5) PCS/PMA接口:與GTX收發器相連,將內部并行接口GMII轉換為串行接口SGMII,利用串行收發器與物理層芯片通信[6]。

(6) 管理接口:采用AXI4-Lite總線實現寄存器配置。

5 通信接口測試

為了驗證設計的高速以太網數據通信接口的功能以及性能,針對接口傳輸準確性以及傳輸性能2個方面進行了測試。PC端軟件采用VS軟件,在winpcap驅動的基礎上構建數據包。FPGA端采用26 MHz地寫時鐘,輸入數據流為416Mbps。對于傳輸的任意相鄰數據進行差值運算,相差為1則認為連續,沒有丟幀[7]。每個數據塊由204 800連續數據構成,每個數據為2字節,則數據塊大小為409 600bytes,得到輸出數據塊如下:

Blk Number=336

Prevblk last val=40204

currblk first val=40205

currblk 2nd val=40206

currblk 3rd val=40207

currblk 4 th val=40208

currblk last val=48396

Blk Number=337

Prevblk last val=48396

currblk first val=48397

currblk 2nd val=48398

currblk 3rd val=48399

currblk 4 th val=48400

currblk last val=56588

Blk Number=338

Prevblk last val=56588

currblk first val=56589

currblk 2nd val=56590

currblk 3rd val=56591

currblk 4 th val=56592

接下來將FPGA寫時鐘頻率分別定為30.72和61.44 MHz,利用WireShark抓包工具抓取數據并進行統計分析,根據數據包總數、丟包數、傳輸速率等信息判斷通信接口的性能情況[8]。在寫時鐘頻率為30.72 MHz時,理論上的傳輸速度應為30.72 MHz×16 bit=491.52 Mbps,實際傳輸速率為488.82 Mbit/s,丟包率為3.6×10-6。在寫時鐘頻率為61.44 MHz時,理論上的傳輸速度應為61.44 MHz×16 bit=983.04 Mbps,實際傳輸速率為942.21 Mbit/s,丟包率為0.23%。

由此可知,本研究設計的高速以太網數據通信接口在寫時鐘頻率為26 Mhz時未出現丟包現象,在30.72 MHz時丟包率很低幾乎可以忽略不計,在達到千兆極限的傳輸速率時,丟包率僅在0.23%,在預期范圍之內。

6 總結

本研究基于FPGA技術在簡化的UDP/IP協議棧的基礎上設計了高速以太網MAC控制器,并對用戶邏輯的數據包封裝及解析進行了詳細設計,經過測試驗證接口準確性高、性能優異。但協議棧相對簡單,TCP協議相較于UDP協議更為安全,后續將對TCP/IP協議棧進行深入研究,以期在硬件開銷允許的情況下實現更安全更復雜的通信接口。

主站蜘蛛池模板: 欧美a在线看| 国产精品尤物铁牛tv| 大香网伊人久久综合网2020| 天堂成人在线| a级毛片一区二区免费视频| 亚洲精品无码av中文字幕| 亚洲综合九九| 一级毛片基地| 亚洲欧美日韩成人高清在线一区| 日本午夜在线视频| 99ri国产在线| 美美女高清毛片视频免费观看| 亚洲成人动漫在线| 亚洲日韩图片专区第1页| 国产午夜小视频| a亚洲视频| 天天色综合4| 亚洲嫩模喷白浆| 午夜激情婷婷| 亚洲欧美极品| 18禁不卡免费网站| 国产swag在线观看| 久久精品国产精品国产一区| 国产丝袜无码精品| 国产一级特黄aa级特黄裸毛片| 亚瑟天堂久久一区二区影院| 国内精品小视频福利网址| 黄色网在线| 香蕉网久久| 国产一区二区三区在线精品专区| 色婷婷在线影院| 一区二区在线视频免费观看| 成人噜噜噜视频在线观看| 永久毛片在线播| 亚洲人妖在线| 狠狠色狠狠综合久久| 日韩 欧美 国产 精品 综合| 9啪在线视频| 特级aaaaaaaaa毛片免费视频| 四虎免费视频网站| 亚洲精品国产综合99| 日韩精品久久无码中文字幕色欲| 欧美日韩v| 久久亚洲国产最新网站| 91精选国产大片| 免费毛片视频| 2024av在线无码中文最新| 一级毛片不卡片免费观看| 毛片手机在线看| 精品日韩亚洲欧美高清a| 中文字幕有乳无码| 污污网站在线观看| 日本欧美视频在线观看| 亚洲精品天堂在线观看| 日本午夜影院| 国产va在线| 国产无码制服丝袜| 欧美激情综合一区二区| 毛片基地美国正在播放亚洲| 一区二区欧美日韩高清免费| 丝袜亚洲综合| 凹凸国产分类在线观看| 全色黄大色大片免费久久老太| 亚洲精品欧美日本中文字幕| 日韩午夜福利在线观看| 日本午夜视频在线观看| jijzzizz老师出水喷水喷出| 欧美精品不卡| 国产v精品成人免费视频71pao| 免费一级全黄少妇性色生活片| 男女男免费视频网站国产| 人妻一区二区三区无码精品一区| 中文字幕一区二区人妻电影| 91在线无码精品秘九色APP| 一级做a爰片久久免费| 亚洲国内精品自在自线官| 无码内射在线| 少妇精品久久久一区二区三区| 国产主播一区二区三区| 国产情侣一区| 99视频免费观看| 一区二区日韩国产精久久|