可擴充嵌入型網(wǎng)絡(luò)平臺
Xilinx提供彈性化以太網(wǎng)絡(luò)解決方案讓您能針對各種應(yīng)用的效能與成本需求開發(fā)客制化方案
本文引用地址:http://m.butianyuan.cn/article/80673.htm大多數(shù)的嵌入式產(chǎn)品都需要一個網(wǎng)絡(luò)或通信界面。由于具備低成本、普遍性、以及能透過像TCP/IP等通信協(xié)議連上因特網(wǎng)之特性,以太網(wǎng)絡(luò)(Ethernet)成為其中最廣為采用的網(wǎng)絡(luò)界面。
網(wǎng)絡(luò)子系統(tǒng)的需求,端視鎖定的應(yīng)用種類,而有相當(dāng)大的差異。簡單的遠程控制和監(jiān)控等應(yīng)用,每秒只需要傳送數(shù)千位的數(shù)據(jù);但反觀高階儲存或影音應(yīng)用,每秒則需要支持高達gigabit的流量。
嵌入式解決方案的一項重要考慮因素就是處理器、IP核心、以及軟件組件的高彈性與擴充能力
您的應(yīng)用可能在價位、效能、以及功能方面均面臨一系列的基本要求。在設(shè)計一款產(chǎn)品時,您必須在這些基本要求之間找出一個最好的平衡點。此外,在產(chǎn)品或設(shè)計周期中,為了因應(yīng)市場的變化,您的需求可能會產(chǎn)生變動。因此,您必須采用一個高彈性、可擴充的平臺來開發(fā)您的產(chǎn)品,能讓您針對各項設(shè)計隨時進行調(diào)整,而不必更換平臺或合作廠商。
本文將介紹各項應(yīng)用需求與網(wǎng)絡(luò)效能的關(guān)系,探討各項設(shè)計考慮因素,以及幾個能滿足需求的設(shè)計案例。
應(yīng)用需求
根據(jù)OSI標(biāo)準(zhǔn),Ethernet是一個實體層界面。在傳輸與網(wǎng)絡(luò)層中使用的各種通訊協(xié)議標(biāo)準(zhǔn)之間,TCP/IP通信協(xié)議套件是最常使用的標(biāo)準(zhǔn),也因此成為在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的現(xiàn)存業(yè)界標(biāo)準(zhǔn),尤其是在嵌入式系統(tǒng)方面。
為簡化之故,我們在本文以后的章節(jié)中,使用TCP負載流量作為評估性能的主要標(biāo)準(zhǔn)。表1列出幾個范例應(yīng)用與其TCP/IP負載流量的要求。
賽靈思嵌入式網(wǎng)絡(luò)解決方案
賽靈思嵌入式解決方案提供讓您開發(fā)各種嵌入式網(wǎng)絡(luò)系統(tǒng)的所有必要組件。賽靈思嵌入式解決方案的其中一項關(guān)鍵優(yōu)勢,就是處理器、IP核心、以及軟件組件的高彈性與擴充能力。您有充裕的彈性啟動或關(guān)閉處理器、IP核心、以及軟件平臺中較高階的功能,并微調(diào)許多獨立參數(shù),直到能在軟件層滿足各項應(yīng)用需求為止。
此外,攸關(guān)效能高低的軟件功能,可運用效能測試工具來找出,并運用適合的硬件加速器來分擔(dān)處理作業(yè)負載。
以下介紹3個范例是運用Xilinx Platform Studio(XPS),來設(shè)計Ethernet子系統(tǒng),以符合典型的應(yīng)用效能需求。每種設(shè)計含有不同的系統(tǒng)架構(gòu),包括處理器組態(tài)、以太網(wǎng)絡(luò)媒體存取控制組件(MAC) IP組態(tài)、以及內(nèi)存界面。
范例中還介紹這些硬件子系統(tǒng)可使搭配的各種TCP/IP軟件堆棧。由于硬件建置區(qū)塊與軟件層都入建客制化能力,您可根據(jù)應(yīng)用要求,逐步擴充或調(diào)降這些范例系統(tǒng)的效能。
Ethernet“Lite”子系統(tǒng)
圖1顯示的“Lite”網(wǎng)絡(luò)子系統(tǒng),足以支持遠程監(jiān)控或各種控制應(yīng)用的簡單網(wǎng)絡(luò)界面。在這類應(yīng)用中,TCP/IP效能需求相當(dāng)?shù)?少于1 Mbps),因此您可以使用小型的TCP/IP堆棧LwIP(輕量級網(wǎng)絡(luò)通訊協(xié)議堆棧),而不需使用實時操作系統(tǒng)(RTOS)。
您可以運用Ethernet“Lite”IP中的簡單輪詢模式來進行建置此系統(tǒng),而不被中斷。您也可以結(jié)合完整的軟件,包括一個簡單的應(yīng)用層,然后全部整合至Xilinx FPGA中的local memory。在這種基本網(wǎng)絡(luò)子系統(tǒng)中,您可加入其它必要的I/O界面,像是RS-232 UART與GPIO(如圖1所示)。
典型的快速Ethernet (10/100)子系統(tǒng)
您可經(jīng)由變更上述的最小規(guī)格系統(tǒng),以達到更高的TCP/IP處理流量(10~50 Mbps),以及轉(zhuǎn)移至更常見的10/100 Ethernet解決方案,如圖2所示。關(guān)鍵的變更包括:
把直接內(nèi)存存取(DMA)引擎加入至Ethernet MAC,成為由中斷驅(qū)動(interrupt-driven)的組件。
把外部內(nèi)存加入到系統(tǒng),將高速緩存加入處理器中。
使用更精密的TCP/IP堆棧,像是Linux操作系統(tǒng)中的uClinux。
您可運用XPS中的Base System Builder精靈,輕易開發(fā)出MICroBlaze?的設(shè)計。
高效能Gigabit Ethernet子系統(tǒng)
針對需要支持100 Mbps以上TCP/IP流量的應(yīng)用,您可以有效運用已預(yù)先內(nèi)建于幾款特定的Xilinx FPGA系列組件中的三模以太網(wǎng)絡(luò)媒體存取控制組件硬式IP(如圖3所示)。針對高階應(yīng)用所需的500 Mbps以上的流量,您必須運用像是分散/收集DMA(SGDMA)等許多先進的DMA技術(shù),搭配像是數(shù)據(jù)重新配置引擎(DRE)與檢查碼處理分流(CSO)等FPGA硬件加速器。
有幾款建置于Xilinx FPGA的高效能PowerPC? 405處理器,內(nèi)建16-Kb指令,并以450MHz運作頻率進行數(shù)據(jù)擷取,可支持各種軟件平臺,包括Linux、VxWorks、Integrity、以及QNX,讓您能運用各種高效能網(wǎng)絡(luò)界面來開發(fā)各類系統(tǒng)。
圖4比較先前討論的3種網(wǎng)絡(luò)子系統(tǒng)TCP/IP負載流量。Y軸的流量數(shù)據(jù)是對數(shù)值,以方便比較差距極大的效能值。
影響TCP效能的因素
許多因素會影響TCP效能,包括硬件與軟件方面。在一個系統(tǒng)中,這些相關(guān)因素會影響TCP的流量:
1. 處理器
頻率頻率:TCP/IP通信協(xié)議堆棧通常會先將使用者緩沖區(qū)的負載流量復(fù)制到由堆??刂频木彌_區(qū),然后再復(fù)制到以太網(wǎng)絡(luò)媒體存取控制組件的FIFO組件。當(dāng)在軟件中進行作業(yè)時,部份的內(nèi)存復(fù)制作業(yè)會用到處理器周期。處理器亦涉及到運算TCP的檢查碼,包括從內(nèi)存中讀取整個封包的數(shù)據(jù)。較快的處理器搭配較快的內(nèi)存,能在更短的時間內(nèi)執(zhí)行兩項作業(yè),并跟上數(shù)據(jù)傳輸?shù)乃俣取?/p>
特色:TCP/IP通信協(xié)議堆棧涉及到存取封包的表頭與負載流量。表頭處理作業(yè)中,典型的存取作業(yè)包括讀取表頭中特定的信息位,造成位移;且每個封包都須逐一處理加法、乘法的運算。在像MICroBlaze軟式處理器這類可組態(tài)處理器中,您必須啟用相關(guān)指令,來執(zhí)行位移緩存器或乘法運算,才能調(diào)校出更高的效能。
快取:一旦封包從以太網(wǎng)絡(luò)媒體存取控制組件復(fù)制到內(nèi)存后,就會被傳送至TCP/IP通信協(xié)議堆棧的各功能層進行處理。此時TCP/IP堆棧中的封包處理碼則進入執(zhí)行階段。把程序代碼與封包放在高速緩存的作法,能大幅提升處理器的效率,并增加Ethernet的頻寬。
2. 內(nèi)存
內(nèi)存存取時間與延遲對系統(tǒng)效能有極大的影響。典型的TCP/IP通信協(xié)議堆棧應(yīng)用,無法配合local memory程序與數(shù)據(jù)都是外部內(nèi)存的一部份。存取數(shù)據(jù)與指令所耗費的時間,對效能有極大的影響。內(nèi)存因素通常和快取容量有直接的關(guān)系。增加指令與數(shù)據(jù)的快取容量,將有助于縮短外部內(nèi)存的傳輸延遲與存取時間。
3. 以太網(wǎng)絡(luò)媒體存取控制組件
建置于FPGA的以太網(wǎng)絡(luò)媒體存取控制組件的外圍組件,在運作模式(無DMA與SGDMA相對問題)、封包FIFO的深度、DRE與CSO的支持能力、以及巨型訊框支持能力方面,都相當(dāng)提供相當(dāng)大的彈性。然而,上述每種選項被MAC組件所耗用的空間,將得以卸載處理器各項功能,進而增進效能。
4. TCP/IP通訊協(xié)議堆棧
最佳化與彈性的TCP/IP堆棧建置,是增進系統(tǒng)效能的重要因素。包括像在硬件中支持CSO、無復(fù)制作業(yè)的API(數(shù)據(jù)不必從應(yīng)用程序復(fù)制到堆棧緩沖區(qū))、以及配合應(yīng)用軟件需求的可組態(tài)堆棧選項等TCP/IP堆棧功能都有助于改進系統(tǒng)效能。
5. 信息大小
信息(應(yīng)用數(shù)據(jù))的大小是另一項影響效能的因素。信息愈小,TCP/IP通訊協(xié)議表頭(像是TCP、IP、以及Ethernet表頭)的耗用資源比例就愈高,能取得的資料流量也隨之降低。
結(jié)論
各種嵌入式應(yīng)用對網(wǎng)絡(luò)效能的需求有很大的差距,且會隨著產(chǎn)品生命周期的演進而有所改變。要設(shè)計出理想的產(chǎn)品來滿足各式各樣且持續(xù)演進的需求,您需要一種高彈性且可擴充的解決方案,針對您的應(yīng)用需求進行客制化。
賽靈思針對PowerPC與MicroBlaze處理器所開發(fā)的嵌入式解決方案,搭配陣容完備的工具與可客制化IP,協(xié)助您開發(fā)可擴充的網(wǎng)絡(luò)子系統(tǒng),并針對差異懸殊的各類應(yīng)用需求,自行規(guī)劃適合的效能。
評論