基于MPSoC的以太網接口設計與實現
研究了以太網在多核系統中的數據通訊,設計了以太網IP核到MPSoC網絡資源的硬件接口。闡述了設計中各模塊的實現功能和設計方法,通過仿真和FPGA驗證結果表明,以太網接口數據通訊具有實時和高吞吐率。實現了多核系統與網絡數據的信息傳遞,硬件設計結構簡單、性能穩定可靠。
本文引用地址:http://www.104case.com/article/266251.htm隨著電子信息技術發展,網絡通信在日常生活中應用越來越廣泛,以太網技術經歷了10 Mbit·s-1到10 Gbit·s-1的發展歷程。當前電子設備網絡化、多媒體技術、數字圖像處理技術成為研究的熱點,片上多核系統(Multi-processor system-on-chip,MPSoC)在復雜數字系統中成為主要的硬件結構方案。這類系統通常用以太網完成數據通信,以太網接口設計與實現是一個關鍵部分。
數字系統規模不斷增大,隨著市場激烈競爭,系統開發周期要求也變得苛刻,目前,片上多核系統基于IP核的設計成為了主流趨勢。系統性能的提高,片上集成的處理器數量也不斷增多,基于網絡結構的片上多核系統相比總線結構的設計優勢越來越顯著。Xilinx公司和Ahera公司開發的FPGA芯片針對不同型號,都提供了許多不同類型和不同功能的IP核。然而,復雜數字系統,采樣FPGA實現,在開發難度和成本上占有明顯優勢。
1 MPSoC系統架構
MPSo采用NoC(Network-on-Chip,NoC)通訊結構,處理器和IP核通過資源接口與網絡通訊。系統結構如圖1所示,處理器與IP核采用總線通訊方式形成簇結構,簇、以太網模塊和DDR模塊通過資源接口與網絡進行通訊。圖中運算簇集成了兩個處理器,完成數據運算,轉置簇集成一個ARM控制器承擔數據的行與列交換,DDR模塊為片外存儲芯片的控制器,以太網承擔著系統的數據通訊模塊,主要實現系統的數據傳輸。

2 以太網接口設計
以太網模塊設計主要完成以太網控制器IP核用戶端接口協議與多核系統網路通訊協議的轉換。以太網接口硬件結構設計如圖2所示,以太網控制器IP核為Xilinx公司ISE軟件例化生成的千兆網控制器。接收模塊完成系統網絡數據輸出到以太網控制器IP核用戶端數據輸入的協議轉換,發送模塊承擔以太網控制器用戶端數據輸出到網路數據輸入的協議匹配。網絡接口模塊為多核系統通訊資源接口。

2.1 幀格式定義
圖3所示為兩種協議的數據格式定義。以太網IP核用戶接口數據以幀格式定義數據的輸出或輸入,數據寬度為8位,幀數據長度范圍為64~1 518 Byte,在具體硬件設計中一般選擇固定數據長度傳輸,使硬件結構設計簡單。具體格式如圖3(a)所示,先輸入的數據為目的網卡的網絡地址,數據長度為6Byte。其次是6 Byte的源片網絡地址。接著為幀傳輸定義的類型或數據傳輸長度,長度占2 Byte,數據長度通常在數據幀比較短情況指定。如0010,表示后面傳輸的16個數據是有效的,傳輸多余長度的數據,以太網控制器IP核默認為無效數據。而采用類型定義來傳輸幀,在數據傳輸長度范圍內,結束控制信號以前的數據都表示為有效數據。文中選用512的固定數據傳輸長度和8 000標識的幀類型完成硬件設計。

網路接口數據包格式如圖3(b)所示,數據深度定義為變長,數據寬度為34位,為多核系統實時高效的數據傳輸提供良好的協調作用。第一個數據為系統網絡協議的路由包,其后一個數據為配置信息,稱為配置包。接著為不定長度有效數據包。有效數據包發送結束后,緊接著發送一個數據結束包。

網路數據包中不同包類型的格式定義,具體描述如圖4所示,數據高2位標識不同包格式類型。當高2位為11 B時,標識為路由包,其中第28~17位表示傳輸的數據長度,第16位到第9位定義數據源傳播的網絡坐標地址,低8位定義為數據通訊的目的網絡地址,剩下數據位定義為保留位。當高2位為10B時,標識為配置包,其他位根據通信需求,設置不同配置信息。當高2位為00B時,標識為數據包,剩余位為傳輸的有效數據信息。當高2位為01B時,標識為結束包,其它位為保留位。
評論