w5500 芯片是一款集成全硬件 tcp/ip 协议栈的嵌入式以太网控制器,为单片机提供了更加简单、快速、稳定、安全的以太网接入方案。采用标准4线spi接口,理论速率上可以达到 80mhz。
硬件设计
原理图如下,需要注意的是r12~r17几个电阻是模式选择,根据实际需求选择焊接哪些。
芯片采样spi接口与单片机连接,再加上int和rst引脚,共占用6个io,其中int引脚可以不用,rst一般需要连接。
网口可以使用带网络变压器的接口,或者网络变压器和接口独立的,都可以,这里使用的hr911105a是带网络变压器的。、
软件设计
w5500官方提供了一个完整的驱动库,可以使用户不必太关心底层寄存器的配置,使用起来非常方便。
接下来,使用stm32cubemx软件初始化配置,主要是spi配置如下:
配置完成后,生成代码。然后将官方的驱动库添加到工程中。
下载完成后,可以看到,驱动库中包含了w5100、w5200等多个芯片的驱动:
我们只需将w5500文件夹下的.c文件以及socket.c和wizchip_conf.c文件添加到工程中即可。如下:
打开wizchip_conf.c文件,可以看到,里面定义了一些spi片选及读写的函数,但内容都是空的,这些是需要我们自己实现的。我们直接添加如下程序到文件中,实现芯片的复位和参数初始化功能。
其中,w5500_chipinit初始化函数中注册的spi相关函数定义如下:
添加完成后,直接在主函数中调用w5500_chipinit();即可完成初始化。初始化完成后,可以实现tcp、udp等的通讯,以tcp客户端程序为例,程序如下。程序比较简单,就不做详细分析了。
另外,官网还有很多其它应用的例程可供参考,非常实用:
总结
对于大多数内部没有以太网控制器的单片机来说,w5500是个很不错的选择。即使是带有以太网控制器的单片机,如stm32f407系列,也需要外部的phy芯片才行,而且占用io多,还需要移植软件协议栈,软件上更复杂一些。
充电手电筒电路原理图
手机放哪儿最安全?电池爆炸真可怕 (图)
医疗物联网解决方案的亮点有哪些
荣耀9、荣耀V9对比评测:华为荣耀9、华为荣耀V9谁更具性价比?五点让你知道该如何抉择
喜讯!中微电科技正式获准设立博士后创新实践基地
如何利用HAL库去驱动W5500芯片呢
物联网四个阶段所面临的数字化风险是什么?
深度学习笔记8:利用Tensorflow搭建神经网络
Amazfit智能运动手表3评测 不玩噱头多了些用心和诚意
智慧安全用电管理系统,让用电更加安全规范
豪威集团搭载OmniPixel®3-HS的新型300万像素图像传感器 为安防市场的网络和高清摄像头带来生动画面
魅族16系列前面板曝光,屏占比出众
泰克将在ICEMI2013现场演示S参数级联时防止失真的最新方法
密歇根大学制造出世界上最小的计算机,长度仅有0.3毫米
国内智能音箱出货量首现下滑
利用RFID技术实现科学安全的血液管理
使用 Kria SoM 部署基于边缘的人工智能
关于开源的AMBA(APB/AHB/AXI) VIP
5G怎样进行室内定位?
Vishay发布新款超薄的SMD 0604封装的ChipLED-VLMx1300