讓我們來分別看一下可利用IP內核滿足典型應用性能要求的三種以太網子系統的例子。每種設計具有不同的系統架構:包括處理器配置、以太網 MAC IP配置以及存儲器接口。此外,這些例子還突出了可與這些硬件子系統配合使用的不同TCP/IP軟件協議棧。由于硬件構建模塊和軟件層都是可定制的,因此您可以根據應用的需要對這些系統進行增減。
簡化以太網子系統
對于遠程監視或控制應用中所需要的簡單網絡接口來說,如圖3所示的最小化網絡子系統就足夠了。在此類應用中,TCP/IP性能要求較低(<1Mbps),因此LwIP(簡化版互聯網協議棧)這樣的小TCP/IP協議棧(不需要RTOS實時操作系統)就足夠了。
圖3:規模最小的以太網系統。
這可以使用不間斷的以太網Lite IP在簡單的查詢模式下實現。全部軟件,包括簡單的應用層,可全部存儲在FPGA中的本地存儲器中。如圖3中所示,其它需要的I/O接口,RS-232 UART和GPIO,可以增加到基本子系統中。
圖4:典型的10/100以太網系統架構。
通過對圖3中的最小系統做一定的修改,可以實現更高TCP/IP吞吐能力(10-50Mbps),并轉向如圖4所示的更為典型的10/100以太網解決方案。主要的變化有:
1. 為以太網MAC增加直接存儲器訪問(DMA)引擎,實現中斷驅動;
2. 為系統增加外部存儲器,為處理器增加緩存;
3. 更復雜的TCP/IP棧,如Linux(Clinux)系統TCP/IP協議棧。
對于需要100Mbps以上TCP/IP吞吐能力的應用,可以考慮硬IP或軟IP內核方式提供的三模式以太網MAC(圖5)。為獲得高端應用所需要的500Mbps以上的吞吐能力,需要像分散/匯聚DMA(SGDMA)等高級DMA技術,以及包括數據重排引擎(DRE)和校驗和卸載 (CSO)等FPGA硬件加速器技術。
為滿足千兆以太網對更高數據吞吐率的需求,可能需要更高性能的嵌入式(硬)處理器或FPGA上實現的可定制軟處理器,以及更大的緩沖容量、如16Kbit指令和數據緩存。就軟件平臺來說,Linux、VxWorks、Integrity和QNX等軟件平臺中的高級TCP/IP棧支持諸如零拷貝和校驗和旁路等功能。
包括硬件和軟件在內的許多因素都會影響到TCP性能,并進而影響系統TCP吞吐能力。這些因素包括:
1. 處理器,包括頻率、功能和緩存
a. 頻率:TCP/IP協議通常需要將載荷從用戶緩存拷貝到協議棧控制的緩存,然后再將其拷貝到以太網MAC的FIFO中去。這些存儲器拷貝操作有些是以軟件方式完成的,因此需要處理器的處理周期。同時處理器還參與TCP校驗和的計算,計算過程中需要將整個數據包從存儲器讀出。更快的處理器配合更快的存儲器能在更短的時間內完成這些操作,從而可以保持較高的數據速率;
b. 功能:TCP/IP協議棧需要對數據包的包頭和載荷進行訪問處理。做為包頭處理的一部分,典型的訪問包括讀取包頭信息的特定位。因此每個數據包的處理過程都需要相當多的移位操作。此外在處理每個數據包時都需要進行乘法操作。在可配置的處理器中,必須開啟完成移位或乘法的指令才能獲得更高的性能;
c. 緩存:數據包從以太網MAC被拷貝到存儲器中之后,將會通過TCP/IP協議棧的不同層。然后TCP/IP棧中的數據包處理代碼會被執行。將所有代碼和數據包讀到緩存中會大大提高處理器效率并提高以太網帶寬。
2. 存儲器
存儲器訪問時間和延遲對于系統性能有巨大的影響。典型應用中,TCP/IP應用并不存儲在本地存儲器中,程序和數據存儲在外部存儲器中。存取數據和指令所花費的時間對于性能有很大影響。存儲器因素通常與緩存大小有關。提高指令和數據緩存大小有助于減輕外部存儲器延遲和存取時間所帶來的影響。
3. 以太網MAC
在FPGA中實現的以太網MAC外設提供了很大的靈活性,特別是在工作模式(無DMA與SGDMA)、數據包FIFO深度、DRE支持、CSO支持以及超大幀支持方面。每一項都會影響到MAC所需要的資源,以及其能夠從處理器分流的功能多少,從而對整體性能造成影響。
4. TCP/IP協議棧
靈活的優化TCP/IP協議棧是影響系統性能的重要因素。對硬件CSO和零拷貝API(數據不需要從應用拷貝到協議棧緩存)以及可配置棧選項等TCP/IP棧功能的支持可幫助提高系統性能。
5. 信息多少
信息(應用數據)的大小是影響性能的另一個因素。隨著信息減少,TCP/IP協議頭(如TCP、IP和以太網頭)的開銷增加,從而會減小總體的數據載荷吞吐能力。
大多數應用對于成本、性能和功能都有一組基本的需求。當為特定應用設計產品時,設計人員必須在這些需求之間進行正確的折衷,然而,為了適應市場條件,這些要求在產品生命周期內可能會發生變化。采用靈活可配置的平臺能夠在不改變設計平臺或供應商的情況下根據需要對這些要求進行重新平衡。容-源-電-子-網-為你提供技術支持
本文地址:http://m.jssjbk.com/dz/22/15469290073071.shtml
本文標簽:
猜你感興趣:
數字信號傳輸系統分為基帶傳輸系統和頻帶傳輸系統.頻帶傳輸系統也叫數字調制系統。數字調制信號又稱為鍵控信號,數字調制過程中處理的是數字信號,而載波有振幅、頻率和相
關鍵詞: 所屬欄目:設計編程
設計低功耗MCU并不容易,也沒有為您的特定嵌入式設計選擇合適的MCU。許多特定于應用的注意事項都會起到作用,這使得比較MCU規格表具有挑戰性。本文分析了在分析競爭性MCU替
關鍵詞: 所屬欄目:設計編程
近日,有媒體報道稱,北京微電子技術研究所日前成功研制出國內首個自主可控的宇航用千萬門級高性能高可靠FPGA(現場可編程門陣列)芯片。FPGA一直是國內的短板,市場基本被
關鍵詞:單片機 所屬欄目:設計編程
嵌入式系統的工作原理和應用 計算機作為20世紀人類社會最偉大的發明之一,近期也逐步邁入后PC時代。后PC時代的到來也標志著嵌入式產品的誕生,如手機、PDA、數控機床等。
關鍵詞:嵌入式系統單片機 所屬欄目:設計編程
最近參與了一個項目,需要用嵌入式匯編寫測試程序。匯編程序寫過,C程序也寫過,但是將它們混合起來寫還是第一次,完全沒有概念。只能上網找資料,自己慢慢摸索。 自己一
關鍵詞: 所屬欄目:設計編程
無
關鍵詞: 所屬欄目:設計編程