一、W5500以太网模块
1.1 简介
- NiRen_W5500模块是一款基于WIZnet W5500芯片的以太网模块,是泥人电子继 NiRen_W5100模块后设计的一块性能更好、性价比更高的以太网模块。模块集成硬件化TCP/IP协议;内部32K字节存储器作TX/RX缓存;支持10/100Mbps 的传输速率;支持8个独立端口同时运行;同时模块还支持3.3V或5V电源供电,5V供电时还可以输出3.3V电源,方便用户在不同的单片机系统中使用;模块与单片机系统的通讯方式是简单、方便的SPI通信。
1.2 模块排针功能表

1.3 W5500芯片资源介绍
- W5500芯片是一种采用全硬件TCP/IP协议栈的嵌入式以太网控制器,它能使嵌入式系统通过SPI(串行外设接口)接口轻松地连接到网络。W5500特别适合那些需要使用单片机来实现互联网功能的客户,而这就需要单片机系统具有完整的TCP/IP协议栈和10/100Mbps 以太网网络层(MAC)和物理层(PHY)。W5500是由已经通过市场考验的全硬件TCP/IP协议栈、及以太网网络层和物理层的整合而成。其全硬件的TCP/IP协议栈全程支持TCP、UDP、IPv4、ICMP、ARP、IGMP和 PPPoE协议,而且已经连续多年在各种实际应用中得以证明。W5500使用32KB缓存作为其数据通信内存。通过使用W5500,用户只需通过使用一个简单的socket程序就能实现以太网的应用,而不再需要处理一个复杂的以太网控制器了。SPI(串行外设接口)提供了轻松与外部MCU连接的接口。W5500支持高达8OMHZ的SPI 接口间通信。为了降低系统功率的消耗,W5500提供了网络唤醒和休眠模式。W5500收到原始以太网数据包形式的magic packet时将被唤醒。
1.4 接线方式

1.5代码调试
#include "stm32f10x.h"
#include "W5500.h"
#include <string.h>
void RCC_Configuration(void);
void NVIC_Configuration(void);
void Timer2_Init_Config(void);
void System_Initialization(void);
void Delay(unsigned int d);
unsigned int Timer2_Counter=0;
unsigned int W5500_Send_Delay_Counter=0;
void W5500_Initialization(void)
{
W5500_Init();
Detect_Gateway();
Socket_Init(0);
}
void Load_Net_Parameters(void)
{
Gateway_IP[0] = 192;
Gateway_IP[1] = 168;
Gateway_IP[2] = 0;
Gateway_IP[3] = 1;
Sub_Mask[0]=255;
Sub_Mask[1]=255;
Sub_Mask[2]=255;
Sub_Mask[3]=0;
Phy_Addr[0]=0x34;
Phy_Addr[1]=0x4b;
Phy_Addr[2]=0x50;
Phy_Addr[3]=0x00;
Phy_Addr[4]=0x00;
Phy_Addr[5]=0x00;
IP_Addr[0]=192;
IP_Addr[1]=168;
IP_Addr[2]=0;
IP_Addr[3]=178;
S0_Port[0] = 0x13;