W5300的目标是在高性能的嵌入式领域,如多媒体数据流服务。与WIZnet现有的芯片方案相比较,W5300在内存空间和数据处理能力等方面都有很大的提高。W5300特别适用于IPTV,IP机顶盒和数字电视等大流量多媒体数据的传输。通过一个集成有TCP/IP协议和10/100M的以太网MAC和PHY的单芯片可以非常简单和快捷地实现Internet连接。
W5300与主机(MCU)采用总线接口。通过直接访问方式或间接访问方式,W5300可以很容易与主机接口,就像访问SRAM存储器。W5300的通信数据可以通过每个端口的TX/RX FIFO寄存器访问。由于这些特性,即使一个初学者也很容易使用W5300实现Internet连接。
特性:
l 支持软、硬件混合TCP/IP协议: TCP, UDP, ICMP, IGMP, IPv4, ARP, PPPoE, Ethernet;
l 支持8个独立的端口(sockets)同时连接;
l 网络数据传输,速率可达到80Mbps;
l 支持ADSL连接 (支持PPPOE协议,带PAP/CHAP验证);
l 内部128K字节存储器作TX/RX缓存;
l 根据端口通信数据吞吐量动态调整内部TX/RX存储器分配;
l 内嵌10BaseT/100BaseTX以太网物理层,支持自动应答(全双工/半双工模式);
I 可选TX1:1 RX1:1 网络变压器接口YL18-2050S,YT37-1107S及YL2J011D,YL2J201A
l 支持自动极性变换(MDI/MDIX);
l 支持8/16位数据总线;
l 0.18μm CMOS工艺;
l 3.3V工作电压,I/O口可承受5V电压,内部带1.8V电压调整器;
l LQFP-100,14x14mm无铅封装。
模块:
PLL 锁相环
将25MHz的时钟源经过6倍频,建立150MHz的时钟信号。150MHz的时钟用于内部单元的运行,如TCP/IP内核、主机接口管理和寄存器管理。锁相环在复位后锁定并提供稳定的时钟信号。
电源调节系统
电源调节系统通过3.3v的输入建立1.8v/150mA的输出电压。电源调节系统为W5300的内核提供电源。因此不需要其它电源调节器。为了使1.8v的电源更稳定,建议增加电容滤波。
主机接口管理
它根据数据总线的宽度或主机接口模式,检测主机总线信号,管理读写操作。
寄存器管理
它管理模式寄存器、通用(COMMON)寄存器和SOCKET(端口)寄存器。
存储器管理
它管理内部128K字节的数据存储器。由主机分配每个端口的TX/RX存储器。主机可以通过每个SOCKET的FIFO寄存器访问TX/RX存储器。
128K字节TX/RX DPRAM
这是128K字节通信数据存储器,组成16个8K字节的DPRAM (双端口RAM)。可以由主机灵活分配给每个SOCKET。
MII接口管理
它管理MII接口,根据TEST_MODE[3:0]的配置,MII接口可以在内部PHY和外部PHY(第三方PHY)之间切换。
内部以太网PHY
W5300内部集成了10BaseT/100BaseTX的以太网PHY。PHY支持半双工/全双工自动握手和MDI/MDIX自动检查。它还支持6种网络指示的LED输出,如LINK状态、速度和双工状态。
TCP/IP内核
TCP/IP内核是完全基于WIZnet网络协议处理技术进行硬件逻辑化。
- 802.3以太网MAC(介质访问控制)
它控制以太网的CSMA/CD(载波监听多路访问/冲突检测)访问。他是基于48位源/目的MAC地址的协议技术。它也允许主机通过SOCKET0控制MAC层。因此可以实现软件TCP/IP协议和硬件TCP/IP协议。
- PPPOE(通过以太网的点对点协议)
这是在以太网上实现PPP服务的协议。它将以太网数据帧的有效载荷数据封装为PPP数据帧而进行传输。当接收数据时,它拆封PPP数据帧。PPPoE支持与PPPoE服务器的PPP通信,支持PAP/CHAP验证方法。
- ARP(地址解析协议)
ARP是通过IP地址解析MAC地址的协议。它发送ARP响应给来自对端的ARP请求。它也发送ARP请求查找对端的MAC地址,同时处理对该请求的ARP响应。
- IP(网络协议)
IP协议支持IP层的数据通信。不支持IP分片。不能接收分片的数据包。除了TCP和UDP,所有的协议号都支持。在TCP和UDP情况下,使用硬件的协议栈。
- ICMP(Internet控制信息协议)
它接收ICMP数据包,如分片的MTU、无法访问的目标及标识主机等。当收到Ping请求的ICMP数据包时,它将响应Ping应答的ICMP数据包。它支持最大119个字节的Ping请求。如果超过119个字节时,它将不再支持。
- IGMPv1/v2(Internet组管理协议版本1/2)
它处理IGMP协议,如加入/脱离组、在UDP多播模式下报告等等。只支持IGMP的版本1和版本2。如
果使用更高版本的IGMP, 则需要在IP层手动实现。
- UDP(数据报文协议)
这是在UDP层实现数据传输的协议。它支持用户报文,如单播、多播和广播。
- TCP(传输控制协议)
这是在TCP层实现数据传输的协议。它支持“TCP客户端”和“TCP服务器”。W5300不需要主机的干预,内部处理所有的通信协议。W5300基于TOE(TCP/IP Offload引擎),通
过减少主机处理TCP/IP协议时的负荷,可以极大地提升主机的性能。
功能描述
W5300可以通过寄存器的设置使Internet的连接变得非常简单。在本章将学习怎样初始化W5300,通
过学习一些代码,怎样根据协议类型(TCP、UDP、IPRAW和MACRAW)实现网络通信。
初始化
W5300的初始化分三个步骤:主机接口设置,网络信息设置和内部TX/RX存储器的分配。
第1步:设置主机接口
1. 设置数据总线宽度,主机接口模式和时序(参考MR寄存器)
2. 设置主机中断(参考IMR)
第2步:设置网络信息
1. 设置数据通信的基本网络信息(参考:SHAR、GAS、SBUR和SIPR)
2. 设置重复发送的时间间隔和重复发送的次数,用于数据包发送失败时的重复发送(参考RTR和
RCR)
本机硬件地址通过SHAR设置,这是一个以太网设备的唯一的硬件地址(以太网的MAC地址),应用于以太网的MAC层
由IEEE分配和管理MAC地址。生产厂商需要从IEEE申请网络设备的MAC地址。
第3步:分配SOCKETn的内部TX/RX存储器空间
1. 定义内部TX/RX存储器大小(参考MYTPER)
2. 定义SOCKETn的TX/RX存储器大小(参考TMR和RMSR)W5300内部包含16个8K字节的存储单元。这些存储单元依次映射在128K字节的存储器空间。128K存储器分为发送存储器(TX)和接收存储器(RX)。内部TX和RX存储器以8K字节为单元分布在128K字节空间。内部TX/RX存储器可以在0~64K字节空间以1K字节为单元从新分配给每个SOCKET。
当第3步初始化设置完成后,就可以使用W5300通过以太网传输数据了。这时,W5300可以响应Ping请求(自动Ping响应)。
数据通信
完成初始化设置以后,W5300可以以TCP、UDP、IPRAW或MACRAW的方式打开SOCKET发送或接收数据。W5300支持8个SOCKET同时且独立地工作。在本章将描述每种通信方式的工作方法。
1 TCP
TCP是一种连接通信的协议,在TCP模式,首先要根据IP地址和端口号与对端建立SOCKET连接。通过连接的SOCKET发送和接收数据。建立SOCKET的连接有“TCP服务器”和“TCP客户端”之分。区分它们的方法是谁首先发送连接请求(SYS数据包)。“TCP服务器”等待对端的连接请求,当收到连接请求时建立SOCKET连接(被动打开)。“TCP客户端”主动发出连接请求,与对端建立连接(主动打开)。 SOCKET初始化为了实现TCP通信,需要对SOCKET进行初始化设置并打开SOCKET。为了打开SOCKET,选择其中的一个SOCKET(被选择的SOCKET称之为SOCKETn),通过Sn_MR(P3:P0)和Sn_PORTR分别设置通信协议和本机端口号(在TCP服务器模式,称之为侦听端口号),然后执行OPEN命令。执行完OPEN命
令后,如果Sn_SSR改变为SOCK_INIT,则SOCKET的初始化设置完成。