W5500 官网例程获取途径及移植思路

前言:

最近在为使用W5500的客户提供技术支持时,发现绝大多数客户都是网上下的不明出处的资料。

绘制的工程板电路及相关驱动程序五花八门。调试起来或多或少有些许问题。

所以想着写篇博文,给大家推荐下官网的链接,内有官方推荐电路及W5500相关例程。


W5500 以太网接口芯片权威设计指南网址链接——www.w5500.cn,

该网站由WIZnet中国区代理——深圳炜世科技进行运营及维护。

网站内提供的推荐电路都是久经市场考验,确保用户硬件上的稳定。

其次网站内的应用例程均经过多次实测,搭配炜世出的W5500 EVB可直接烧录使用。

 

但是这些例程均是按照STM32F103RCT6的主控编写,需要移植一些必要文件才能够正常使用相应例程。

那么接下来请各位跟着我给的图文说明,一起走遍流程,如果有什么疑问的地方可以QQ或者电话联系我。


移植步骤:

注:移植前必须保证工程板的SPI读写已经封装完毕,且可以正常使用。

1.打开工程,我们需要移植以下文件。

W5500 官网例程获取途径及移植思路_第1张图片

每个文件内都有文件功能注释,我在这里就不一一赘述。

2.添加入自己工程后需要注释掉的引用及函数

ST库文件的引用;

延时函数及时钟初始化函数的屏蔽;

EEPROM相关的函数屏蔽;

注:E2的作用是存储其web网页改写的IP,下次上电IP从E2内读取。

如果使用到类似功能,E2的功能框架都要根据set_w5500_ip函数来做。

类型的重定向等等。

注:此部分客户根据自己工程进行调整即可。

3.注册底层SPI读写函数,及CS、RST、INT等引脚的初始化

RST部分:

W5500 官网例程获取途径及移植思路_第2张图片

管脚的初始化我就不在赘述,这个函数内需要将W5500的RST管脚拉低。

拉低时间,实测2us有效,但是也可以根据W5500数据手册内规定的最少500us。

然后拉高,延时一小段时间保持稳定即可。

INT部分:

INT是W5500触发外部中断的引脚,例程内并未使用中断。

官方不推荐客户使用中断模式,因为其中断类型繁多,需要客户考虑到的情况很多。

且网络数据中断频繁,一般的MCU可能没法处理过来,造成中断嵌套。

如需使用,按照外部中断管脚配置即可。

CS部分:

W5500 官网例程获取途径及移植思路_第3张图片

注:因为W5500内部默认的SPI通讯机制,SPI的CS必须可控,不能单纯接地。

这个函数内,将CS的拉高拉低电平的函数写入即可。

注册SPI读写函数

W5500 官网例程获取途径及移植思路_第4张图片

主要在于这3个函数,如果你的SPI读写,已经整合成一个函数,那么只需要修改“IINCHIP_SpiSendData()”函数即可

如果读写是拆分开的,则需要将这俩函数“IINCHIP_WRITE()”“IINCHIP_READ()”进行读写替换。

至此,大致上的移植我们就已经完成了。剩下只需要修改掉相关错误及警告就可以正常驱动W5500。

 

W5500驱动流程如下:

W5500 官网例程获取途径及移植思路_第5张图片

初始化相关IO引脚后,必须先复位一次W5500,使内部回归初始值。

然后通过读取PHY寄存器的LINK位判断网线是否接入。

如果已经搭配了交换机芯片等,那么PHY检测无法生效,可以跳过。

最后则写入MAC、IP及分配socket的收发缓存即可。

如果使用DHCP,则屏蔽IP函数即可,MAC必须写入。


其他说明:

DHCP的移植,是基本以太网产品都必须具备的功能。

其中DHCP有个在定时器内中断启用的函数,主要进行续租请求的判断。使用DHCP必须完善该步骤。

产品的W5500电路设计必须依照网站推荐的电路设计,其久经市场考验。正确的电路设计是稳定驱动W5500的前提之一。


相关资料炜世已经整理上传至www.w5500.cn网址内,欢迎各位前往浏览。

WIZnet W5500技术交流群:383035001,群内有“大神”为大家答疑解惑。

后续我将会陆续发布关于W5500各类功能测试博文,有兴趣的朋友欢迎关注。

炜世是WIZnet的的官方代理商,W5500可提供模块/评估板供客户测试。

如需详细资料/样品申请/技术支持等,欢迎与我们联系。

炜世为客户提供全程的技术支持与优异的价格优势。

 

网址:深圳炜世科技-物联网系统解决方案提供商 & WIZnet授权代理商

电话:13798261264

QQ:2571856470

邮箱:[email protected]

你可能感兴趣的:(W5500)