做了許多天的網(wǎng)絡(luò)協(xié)議學(xué)習(xí),懵懵懂懂了解了點(diǎn),索性打開(kāi)說(shuō)明書(shū)開(kāi)始模塊的學(xué)習(xí)
之前三天的學(xué)習(xí)都是在協(xié)議棧上,今天的學(xué)習(xí)進(jìn)入以太網(wǎng)接入方案。
PS.我使用的野火W5500網(wǎng)絡(luò)擴(kuò)展板
我們的方案按TCP/IP協(xié)議棧的不同歸類為兩大類,第一類是傳統(tǒng)的軟件TCP/IP協(xié)議棧;第二類是最新的硬件TCP/IP協(xié)議棧方案。
一.MAC+PHY方案
所謂的TCP/IP協(xié)議棧是一系列網(wǎng)絡(luò)協(xié)議的統(tǒng)稱,不僅包括我們熟知的TCP協(xié)議和IP協(xié)議,還有網(wǎng)絡(luò)層的ICMP(Internet控制報(bào)文)協(xié)議,等....
傳統(tǒng)的以太網(wǎng)接入方案由MCU+MAC+PHY再加入網(wǎng)絡(luò)接口實(shí)現(xiàn)以太網(wǎng)的物理連接,通過(guò)主控芯片中植入TCP/IP協(xié)議代碼實(shí)現(xiàn)通信及上層應(yīng)用。由于軟件協(xié)議棧操作需要主控MCU不停地響應(yīng)中斷,這需要很大程度上占用運(yùn)算、時(shí)鐘資源。而且在安全性上并沒(méi)有保證。
二.硬件協(xié)議棧芯片方案
硬件協(xié)議棧方案
所謂的硬件協(xié)議棧是將傳統(tǒng)的軟件TCP/IP協(xié)議棧用硬件化的邏輯門電路來(lái)實(shí)現(xiàn)
以太網(wǎng)芯片的內(nèi)核由傳輸層的TCP、UDP、ICMP、IGMP等協(xié)議,網(wǎng)絡(luò)層的IP,ARP,PPPoE等協(xié)議以及鏈路層的MAC構(gòu)成,再加上物理層的PHY和外圍的寄存器,內(nèi)存,SPI接口組成了這一套硬件化的以太網(wǎng)解決方案。這套硬件TCP/IP協(xié)議棧代替了以往的MCU來(lái)處理這些中斷請(qǐng)求,即MCU只需要處理面向用戶的應(yīng)用層數(shù)據(jù)即可,傳輸層、網(wǎng)絡(luò)層、鏈路層以及物理層全部由外圍WIZnet的芯片完成。
首先模塊針腳如下
W5500的Socket初始化,W5500需設(shè)置以下寄存器的參數(shù):
基本設(shè)置
1.模式寄存器
2.中斷屏蔽寄存器
3.重發(fā)時(shí)間寄存器
4.重發(fā)計(jì)數(shù)寄存器
網(wǎng)絡(luò)信息
1.網(wǎng)關(guān)地址寄存器
2.本機(jī)物理地址寄存器
3.子網(wǎng)掩碼寄存器
4.本機(jī)IP地址寄存器
本機(jī)物理地址寄存器的地址是MAC層的硬件地址,MAC地址可由IEEE指定。
設(shè)置端口TX/RX存儲(chǔ)信息,每個(gè)端口的基地址和屏蔽地址在這里確定并保存。W5500有一個(gè)通用寄存器,8個(gè)Socket寄存器去,以及對(duì)應(yīng)每個(gè)Socket的收/發(fā)緩存區(qū)。每一個(gè)Socket的發(fā)送(接收)緩存區(qū)都在一個(gè)16KB的物理發(fā)送(接收)內(nèi)存中,初始化分配為2KB。無(wú)論給每個(gè)Socket分配多大的收/發(fā)緩存,都必須在16位的偏移地址范圍內(nèi)(從0x0000到0xFFFF)W5500有一個(gè)16KB發(fā)送內(nèi)存用于Socket_n的發(fā)送緩存區(qū),以及一個(gè)16KB的接收內(nèi)存用于Socket_n接收緩存區(qū)。發(fā)送初始緩存被分配給了每個(gè)Socket發(fā)送緩存(2KB x 8 = 16KB),初始化分配的2KBSocket發(fā)送緩存,可以通過(guò)使用Socket發(fā)送緩存大小寄存器重新分配。一旦所有的Socket發(fā)送緩存大小寄存器配置完成,16KB的發(fā)送內(nèi)存就會(huì)按照配置分配給每個(gè)Socket的發(fā)送緩存,并按照從Socket0到7順序分配。16KB的發(fā)送內(nèi)存中分配了對(duì)應(yīng)的發(fā)送緩沖區(qū),用于為來(lái)自主機(jī)傳輸?shù)臄?shù)據(jù)做緩存。讀取內(nèi)存同理。
明天繼續(xù)接下來(lái)的設(shè)置,然后開(kāi)始SPI傳輸?shù)暮?jiǎn)單學(xué)習(xí)。。
繼續(xù)加油
-
TCP
+關(guān)注
關(guān)注
8文章
1347瀏覽量
78933 -
FPGA器件
+關(guān)注
關(guān)注
1文章
22瀏覽量
11594 -
智能硬件
+關(guān)注
關(guān)注
205文章
2327瀏覽量
107387
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論