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