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(一)的更多相关文章

  1. 高性能以太网芯片W5500 数据手册 V1.0(二)

    继续给大家介绍W5500 数据手册. 2.4       固定数据长度模式(FDM) 在外设主机不能控制 SCSn 时,可以使用固定数据长度模式. 此时,SCSn 必须连接到低电平(保持接地).与此同 ...

  2. WIZnet即将推出高性能网络芯片W5500

    WIZnet将于9月份推出高性能网络芯片W5500,这是继W5100.W5200和W5300之后一款全新的全硬件TCP/IP协议栈网络芯片,这款芯片具有更低功耗与工作温度,及改良工艺,是嵌入式以太网的 ...

  3. J20航模遥控器开源项目系列教程(一)制作教程 | 基础版V1.0发布,从0到1

    我们的开源宗旨:自由 协调 开放 合作 共享 拥抱开源,丰富国内开源生态,开展多人运动,欢迎加入我们哈~ 和一群志同道合的人,做自己所热爱的事! 项目开源地址:https://github.com/C ...

  4. The P4 Language Specification v1.0.2 Header and Fields

    前言 本文参考P4.org网站给出的<The P4 Language Specification v1.0.2>的第二部分首部及字段,仅供学习:). 欢迎交流! Header and Fi ...

  5. 【iCore4 双核心板】DEMO V1.0 测试程序发布

    iCore4 Demo V1.0程序说明 一.概要 本资料包含5个文件夹: 1.“arm”里是iCore4上arm的程序包,开发环境为KEIL5.17: 2.“fpga”里是iCore4上FPGA的程 ...

  6. Python WSGI v1.0 中文版(转)

    add by zhj: WSGI全称Web Server Gateway Interface,即Web网关接口.其实它并不是OSI七层协议中的协议,它就是一个接口而已,即函数,而WSGI规定了该接口的 ...

  7. MySQL与MariaDB核心特性比较详细版v1.0(覆盖mysql 8.0/mariadb 10.3,包括优化、功能及维护)

    注:本文严禁任何形式的转载,原文使用word编写,为了大家阅读方便,提供pdf版下载. MySQL与MariaDB主要特性比较详细版v1.0(不含HA).pdf 链接:https://pan.baid ...

  8. 痞子衡嵌入式:kFlashFile v1.0 - 一个基于Flash的掉电数据存取方案

    大家好,我是痞子衡,是正经搞技术的痞子.今天给大家带来的是痞子衡的个人小项目 - kFlashFile. 痞子衡最近在参与一个基于 i.MXRT1170 的项目,项目有个需求,需要在 Flash 里实 ...

  9. 痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> 历时 8 个月终于迎来了 v1.0 版发布,因为是第一个正式版,为了保证质 ...

随机推荐

  1. 状态模式(State) 笔记

    让一个对象随着内部的状态改变而发生改变. 状态的两种切换方式: 1) 完全交给Context类切换, 2) 给Context初始化状态,其他的切换根据每一个State类进行切换,Context对象不再 ...

  2. jquery绑定事件on的用法

    语法 $(selector).on(event,childSelector,data,function,map) 参数 描述 event 必需.规定要从被选元素移除的一个或多个事件或命名空间.由空格分 ...

  3. PHPSTORM实用快捷键

    alt + F7 find usages 功能,可以很方便的找到函数在哪里调用了 Ctrl + E 可查看最近打开文件或项目 项目名右键选择"Local History | Show His ...

  4. c++应用程序文件的编译过程

    这里讲下C++文件的编译过程及其中模板的编译过程: 一:一般的C++应用程序的编译过程.     一般说来,C++应用程序的编译过程分为三个阶段.模板也是一样的. 在cpp文件中展开include文件 ...

  5. Myeclipse7.5 下载 安装 注冊 注冊码 100%成功

    myeclipse7.5启动画面 1.下载Myeclipse官方原版 官方原版:或者 http://downloads.myeclipseide.com/downloads/products/ewor ...

  6. [iOS] App引导页的简单实现 (Swift 2)

    转载请注明出处:http://www.jianshu.com/p/024dd2d6e6e6# 已更新至 Xcode7.2.Swift2.1 在第一次打开App或者App更新后通常用引导页来展示产品特性 ...

  7. web_api vs2015 新加标题无法打开

    HomeController 去掉特性[Authorize]

  8. 服务 通话录音 TelephonyManager

    MainActivity public class MainActivity extends ListActivity {     private BatteryChangedReceiver rec ...

  9. 网页、JavaScript 的DOM操作

    HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树.  Windows 对象操作 ...

  10. C# List<T>转为 DataTable

    // remove "this" if not on C# 3.0 / .NET 3.5 public static System.Data.DataTable ConvertTo ...