您好,登錄后才能下訂單哦!
今天小編給大家分享一下FPGA千兆網TCP通信是什么的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
首先通過上面的簡單分析,我們應該很清楚一件事:TCP協議很復雜,光握手過程就需要“三次握手、四次揮手”的復雜過程,不是特別適合FPGA的純邏輯實現,因為用FPGA實現以太網通信的主要目的就是進行低延時的傳輸數據,而一旦設計規模達到一定量級,FPGA實現通信的優勢便不復存在,轉而體現出“性價比”低的劣勢。
難道利用TCP協議進行通信就不可實現嗎?答案當然是否。因為現在各大廠商都會在自己芯片內部增加軟核和硬核,而利用軟核和硬核來實現以太網通信也是目前使用比較廣泛的方式,但是并不是所有的TCP協議都適合軟核或者硬核實現,接下來就簡單介紹比較簡單的TCP/IP協議棧lwIP (A Lightweight TCP/IP stack)。
首先看下LwIP的網絡模型,這樣就會有個整體概念,如下圖所示:
圖8?16 LwIP模型
UDP/IP模型后面會詳細介紹,這張圖片也沒有很特殊的東西,主要對LwIP有個整體的概念。
LwIP實現的重點是在保持TCP協議主要功能的基礎上減少對RAM 的占用,它只需十幾KB的RAM和40K左右的ROM就可以運行,這使LwIP協議棧適合在低端的嵌入式系統中使用。LwIP 具有三種應用編程接口 (API):
Raw API:為原始的 LwIP API。它通過事件回調機制進行應用開發。該 API 提供了最好的性能和優化的代碼長度,但增加了應用開發的復雜性。
Netconn API:為高層有序 API,需要實時操作系統 (RTOS)的支持 (提供進程間通訊的方法)。 Netconn API 支持多線程工作。
BSD Socket API:類似 Berkeley 的套接字 API (開發于 Netconn API 之上) 。
對于以上三種接口,前一種只需要裸機即可調用,后兩種需要操作系統才能調用。所以據此LwIP存在兩種移植方式:一是,只移植內核,此時應用程序的編寫只能基于RAW/Callback API進行。二是,移植內核和上層API,此時應用程序編寫可以使用3種API,即:RAW/Callback API、Sequential API和Socket API。
以上就是“FPGA千兆網TCP通信是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。