高性能以太网芯片W5500 数据手册 V1.0(一)
W5500
W5500 是一款全硬件 TCP/IP 嵌入式以太網(wǎng)控制器,為嵌入式系統(tǒng)提供了更加簡(jiǎn)易的互聯(lián)網(wǎng)連接方案。W5500 集成了 TCP/IP 協(xié)議棧,10/100M 以太網(wǎng)數(shù)據(jù)鏈路層(MAC) 及物理層(PHY),使得用戶使用單芯片就能夠在他們的應(yīng)用中拓展網(wǎng)絡(luò)連接。
久經(jīng)市場(chǎng)考驗(yàn)的 WIZnet 全硬件 TCP/IP 協(xié)議棧支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 協(xié)議。W5500 內(nèi)嵌 32K 字節(jié)片上緩存以供以太網(wǎng)包處理。如果你使用 W5500, 你只需要一些簡(jiǎn)單的 Socket 編程就能實(shí)現(xiàn)以太網(wǎng)應(yīng)用。這將會(huì)比其他嵌入式以太網(wǎng)方案 更加快捷、簡(jiǎn)便。用戶可以同時(shí)使用 8 個(gè)硬件 Socket 獨(dú)立通訊。
W5500 提供了 SPI(外設(shè)串行接口)從而能夠更加容易與外設(shè) MCU 整合。而且, W5500 的使用了新的高效 SPI 協(xié)議支持 80MHz 速率,從而能夠更好的實(shí)現(xiàn)高速網(wǎng)絡(luò)通訊。 為了減少系統(tǒng)能耗,W5500 提供了網(wǎng)絡(luò)喚醒模式(WOL)及掉電模式供客戶選擇使用。
特點(diǎn)
支持硬件 TCP/IP 協(xié)議:TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE
支持 8 個(gè)獨(dú)立端口(Socket)同時(shí)通訊
支持掉電模式
支持網(wǎng)絡(luò)喚醒
支持高速串行外設(shè)接口(SPI 模式 0,3)
內(nèi)部 32K 字節(jié)收發(fā)緩存
內(nèi)嵌 10BaseT/100BaseTX 以太網(wǎng)物理層(PHY)
支持自動(dòng)協(xié)商(10/100-Based 全雙工/半雙工)
不支持 IP 分片
3.3V 工作電壓,I/O 信號(hào)口 5V 耐壓;
LED 狀態(tài)顯示(全雙工/半雙工,網(wǎng)絡(luò)連接,網(wǎng)絡(luò)速度,活動(dòng)狀態(tài))
48 引腳 LQFP 無(wú)鉛封裝(7x7mm, 0.5mm 間距)
目標(biāo)應(yīng)用
W5500 適合于以下嵌入式應(yīng)用:
家庭網(wǎng)絡(luò)設(shè)備: 機(jī)頂盒、個(gè)人錄像機(jī)、數(shù)碼媒體適配器
串行轉(zhuǎn)以太網(wǎng): 門禁控制、LED 顯示屏、無(wú)線 AP 繼電器等
并行轉(zhuǎn)以太網(wǎng): POS/微型打印機(jī)、復(fù)印機(jī)
USB 轉(zhuǎn)以太網(wǎng): 存儲(chǔ)設(shè)備、網(wǎng)絡(luò)打印機(jī)
GPIO 轉(zhuǎn)以太網(wǎng): 家庭網(wǎng)絡(luò)傳感器
安全系統(tǒng): 數(shù)字錄像機(jī)、網(wǎng)絡(luò)攝像機(jī)、信息亭
工廠和樓宇自動(dòng)化控制系統(tǒng)
醫(yī)療監(jiān)測(cè)設(shè)備
嵌入式服務(wù)器
1 引腳分配
圖 1 W5500 引腳分布
1.1 引腳描述
表格 1 引腳類型標(biāo)記
表格 2 W5500 引腳描述
在 EXRES1 引腳和模擬地之間需要接一個(gè) 12. 4KΩ,精度 1 %的電阻。如下圖所示:
圖 2 外部參考電阻
晶振參考周邊電路如下圖所示:
圖 3 晶振參考電路
2 主機(jī)接口
W5500 提供了 SPI(串行外部接口)作為外設(shè)主機(jī)接口,共有 SCSn, SCLK, MOSI, MISO 4 路信號(hào),且作為 SPI 從機(jī)工作。
W5500 與 MCU 的連接方式如圖 4 和圖 5 所示。根據(jù)其工作模式(可變數(shù)據(jù)長(zhǎng)度模 式/固定數(shù)據(jù)長(zhǎng)度模式)將分別在第 2.3 章節(jié)和 2.4 章節(jié)做解釋說(shuō)明。
如圖 4 所示,可以與其他 SPI 設(shè)備共用 SPI 接口
在可變數(shù)據(jù)長(zhǎng)度模式中(如圖 4 所示),W5500 可以與其他 SPI 設(shè)備共用 SPI 接口。 但是一旦將 SPI 接口指定給 W5500 之后,則不能再與其他 SPI 設(shè)備共用,如圖 5 所示。
在可變數(shù)據(jù)長(zhǎng)度模式(如圖 4 所示),W5500 可以與其他 SPI 設(shè)備共用 SPI 接口。 然而,在固定數(shù)據(jù)長(zhǎng)度模式(如圖 5 所示),SPI 將指定給 W5500,不能與其他 SPI 設(shè) 備共享。
圖 4 可變數(shù)據(jù)長(zhǎng)度模式(SCSn 受主機(jī)控制)
圖 5 固定數(shù)據(jù)長(zhǎng)度模式(SCSn 保持接地)
SPI 協(xié)議定義了四種工作模式(模式 0,1,2,3)。每種模式的區(qū)別是根據(jù) SCLK 的極性及相位不同定義的。SPI 的模式 0 和模式 3 唯一不同的就是在非活動(dòng)狀態(tài)下, SCLK 信號(hào)的極性。SPI 的模式 0 和 3,數(shù)據(jù)都是在 SCLK 的上升沿鎖存,在下降沿輸出。
W5500 支持 SPI 模式 0 及模式 3.MOSI 和 MISO 信號(hào)無(wú)論是接收或發(fā)送,均遵從從最 高標(biāo)志位(MSB)到最低標(biāo)志位(LSB)的傳輸序列。
圖 6 SPI 模式 0&3
2.1 SPI 工作模式
W5500 與外設(shè)主機(jī)的通訊受 SPI 數(shù)據(jù)幀控制(參考第 2.2 章節(jié) SPI 數(shù)據(jù)幀) 。
W5500 的幀分為 3 段:地址段,控制段,數(shù)據(jù)段。
地址段為 W5500 寄存器或 TX/RX 內(nèi)存指定了 16 位的偏移地址。 控制段指定了地址段設(shè)定的偏移區(qū)域的歸屬,讀/寫訪問模式以及 SPI 工作模式(可變長(zhǎng)度模式/固定長(zhǎng)度模式)。
數(shù)據(jù)段可以設(shè)定為任意長(zhǎng)度(N-字節(jié),1≤N)或者是固定的長(zhǎng)度:1 字節(jié),2 字節(jié) 或 4 字節(jié);如果 SPI 工作模式設(shè)置為可變數(shù)據(jù)長(zhǎng)度模式(VDM),SPI 的 SCSn 信號(hào)需要由外部 主機(jī)通過 SPI 幀控制。
在可變數(shù)據(jù)長(zhǎng)度模式下,SCSn 控制 SPI 幀的開始和停止:
SCSn 信號(hào)拉低(高電平到低電平),即代表 W5500 的 SPI 幀開始(地址段);
SCSn 信號(hào)拉高(低電平到高電平),即代表 W5500 的 SPI 幀結(jié)束(數(shù)據(jù)段的隨機(jī) N字節(jié)數(shù)據(jù)結(jié)尾);
2.2 SPI 數(shù)據(jù)幀
W5500 的 SPI 數(shù)據(jù)幀包括了 16 位地址段的偏移地址,8 位控制段和 N 字節(jié)數(shù)據(jù)段。 如圖 7 所示。
8 位控制段可以通過修改區(qū)域選擇位 (BSB[4:0]),讀/寫訪問模式位(RWB)以及 SPI工作模式位(OM[1:0])來(lái)重新定義。 區(qū)域選擇位選擇了歸屬于偏移地址的區(qū)域。
圖 7 SPI 數(shù)據(jù)幀格式
W5500 支持?jǐn)?shù)據(jù)的連續(xù)讀/寫。其流程為數(shù)據(jù)從(2/4/N 字節(jié)連續(xù)數(shù)據(jù)的)偏移地址的基址開始傳輸,偏移地址會(huì)(自增尋址)加 1 傳輸接下來(lái) 的數(shù)據(jù)。
2.2.1 地址段
地址段為 W5500 的寄存器或 TX/RX 緩存區(qū)指定了 16 位的偏移地址。 這 16 位偏移地址的值來(lái)自于從最高標(biāo)志位到最低標(biāo)志位的順序傳輸。
SPI 數(shù)據(jù)幀的數(shù)據(jù)段(2/4/N 字節(jié))通過偏移地址自增(每傳輸 1 字節(jié)偏移地址加 1) 支持連續(xù)數(shù)據(jù)讀/寫。
2.2.2 控制段
控制段指定了地址段設(shè)定的偏移區(qū)域的歸屬,讀/寫訪問模式以及 SPI 工作模式。
表格 3 SPI 數(shù)據(jù)幀控制段對(duì)應(yīng)位的說(shuō)明
2.2.3 數(shù)據(jù)段
在 SPI 工作模式位 OM[1:0]設(shè)定了控制端之后,數(shù)據(jù)段被設(shè)定為 2 種長(zhǎng)度類型:1 種為可變的 N 字節(jié)長(zhǎng)度(可變數(shù)據(jù)長(zhǎng)度模式),另以一種為確定的 1/2/4 字節(jié)長(zhǎng)度(固定數(shù) 據(jù)長(zhǎng)度模式)。
此時(shí),1 字節(jié)數(shù)據(jù)從最大標(biāo)志位到最小標(biāo)志位,通過 MOSI 或者 MISO 信號(hào)傳輸。
2.3 可變數(shù)據(jù)長(zhǎng)度模式
在 VDM 模式下,SPI 數(shù)據(jù)幀的長(zhǎng)度被外設(shè)主機(jī)控制的 SCSn 所定義。這就意味著數(shù)據(jù) 段長(zhǎng)度根據(jù) SCSn 的控制,可以是一個(gè)隨機(jī)值(從 1 字節(jié)到 N 字節(jié)任何長(zhǎng)度均可)。
在 VDM 模式下,M[1:0]位必須為‘00’。
2.3.1 寫訪問——VDM 模式
圖 8 在 VDM 模式下讀 SPI 數(shù)據(jù)幀
圖 8 顯示的是在外部主機(jī)控制 W5500 讀操作時(shí)的 SPI 數(shù)據(jù)幀。
在 VDM 模式下,SPI 數(shù)據(jù)幀的控制段:讀寫控制位(RWB)為‘1’,工作模式位為’00’。
此時(shí)外設(shè)主機(jī)在傳輸 SPI 數(shù)據(jù)幀之前,須拉低 SCSn 信號(hào)引腳。
然后主機(jī)通過 MOSI 將 SPI 數(shù)據(jù)幀的所有位傳輸給 W5500 ,并在 SCLK 的下降沿同 步。
在完成 SPI 數(shù)據(jù)幀的傳輸后,主機(jī)拉高 SCSn 信號(hào)(低電平到高電平)。 當(dāng) SCSn 保持低電平且數(shù)據(jù)段持續(xù)傳輸,即可實(shí)現(xiàn)連續(xù)數(shù)據(jù)寫入。
1字節(jié)數(shù)據(jù)寫訪問示例
當(dāng)主機(jī)在 VDM 模式下,向通用寄存器區(qū)域中的 Socket 中斷屏蔽寄存器寫入數(shù)據(jù)‘0xA
A’時(shí),SPI 數(shù)據(jù)幀的寫操作如下所示:
Offset Address = 0×0018
BSB[4:0] = ‘00000’ RWB = ‘1’ OM[1:0] = ‘00’
1st Data = 0xAA
在傳輸 SPI 數(shù)據(jù)幀之前,外設(shè)主機(jī)須拉低 SCSn,然后主機(jī)在時(shí)鐘(SCLK)跳變時(shí)同步 傳輸 1 位數(shù)據(jù)。在 SPI 數(shù)據(jù)幀傳輸完畢后,外設(shè)主機(jī)拉高 SCSn。(參考圖 9)
圖 9 VDM 模式下,SIMR 寄存器寫操作
N字節(jié)寫訪問示例
當(dāng)主機(jī)在 VDM 模式下,向通用寄存器區(qū)域中的 Socket 中斷屏蔽寄存器寫入 5 字節(jié)數(shù) 據(jù)時(shí)(0×11, 0×22, 0×33, 0×44, 0×55),SPI 數(shù)據(jù)幀的寫操作如下所示:
N 字節(jié)的寫訪問如圖 10 所示。
5 字節(jié)的數(shù)據(jù)被連續(xù)地寫入 Socket 1 的寫緩存地址:0×0040 – 0×0044。 在 SPI 數(shù)據(jù)幀傳輸時(shí),外設(shè)主機(jī)拉低 SCSn(高電平到低電平)。
在 SPI 數(shù)據(jù)幀傳輸完畢時(shí),外設(shè)主機(jī)拉高 SCSn(低電平到高電平)。
圖 10 在 VDM 模式下,向 Socket1 的發(fā)送緩存區(qū) 0×0040 中寫入 5 字節(jié)數(shù)據(jù)
2.3.2 讀訪問——VDM 模式
圖 11 在 VDM 模式下讀 SPI 數(shù)據(jù)幀
圖 11 顯示的是當(dāng)外設(shè)主機(jī)訪問 W5500 做讀訪問時(shí),SPI 的數(shù)據(jù)幀格式。
在 VDM 模式下,讀/寫訪問位(RWB)為‘0’(讀模式),SPI 數(shù)據(jù)幀控制段的工作 模式位(OM[1:0])為‘00’。
與此同時(shí),在 SPI 數(shù)據(jù)幀傳輸之前,外設(shè)主機(jī)拉低 SCSn(高電平到低電平)。 然后主機(jī)通過 MOSI 將地址及控制段的所有位傳輸給 W5500.所有為將在 SCLK 的下降 沿同步。
之后在同步采樣時(shí)鐘(SCLK)的上升沿,主機(jī)通過 MISO 接收到所有數(shù)據(jù)位。 在接收完所有數(shù)據(jù)后,主機(jī)拉高 SCSn(低電平到高電平)。
當(dāng) SCSn 保持低電平且數(shù)據(jù)段持續(xù)傳輸,即可實(shí)現(xiàn)連續(xù)數(shù)據(jù)讀取。
1字節(jié)數(shù)據(jù)讀訪問示例
在 VDM 模式下,當(dāng)主機(jī)讀取 Socket 7 寄存器區(qū)的 Socket 狀態(tài)寄存器(S7_SR),SPI 數(shù)據(jù)幀的數(shù)據(jù)讀取如下所示。我們讓 S7_SR 設(shè)置為 Socket 建立模式下(0×17)。
在 SPI 數(shù)據(jù)幀傳輸之前,外設(shè)主機(jī)拉低 SCSn(高電平到低電平)。然后外設(shè)主機(jī)通過 M OSI 傳輸?shù)刂范魏涂刂贫谓o W5500.
然后主機(jī)通過 MISO 接收到接收完的數(shù)據(jù)。
在完成數(shù)據(jù)段的接收后,主機(jī)拉高 SCSn(低電平到高電平)。(參考圖 12)
圖 12 在 VDM 模式下讀 S7_SR
N字節(jié)讀訪問示例
在 VDM 模式下,當(dāng)從Socket3 的地址為 0×0100 的讀取緩存中讀取 5 字節(jié)的數(shù)據(jù)(0xAA, 0xBB, 0xCC, 0xDD,0xEE)。這 5 個(gè)字節(jié)數(shù)據(jù)的讀訪問 SPI 數(shù)據(jù)幀如下所示。
N 字節(jié)讀訪問如圖 13 所示。
從 Socket 3 的接收緩存(地址 0×0100 – 0×0104),連續(xù)地讀取這 5 字節(jié)的數(shù)據(jù)(0xAA,
0xBB, 0xCC, 0xDD, 0xEE)。
在 SPI 傳輸數(shù)據(jù)幀之前,外設(shè)主機(jī)將 SCSn 拉低。(高電平到低電平) 在 SPI 數(shù)據(jù)段結(jié)束時(shí),外設(shè)主機(jī)將 SCSn 拉高。(低電平到高電平)
圖 13 在 VDM 模式下,讀取 Socket 3 接收緩存 0×0100 中的 5 字節(jié)數(shù)據(jù)
感謝閱讀!
明天繼續(xù)為您講解~
更多信息與我們交流:
WIZnet郵箱:wiznetbj@wiznet.co.kr
總結(jié)
以上是生活随笔為你收集整理的高性能以太网芯片W5500 数据手册 V1.0(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信聊天代码轰炸
- 下一篇: 国家广电总局将开展“未来电视”试点