<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 可擴展的嵌入式網(wǎng)絡平臺

          可擴展的嵌入式網(wǎng)絡平臺

          作者: 時間:2007-07-18 來源:網(wǎng)絡 收藏

          作者:Navanee Sundaramoorthy
          賽靈思產(chǎn)品營銷經(jīng)理
          navanee@xilinx.com

          Sathya Thammanur
          賽靈思軟件總工程師
          sathyanarayanan.thammanur@xilinx.com

          大多數(shù)嵌入式產(chǎn)品都需要某種形式的網(wǎng)絡或通信接口。以太網(wǎng)由于(Ethernet)成本低、幾乎無處不在,且可以利用TCP/IP等因特網(wǎng)協(xié)議連接因特網(wǎng),成為目前在嵌入式產(chǎn)品中應用最廣泛的網(wǎng)絡接口之一。

          根據(jù)目標應用的不同,網(wǎng)絡子系統(tǒng)的要求也變化相當大。簡單的遠程控制和監(jiān)控應用只需要每秒數(shù)千比特的傳輸能力,而高端應用則需要持續(xù)的每秒千兆比特的吞吐能力。

          賽靈思嵌入式解決方案的一個主要優(yōu)點就是其處理器、IP內核以及軟件組件的靈活性和可擴展能力

          任何應用都有包括、性能和功能在內的一組基本要求。而設計產(chǎn)品的過程中要在這些基本要求之間進行適當折衷。此外,在產(chǎn)品設計以及其生命中,為了適應市場情況,這些基本要求也會發(fā)生變化。因此,利用靈活可擴展的平臺實現(xiàn)產(chǎn)品設計非常重要,因為靈活可擴展的平臺允許在不改變平臺或供應商的情況下進行設計折衷和設計修改。

          在本文中,我們將討論與網(wǎng)絡性能相關的一些應用要求,相應的設計折衷,并給出滿足要求的一些設計實例。

          應用要求

          根據(jù)OSI標準,以太網(wǎng)屬于物理層接口。在用于傳輸和網(wǎng)絡層的多種協(xié)議標準中,TCP/IP協(xié)議組是最常用的標準,特別是在嵌入式系統(tǒng)中,已經(jīng)成為網(wǎng)絡傳輸?shù)氖聦崢藴省?/P>

          為簡單起見,在本文的其它部分,我們將使用TCP載荷作為性能比較的主要指標。表1列出了一些典型應用以及相應的TCP/IP載荷吞吐能力要求。

          賽靈思嵌入式網(wǎng)絡解決方案

          賽靈思嵌入式解決方案為您提供了構建范圍廣泛的嵌入式網(wǎng)絡子系統(tǒng)所需要的所有組件和資源。賽靈思嵌入式解決方案的一個主要優(yōu)點是其處理器、IP內核以及軟件組件的靈活性和可擴展能力。其強大的靈活性允許您根據(jù)需要開啟或禁止處理器、IP內核以及軟件平臺的高級功能,并且可以對許多獨立參數(shù)進行精細調整,直到在軟件級滿足應用的要求。

          此外,利用建模工具可以識別任何關鍵性能的軟件功能,并將其分流至適當?shù)挠布铀倨鱽硗瓿伞?/P>

          讓我們來分別看一下三種不同以太網(wǎng)子系統(tǒng)的例子。您可以利用Xilinx Platform Studio(XPS)完成設計,并滿足此類典型應用的性能要求。每種設計具有不同的系統(tǒng)架構,包括處理器配置、Ethernet MAC IP配置以及器接口。此外,這些例子中還突出了在這些硬件子系統(tǒng)中可以使用的不同TCP/IP軟件棧。由于硬件構建模塊和軟件層都是可定制的,因此您可以根據(jù)應用的需要對這些示例系統(tǒng)進行增減。



          表1:不同應用的網(wǎng)絡吞吐量要求

          簡化以太網(wǎng)子系統(tǒng)

          對于遠程監(jiān)視或控制應用中所需要的簡單網(wǎng)絡接口來說,如圖1所示的最小化網(wǎng)絡子系統(tǒng)就足夠了。在此類應用中,TCP/IP性能要求較低( 1兆比特/秒),因此可以使用LwIP(簡化版因特網(wǎng)協(xié)議棧),而不需要RTOS實時操作系統(tǒng)。

          MicroBlaze “Lite” Ethernet Subsystem:MicroBlaze以太網(wǎng)簡化子系統(tǒng)

          Local Memory:本地
          MicroBlaze Processor:MicroBlaze 處理器
          Ethernet Lite 簡化以太網(wǎng)

          圖 1.簡化以太網(wǎng)子系統(tǒng)

          利用不帶中斷的Ethernet Lite IP在簡單的查詢模式下實現(xiàn)設計就可以了。同時還可以將全部軟件,包括簡單的應用層,都存儲在Xilinx FPGA中的本地存儲器中。對于這一基本網(wǎng)絡子系統(tǒng),還可以增加其它需要的I/O接口,如RS-232 UART和GPIO。如圖1所示。

          典型的快速Ethernet (10/100) 子系統(tǒng)

          通過對前面的最小系統(tǒng)做一定的修改,可以實現(xiàn)如圖2所示的更為典型的10/100以及網(wǎng)解決方案,從而獲得更高的TCP/IP吞吐能力(10-50兆比特/秒)。主要的變化有:

          為Ethernet MAC增加直接存儲器訪問(DMA)引擎,實現(xiàn)中斷驅動方式。
          為系統(tǒng)增加外部存儲器,為處理器增加緩存。
          利用更復雜的TCP/IP棧,如Linux (μClinux)系統(tǒng)TCP/IP協(xié)議棧。

          利用XPS中的基本系統(tǒng)構建向導(Base System Builder wizard)可以容易地創(chuàng)建這樣的MicroBlaze設計。

          高性能千兆位以太網(wǎng)子系統(tǒng)

          對于需要100 兆比特/秒以及TCP/IP吞吐能力的應用,可以利用專用Xilinx FPGA系列器件中內建的三模式以太網(wǎng)MAC硬IP,如圖3所示。為獲得高端應用所需要的500+ 兆比特/秒吞吐能力,需要同時配合使用環(huán)形緩沖(scatter/gather)DMA(SGDMA)等高級DMA技術,以及數(shù)據(jù)對齊引擎(DRE)和校驗和分流(CSO)等FPGA硬加速器。

          幾款Xilinx FPGA器件上實現(xiàn)的高性能PowerPC 405內建了運行在450 MHz 的16-Kb指令和數(shù)據(jù)緩存,可以支持Linux、VxWorks、Integrity和QNX等軟件平臺,因此可設計出帶有高性能網(wǎng)絡接口的系統(tǒng)。

          MicroBlaze 10/100 Ethernet Subsystem:MicroBlaze 10/100 以太網(wǎng)子系統(tǒng)
          Local Memory:本地存儲器
          Cache:緩存
          MicroBlaze Processor:MicroBlaze 處理器
          External Memory Controller:外部存儲器控制器
          Interrupt Controller:中斷控制器
          Timer:定時器

          圖 2. 10/100以太網(wǎng)

          PowerPC Gigabit Ethernet Subsystem:PowerPC千兆比特以太網(wǎng)子系統(tǒng)
          Local Memory:本地存儲器
          Cache:緩存
          Timer:定時器
          External Memory Controller:外部存儲器控制器
          Interrupt Controller:中斷控制器

          圖 3 –千兆比特以太網(wǎng)

          Average TCP/IP Throughput(Logarithmic Scale):平均TCP/IP吞吐量(對數(shù)坐標)
          PowerPC Gigabit Ethernet Subsystem:PowerPC 千兆比特以太網(wǎng)子系統(tǒng)
          MicroBlaze 10/100 Ethernet μClinux
          MicroBlaze Ethernet Lite LwIP

          Sample Xilinx Networking Solutions:賽靈思網(wǎng)絡解決方案實例

          圖 4.不同賽靈思網(wǎng)絡解決方案性能比較

          圖4中的表對于前面所給出的三種網(wǎng)絡子系統(tǒng)的TCP/IP載荷吞吐能力進行了比較。需要指出的是,由于三種子系統(tǒng)性能差異巨大,因此Y軸采用的是對數(shù)坐標。

          影響TCP性能的因素

          許多因素都會影響到TCP性能,包括硬件和軟件。下面列出了這些會影響系統(tǒng)TCP吞吐能力的相關因素:

          1. 處理器

          a.頻率:TCP/IP協(xié)議通常需要將載荷從用戶緩存拷貝到協(xié)議??刂频木彺?,然后再將其拷貝到以太網(wǎng)MAC的FIFO中去。這些存儲器拷貝操作有些是以軟件方式完成的,因此需要處理器的處理。同時處理器還參與TCP校驗和的計算,計算過程中需要將整個數(shù)據(jù)包從存儲器讀出。更快的處理器配合更快的存儲器能在更短的時間內完成這些操作,從而可以保持較高的數(shù)據(jù)速率。
          b.功能:TCP/IP協(xié)議棧需要對數(shù)據(jù)包的頭和載荷進行訪問處理。做為頭處理的一部分,典型的訪問包括讀取頭信息的特定位。因此每個數(shù)據(jù)包的處理過程都需要一些移位、相加和簡潔操作。在可配置的MicroBlaze這樣的軟處理器中,必須開戶完成移位或乘法的指令才能獲得更高的性能。
          c.緩存:數(shù)據(jù)包從以太網(wǎng)MAC被拷貝到存儲器中之后,將會通過TCP/IP協(xié)議棧的不同層。然后TCP/IP棧中的數(shù)據(jù)包處理代碼會被執(zhí)行。將所有代碼和數(shù)據(jù)包讀到緩存中會大大提高處理器效率并提高以太網(wǎng)帶寬。

          2. 存儲器:存儲器訪問時間和延遲對于系統(tǒng)性能有巨大的影響。典型應用中,TCP/IP協(xié)議棧系統(tǒng)并不存儲在本地存儲器中,程序和數(shù)據(jù)存儲在外部存儲器中。存取數(shù)據(jù)和指令所花費的時間對于性能有很大影響。存儲器因素通常與緩存大小有關。提高指令和數(shù)據(jù)緩存大小有助于減輕外部存儲器延遲和存取時間所帶來的影響。

          3. 以太網(wǎng)MAC:在FPGA中實現(xiàn)的以及網(wǎng)MAC外設提供了很大的靈活性,特別是在工作模式(無DMA與SGDMA)、數(shù)據(jù)包FIFO深度、DRE支持、CSO支持以及巨型幀(jumbo frame)支持方面。這些功能中的每一項都會影響到MAC所需要的資源,以及其能夠從處理器分流的功能多少,從而對整體性能造成影響。

          4. TCP/IP協(xié)議棧:靈活的優(yōu)化TCP/IP協(xié)議棧是影響系統(tǒng)性能的重要因素。對硬件CSO和零拷貝API(數(shù)據(jù)不需要從應用拷貝到協(xié)議棧緩存)以及可配置棧選項等TCP/IP棧功能的支持都需要系統(tǒng)性能支持。

          5. 消息大小:消息(應用數(shù)據(jù))的大小是影響性能的另一個因素。隨著消息變小,TCP/IP協(xié)議頭(如TCP、IP和以太網(wǎng)頭)的開銷增加,從而會減小總體的數(shù)據(jù)載荷吞吐能力。

          結論

          嵌入式性能對網(wǎng)絡性能的要求差異很大,這些要求在產(chǎn)品生命中也在不斷演變。為了讓設計滿足范圍如此寬且在不斷變化的要求,需要靈活可擴展的解決方案。

          賽靈思公司的包括PowerPC 和 MicroBlaze處理器、全面的設計工具和可定制IP在內的嵌入式解決方案可幫助設計人員構建可擴展的網(wǎng)絡子系統(tǒng),其性能可以滿足范圍廣泛的不同應用的需要。

          有關這些網(wǎng)絡解決方案的更詳細信息,請參考賽靈思應用指南XAPP433、XAPP730、XAPP902和XAPP807。這些應用指南可從 www.xilinx.com/cn/apps下載。



          關鍵詞: 存儲 視頻 周期 價格

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();