w5500是全硬體 tcp/ip 嵌入式乙太網控制器,w5500 整合了 tcp/ip 協議棧,10/100m 乙太網資料鏈路層(mac)及物理層(phy),tcp/ip 協議棧支援 tcp,udp,ipv4,icmp,arp,igmp 以及 pppoe 協議,w5500 內嵌 32k 位元組片上快取以供乙太網包處理。如果你使用 w5500,你只需要一些簡單的 socket 程式設計就能實現乙太網應用。
w5500 提供了 spi(外設序列介面)從而能夠更加容易與外設 mcu 整合。而且,w5500 的使用了新的高效 spi 協議支援 80mhz 速率,
特點- 支援硬體 tcp/ip 協議:tcp, udp, icmp, ipv4, arp, igmp, pppoe
- 支援 8 個獨立埠(socket)同時通訊
- 支援掉電模式
- 支援網路喚醒
- 支援高速序列外設介面(spi 模式 0,3)
- 內部 32k 位元組收發快取
- 內嵌 10baset/100basetx 乙太網物理層(phy)
- 支援自動協商(10/100-based 全雙工/半雙工)
- 不支援 ip 分片
- 3.3v 工作電壓,i/o 訊號口 5v 耐壓
- led 狀態顯示(全雙工/半雙工,網路連線,網路速度,活動狀態)
- lqfp48 無鉛封裝(7x7mm,間距 0.5mm)
上面規格書的大致說明,在專案中,配置了spi的mode0,速率比上面提到的慢很多,500k左右,,w5500本身預設是全功能,自然就支援全雙工了,另外還有乙個引腳,可以根據暫存器的配置而出發中斷,低電平有效,高電平無中斷。在stm32中只能配置下降沿中斷。
另外,tcp協議是有三次握手和四次分手的特性,而且接受法收到資訊都要返回ack用以確認,因此tcp是可靠連線方式,udp是不可靠的,因此tcp協議為了達到可靠性,增加了很多特寫,重發機制,滑動視窗,快速重發等等,難怪有tcpip詳解的書籍,那可是聖經了。
在w5500中,有兩個暫存器設定,就是rtr和rcr,預設是200ms,8次,我實際配置200ms3次,
rtr ( 重試時間值暫存器 ) [r/w] [0x0019 – 0x001a] [0x07 d0]
rtr 配置了重傳超時的時間值。每一單位數值為 100 微秒。初始化時值設為
2000(0x07d0),即相當於 200 毫秒(100us x 2000)。
在 rtr 配置的時間內,w5500 等待 sn-cr(connect, discon, close, send,
send_mac, send_keep command)傳輸後,來自對方的回應。如果在 rtr 時間段內
沒有回應,w5500 進行包重傳或觸發超時中斷。
例如:當超時週期別設定為 400ms 時,rtr=(400ms/1ms)x10=4000(0x0fa0)
0x0019 0x001a
0x0f 0xa0
rcr ( 重試計數暫存器 ) [r/w] [0x001b] [0x08]
該暫存器是設定重新傳送的次數。當第『rcr+1』次重傳時,超時中斷就會置
『1』。(中斷暫存器(sn_ir)的『中斷』位(『timeout』bit)設定為'1')。
例如:rcr = 0x0007
0x001b
0x07
w5500 的超時可以用 rtr 和 rcr 來配置。w5500 的超時包括位址解析協議(arp)
和 tcp 重新傳送超時。
另外還有乙個
nd/mc/
mmb時 使用無延時 ack
use no delayed ack
0:關閉無延時 ack 選項
1:開啟無延時 ack 選項
該位只有在 tcp 模式下(p[3:0] = 『0001』)才能生效。
當該位設定為『1』時,w5500 會在從對端接收到資料報後沒有任何延時盡快地回覆 ack 包。當該位為『0』,w5500 傳送 ack 包需要 rtr 設定的超時時間做延時。
這個我配置了無延時ack,好像還是有延時ack穩定。
另外,tcpip協議是只是乙個統稱,裡面有很多協議,ip位址這個很容易理解,埠號,以前不是很理解,現在理解了,就是給乙個應用的埠,乙個ip裡面有很多程式,那麼這個資料報給誰解析,就靠埠號來判斷。
以上就是一點點記錄。
另外,網上有很多驅動,有查詢方式的,有中斷方式,目前中斷方式的通訊測試比較穩定,埠號也是穩定
w5500跨網段 W5500網路擴充套件板教程 pdf
w5500網路擴充套件板教程 乙太網及硬體tcp ip協議棧應用 乙太網在各個領域和行業有著非常廣泛和深入的應用,這主要源於乙太網的 高度靈活性和較易實現的特點。因為乙太網具有組網簡單,成本低廉,相容性優 秀,連線可靠,以及拓撲調整方便的優點,在作為智慧型家居,物聯網或者無線傳 感網路的閘道器方面有...
w5500 多個socket 通訊 出現衝突
最新在使用w5500晶元做 網路通訊時 遇到乙個問題,如果建立兩個執行緒,乙個執行緒 建立乙個socket 進行區域網內 的tcp 通訊,再建立另乙個執行緒 進行廣域網的mqtt 通訊 傳輸層tcp 兩個執行緒之間會出現 衝突的現象。原因分析 雖然 建立了兩個執行緒 分別進行通訊,但是 兩個執行緒 ...
網路介面晶元 W5500 資料手冊筆記
目錄 w5500 具體的初始化過程 spi 資料幀 暫存器和記憶體構成 w5500 兩種工作模式 可變資料長度模式和固定資料長度模式 1 首先基本設定,w5500的操作需要設定以下暫存器的引數 2 設定網路資訊,下面的暫存器是關於網路的基本配置,需要根據網路環境來進行設定。3 設定埠 tx rx 儲...