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