基于MPSoC的以太網(wǎng)接口設(shè)計與實現(xiàn)
研究了以太網(wǎng)在多核系統(tǒng)中的數(shù)據(jù)通訊,設(shè)計了以太網(wǎng)IP核到MPSoC網(wǎng)絡(luò)資源的硬件接口。闡述了設(shè)計中各模塊的實現(xiàn)功能和設(shè)計方法,通過仿真和FPGA驗證結(jié)果表明,以太網(wǎng)接口數(shù)據(jù)通訊具有實時和高吞吐率。實現(xiàn)了多核系統(tǒng)與網(wǎng)絡(luò)數(shù)據(jù)的信息傳遞,硬件設(shè)計結(jié)構(gòu)簡單、性能穩(wěn)定可靠。
本文引用地址:http://2s4d.com/article/266251.htm隨著電子信息技術(shù)發(fā)展,網(wǎng)絡(luò)通信在日常生活中應(yīng)用越來越廣泛,以太網(wǎng)技術(shù)經(jīng)歷了10 Mbit·s-1到10 Gbit·s-1的發(fā)展歷程。當前電子設(shè)備網(wǎng)絡(luò)化、多媒體技術(shù)、數(shù)字圖像處理技術(shù)成為研究的熱點,片上多核系統(tǒng)(Multi-processor system-on-chip,MPSoC)在復(fù)雜數(shù)字系統(tǒng)中成為主要的硬件結(jié)構(gòu)方案。這類系統(tǒng)通常用以太網(wǎng)完成數(shù)據(jù)通信,以太網(wǎng)接口設(shè)計與實現(xiàn)是一個關(guān)鍵部分。
數(shù)字系統(tǒng)規(guī)模不斷增大,隨著市場激烈競爭,系統(tǒng)開發(fā)周期要求也變得苛刻,目前,片上多核系統(tǒng)基于IP核的設(shè)計成為了主流趨勢。系統(tǒng)性能的提高,片上集成的處理器數(shù)量也不斷增多,基于網(wǎng)絡(luò)結(jié)構(gòu)的片上多核系統(tǒng)相比總線結(jié)構(gòu)的設(shè)計優(yōu)勢越來越顯著。Xilinx公司和Ahera公司開發(fā)的FPGA芯片針對不同型號,都提供了許多不同類型和不同功能的IP核。然而,復(fù)雜數(shù)字系統(tǒng),采樣FPGA實現(xiàn),在開發(fā)難度和成本上占有明顯優(yōu)勢。
1 MPSoC系統(tǒng)架構(gòu)
MPSo采用NoC(Network-on-Chip,NoC)通訊結(jié)構(gòu),處理器和IP核通過資源接口與網(wǎng)絡(luò)通訊。系統(tǒng)結(jié)構(gòu)如圖1所示,處理器與IP核采用總線通訊方式形成簇結(jié)構(gòu),簇、以太網(wǎng)模塊和DDR模塊通過資源接口與網(wǎng)絡(luò)進行通訊。圖中運算簇集成了兩個處理器,完成數(shù)據(jù)運算,轉(zhuǎn)置簇集成一個ARM控制器承擔(dān)數(shù)據(jù)的行與列交換,DDR模塊為片外存儲芯片的控制器,以太網(wǎng)承擔(dān)著系統(tǒng)的數(shù)據(jù)通訊模塊,主要實現(xiàn)系統(tǒng)的數(shù)據(jù)傳輸。
2 以太網(wǎng)接口設(shè)計
以太網(wǎng)模塊設(shè)計主要完成以太網(wǎng)控制器IP核用戶端接口協(xié)議與多核系統(tǒng)網(wǎng)路通訊協(xié)議的轉(zhuǎn)換。以太網(wǎng)接口硬件結(jié)構(gòu)設(shè)計如圖2所示,以太網(wǎng)控制器IP核為Xilinx公司ISE軟件例化生成的千兆網(wǎng)控制器。接收模塊完成系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)輸出到以太網(wǎng)控制器IP核用戶端數(shù)據(jù)輸入的協(xié)議轉(zhuǎn)換,發(fā)送模塊承擔(dān)以太網(wǎng)控制器用戶端數(shù)據(jù)輸出到網(wǎng)路數(shù)據(jù)輸入的協(xié)議匹配。網(wǎng)絡(luò)接口模塊為多核系統(tǒng)通訊資源接口。
2.1 幀格式定義
圖3所示為兩種協(xié)議的數(shù)據(jù)格式定義。以太網(wǎng)IP核用戶接口數(shù)據(jù)以幀格式定義數(shù)據(jù)的輸出或輸入,數(shù)據(jù)寬度為8位,幀數(shù)據(jù)長度范圍為64~1 518 Byte,在具體硬件設(shè)計中一般選擇固定數(shù)據(jù)長度傳輸,使硬件結(jié)構(gòu)設(shè)計簡單。具體格式如圖3(a)所示,先輸入的數(shù)據(jù)為目的網(wǎng)卡的網(wǎng)絡(luò)地址,數(shù)據(jù)長度為6Byte。其次是6 Byte的源片網(wǎng)絡(luò)地址。接著為幀傳輸定義的類型或數(shù)據(jù)傳輸長度,長度占2 Byte,數(shù)據(jù)長度通常在數(shù)據(jù)幀比較短情況指定。如0010,表示后面?zhèn)鬏數(shù)?6個數(shù)據(jù)是有效的,傳輸多余長度的數(shù)據(jù),以太網(wǎng)控制器IP核默認為無效數(shù)據(jù)。而采用類型定義來傳輸幀,在數(shù)據(jù)傳輸長度范圍內(nèi),結(jié)束控制信號以前的數(shù)據(jù)都表示為有效數(shù)據(jù)。文中選用512的固定數(shù)據(jù)傳輸長度和8 000標識的幀類型完成硬件設(shè)計。
網(wǎng)路接口數(shù)據(jù)包格式如圖3(b)所示,數(shù)據(jù)深度定義為變長,數(shù)據(jù)寬度為34位,為多核系統(tǒng)實時高效的數(shù)據(jù)傳輸提供良好的協(xié)調(diào)作用。第一個數(shù)據(jù)為系統(tǒng)網(wǎng)絡(luò)協(xié)議的路由包,其后一個數(shù)據(jù)為配置信息,稱為配置包。接著為不定長度有效數(shù)據(jù)包。有效數(shù)據(jù)包發(fā)送結(jié)束后,緊接著發(fā)送一個數(shù)據(jù)結(jié)束包。
網(wǎng)路數(shù)據(jù)包中不同包類型的格式定義,具體描述如圖4所示,數(shù)據(jù)高2位標識不同包格式類型。當高2位為11 B時,標識為路由包,其中第28~17位表示傳輸?shù)臄?shù)據(jù)長度,第16位到第9位定義數(shù)據(jù)源傳播的網(wǎng)絡(luò)坐標地址,低8位定義為數(shù)據(jù)通訊的目的網(wǎng)絡(luò)地址,剩下數(shù)據(jù)位定義為保留位。當高2位為10B時,標識為配置包,其他位根據(jù)通信需求,設(shè)置不同配置信息。當高2位為00B時,標識為數(shù)據(jù)包,剩余位為傳輸?shù)挠行?shù)據(jù)信息。當高2位為01B時,標識為結(jié)束包,其它位為保留位。
評論