今天小編給大家分享一下FPGA千兆網(wǎng)TCP通信是什么的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計,黃山區(qū)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:黃山區(qū)等地區(qū)。黃山區(qū)做網(wǎng)站價格咨詢:18982081108
首先通過上面的簡單分析,我們應(yīng)該很清楚一件事:TCP協(xié)議很復(fù)雜,光握手過程就需要“三次握手、四次揮手”的復(fù)雜過程,不是特別適合FPGA的純邏輯實現(xiàn),因為用FPGA實現(xiàn)以太網(wǎng)通信的主要目的就是進行低延時的傳輸數(shù)據(jù),而一旦設(shè)計規(guī)模達到一定量級,F(xiàn)PGA實現(xiàn)通信的優(yōu)勢便不復(fù)存在,轉(zhuǎn)而體現(xiàn)出“性價比”低的劣勢。
難道利用TCP協(xié)議進行通信就不可實現(xiàn)嗎?答案當(dāng)然是否。因為現(xiàn)在各大廠商都會在自己芯片內(nèi)部增加軟核和硬核,而利用軟核和硬核來實現(xiàn)以太網(wǎng)通信也是目前使用比較廣泛的方式,但是并不是所有的TCP協(xié)議都適合軟核或者硬核實現(xiàn),接下來就簡單介紹比較簡單的TCP/IP協(xié)議棧lwIP (A Lightweight TCP/IP stack)。
首先看下LwIP的網(wǎng)絡(luò)模型,這樣就會有個整體概念,如下圖所示:
圖8?16 LwIP模型
UDP/IP模型后面會詳細(xì)介紹,這張圖片也沒有很特殊的東西,主要對LwIP有個整體的概念。
LwIP實現(xiàn)的重點是在保持TCP協(xié)議主要功能的基礎(chǔ)上減少對RAM 的占用,它只需十幾KB的RAM和40K左右的ROM就可以運行,這使LwIP協(xié)議棧適合在低端的嵌入式系統(tǒng)中使用。LwIP 具有三種應(yīng)用編程接口 (API):
Raw API:為原始的 LwIP API。它通過事件回調(diào)機制進行應(yīng)用開發(fā)。該 API 提供了最好的性能和優(yōu)化的代碼長度,但增加了應(yīng)用開發(fā)的復(fù)雜性。
Netconn API:為高層有序 API,需要實時操作系統(tǒng) (RTOS)的支持 (提供進程間通訊的方法)。 Netconn API 支持多線程工作。
BSD Socket API:類似 Berkeley 的套接字 API (開發(fā)于 Netconn API 之上) 。
對于以上三種接口,前一種只需要裸機即可調(diào)用,后兩種需要操作系統(tǒng)才能調(diào)用。所以據(jù)此LwIP存在兩種移植方式:一是,只移植內(nèi)核,此時應(yīng)用程序的編寫只能基于RAW/Callback API進行。二是,移植內(nèi)核和上層API,此時應(yīng)用程序編寫可以使用3種API,即:RAW/Callback API、Sequential API和Socket API。
以上就是“FPGA千兆網(wǎng)TCP通信是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。