以太网通讯是一种被广泛使用的数据通讯方式。在嵌入式应用中也经常使用,但协议栈的实现并不是一件容易的事。不过有些以太网控制器就带有协议栈,如W5500。在本篇中我们将讨论如何设计并实现W5500以太网控制器的驱动。
1、功能概述
W5500是WIZnet开发的单芯片全硬件TCP/IP协议栈,能够方便的实现网络连接应用。
1.1、硬件描述
W5500作为一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方案。W5500 集成了 TCP/IP 协议栈,10/100M 以太网数据链路层(MAC)及物理层(PHY),使得用户使用单芯片就能够在他们的应用中拓展网络连接。 其引脚排布及分装如下:

W5500全硬件 TCP/IP 协议栈支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 协议。W5500 内嵌 32K 字节片上缓存以供以太网包处理。使用W5500,只需要一些简单的Socket 编程就能实现以太网应用。用户可以同时使用8个硬件Socket 独立通讯。
W5500提供了SPI(外设串行接口)从而能够更加容易与外设MCU整合。而且,W5500的使用了新的高效SPI协议支持80MHz速率,从而能够更好的实现高速网络通讯。为了减少系统能耗,W5500提供了网络唤醒模式(WOL)及掉电模式供客户选择使用。
1.2、通讯接口
W5500提供了SPI(串行外部接口)作为外设主机接口,有SCSn,SCLK,MOSI, MISO共4路信号,且作为SPI从机工作。W5500与MCU的连接方式如下图所示。根据SCSn是否受主机控制,将其工作模式分为可变数据长度模式和固定数据长度模式。在可变数据长度模式中,W5500可以与其他SPI设备共用SPI接口。在固定数据长度模式,SPI将指定给W5500,不能与其他SPI设备共享。

SPI协议定义了四种工作模式(模式 0,1,2,3)。每种模式的区别是根据SCLK的极性及相位不同定义的。SPI 的模式 0 和模式 3 唯一不同的就是在非活动状态下,SCLK 信号的极性。SPI的模式0和

本文详细介绍了W5500以太网控制器的驱动设计与实现过程,包括对象定义、初始化及操作等内容。通过一个TCP服务器应用实例展示了驱动的使用方法。
最低0.47元/天 解锁文章
1231





