硬件资料
工程下载
实现步骤
W5500的特点是用硬件逻辑实现了网络传输层及其以下各层的协议,其中就包括ICMP协议,所以如果想让配备W5500EVB能响应Ping,只需配置几个W5500的寄存器即可,如同配置电脑网卡的IP地址一样简单。
先简单看一下W5500几个常用的寄存器:
• SHAR(源MAC地址寄存器),该寄存器用来设置源MAC地址
• SIPR(源IP地址寄存器),该寄存器用来设置源IP地址
• GAR (网关IP地址寄存器),该寄存器用来设置默认网关地址
• SUBR(子网掩码寄存器),该寄存器用来设置子网掩码地址
• RTR(重试时间值寄存器),该寄存器配置了重传超时的时间值
• RCR(重试计数寄存器),该寄存器是设置重新传送的次数
了解了W5500的这些寄存器之后,我们来看看如何把MAC地址等所必需的网络参数写入W5500。由于W5500和单片机的接口是SPI,因此W5500和单片机之间的数据交互都是通过SPI实现。
测试步骤
- 对代码进行编译,生成Binary或Hex文件。
- 将程序烧录到W5500EVB中。
- 连接好网线,按下W5500EVB的复位键,程序运行。使用串口助手查看信息,如图1。
- 打开电脑上的cmd.exe开始ping 192.168.1.150。图2是Ping的结果。
若出现了图3的情况,即没有成功Ping。
此时可能是电脑与W5500EVB的IP不在同一网段,可以查看电脑IP,在cmd中输入ipconfig,查看电脑IP,如图4。
发现与图1中的W5500EVB的IP不在同一网段,此时可以修改电脑的IP地址使得在同一网段下进行通讯。如图5。
若电脑与W5500EVB是连接在同一路由器下,电脑是通过DHCP自动获取IP的,也可以选择修改例程中W5500EVB的默认IP和子网掩码。如图6。
之后再次进行PING即可。
最后,在检查网络连接过程中,还可能出现的几个问题,这里总结一下。Ping后返回信息如下:
• Request Timed Out
可能原因: 对方装有防火墙或者已关机,本机IP不正确和网络设置错误。
• Destination Host Unreachable
可能原因:如果局域网中使用DHCP分配IP,碰巧DHCP失效,这时使用ping命令就会产生此错误。 因为DHCP失效时,客户机无法分配到IP,系统只有自设IP,它往往会设为不同子网的IP,就出现了“Destination Host Unreachable”。另外, 子网掩码设置错误也会出现此问题。还有一个特殊情况是路由返回错误信息,一般“Destination Host Unreachable”前加上IP地址说明哪个路由不能到达目标主机, 这说明你的机器与外部网络连接没有问题,但与某台主机连接存在问题。