51单片机驱动W5500设置为TCP Client进行通信测试示例

news/2024/11/29 7:47:36/

51单片机驱动W5500设置为TCP Client进行通信测试示例

  • W5500简介
  • 芯片特点
  • 引脚说明
  • 相关寄存器
    • 相关程序
    • 测试结果图
      • 总结

原文链接:https://www.yourcee.com/newsinfo/2929224.html

W5500简介

本次写一篇相关驱动W5500模组的文章,W5500 芯片是一种采用全硬件 TCP/IP 协议栈的嵌入式以太网控制器,它能使嵌入式系统通过 SPI(串行外设接口)接口轻松地连接到网络。此次准备写一下51驱动W5500作为客户端的相关说明。下面我们将看到更多关于W5500模块的说明以及如果使用它,我们也准备了相关的代码以供测试使用。
在这里插入图片描述

点击图片购买

芯片特点

①支持硬件 TCP/IP 协议:TCP、UDP、ICMP、IGMP、IPv4、ARP、IGMP、PPPoE 和以太网
②支持 8 个独立的端口(sockets)
③极小巧的 LQFP48 无铅封装
④提供休眠模式
⑤提供网络唤醒
⑥支持高速 SPI 总线(SPI 模式 0,3)
⑦内部 32K 字节存储器作 TX/RX 缓存
⑧内嵌 10/100Mbps 以太网物理层
⑨支持自动协商(10/100-Based 全双工/半双工)
⑩不支持 IP 分段
注意3.3V 工作电压,I/O 口可承受 5V 电压使用时一定要注意供电和I/O口的电压不小心的话容易烧坏模块。

引脚说明

引脚说明功能说明
3.3V3.3V 电源输入引脚
MISOSPI 主机输入从机输出引脚
MOSISPI 主机输出从机输入引脚
SCSSPI SLAVE 选择引脚(低电平有效)
SCLKSPI 主机输出从机输入引脚
5V5V 电源输入引脚
GND电源地引脚
RSTW5500 硬件初始化引脚(低电平有效
INTW5500 中断引脚(低电平有效)
NC悬空
原理图可看:电路中加了LDO从而可以允许5V供电,注意供电3.3V不要接入5V会损坏模组
在这里插入图片描述

相关寄存器

W5500具有一个公共寄存器和8个端口寄存器,TX和RX的缓冲区分配给8个端口寄存器,51单片机也可以通过查询寄存器去读取对应端口的状态来检测发送和接受数据。
在这里插入图片描述

还有一些需要用到的公共配置的寄存器去配置IP或者MAC地址还有子网掩码等参数,8个端口寄存器可用于通信,使用端口号的值可以有SPI的BSB帧【4:0】进行选择。
下图为几个重要配置参数寄存器可以分别配置网关,子网掩码,MAC物理地址等信息。
在这里插入图片描述
这些配置信息在程序中完成相关配置放入数组中存储用于取用。

相关程序

驱动芯片:STC89C52
部分相关初始化函数可看下图配置相关寄存器:
复位W5500并检测以太网连接:
在这里插入图片描述

/*******************
*复位W5500并检测W5500的连接状态
连接成功时候PHYCFGR寄存器LINK位硬件置1*
*******************/
void W5500_Hardware_Reset(void)
{W5500_RST=0;//复位引脚拉低Delay(200);W5500_RST=1;//复位引脚拉高Delay(200);while((Read_W5500_1Byte(PHYCFGR)&LINK)==0);//等待以太网连接完成 }

初始化相关代码:
注意端口寄存器可配置TXBUFF,RXBUFF缓存空间大小
可参考手册中的示例配置:
在这里插入图片描述

void W5500_Init(void)
{unsigned char i=0;Write_W5500_1Byte(MR, RST);//软件复位W5500,置1有效,复位后自动清0Delay(10);//延时10ms,自己定义该函数//设置网关(Gateway)的IP地址,Gateway_IP为4字节unsigned char数组,自己定义 //使用网关可以使通信突破子网的局限,通过网关可以访问到其它子网或进入InternetWrite_W5500_nByte(GAR, Gateway_IP, 4);//设置子网掩码(MASK)值,SUB_MASK为4字节unsigned char数组,自己定义//子网掩码用于子网运算Write_W5500_nByte(SUBR,Sub_Mask,4);		//设置物理地址,PHY_ADDR为6字节unsigned char数组,自己定义,用于唯一标识网络设备的物理地址值//该地址值需要到IEEE申请,按照OUI的规定,前3个字节为厂商代码,后三个字节为产品序号//如果自己定义物理地址,注意第一个字节必须为偶数Write_W5500_nByte(SHAR,Phy_Addr,6);		//设置本机的IP地址,IP_ADDR为4字节unsigned char数组,自己定义//注意,网关IP必须与本机IP属于同一个子网,否则本机将无法找到网关Write_W5500_nByte(SIPR,IP_Addr,4);		//设置发送缓冲区和接收缓冲区的大小,参考W5500数据手册for(i=0;i<8;i++){Write_W5500_SOCK_1Byte(i,Sn_RXBUF_SIZE, 0x02);//Socket Rx memory size=2kWrite_W5500_SOCK_1Byte(i,Sn_TXBUF_SIZE, 0x02);//Socket Tx mempry size=2k}//设置重试时间,默认为2000(200ms) //每一单位数值为100微秒,初始化时值设为2000(0x07D0),等于200毫秒Write_W5500_2Byte(RTR, 0x07d0);//设置重试次数,默认为8次 //如果重发的次数超过设定值,则产生超时中断(相关的端口中断寄存器中的Sn_IR 超时位(TIMEOUT)置“1”)Write_W5500_1Byte(RCR,8);
}

测试结果图

烧入51单片机后使用电脑打开TCP服务端口即可收到单片机作为客户端发送到电脑服务端的相关数据。
==注意:==电脑服务端配置需要先配置好和单片机中程序中设置的目的IP和端口号不然没法通信传输数据。
在这里插入图片描述

总结

W5500内嵌了硬件TCP/IP协议在使用过程中比较方便直接使用SPI进行通信即可驱动,免去软件协议上的实现,对于单片机的驱动以太网通信是十分方便的,程序代码比较长,需要相关程序代码的可下方留言获取,另外可提供STM32相关驱动代码,本文对于W5500的使用总结到此结束,欢迎一键三连!!!


http://www.ppmy.cn/news/164138.html

相关文章

SuperMap GIS硬件推荐一览表

一、信创项目 1.国产服务器 服务器 型号 紫光恒越 UNIS R3800FT20 G3 华为TaiShan 200系列、2280 联想信创服务器 ThinkSystem SR358F V2 华为擎云 L410/W510 长城终端世恒 擎天DF7系列/世恒DF7系列 中科曙光H系列服务器 H620、H520、H420 宝德 PR2620R、PR214…

以太网芯片 w5500 实测项目实测

w5500 实测&#xff1a; 跑了一个多月没有问题&#xff01;甲方说一句不要了&#xff0c;就不要了…

利用云服务器搭建云盘(搭建自己的在线存储可上传下载可共享)

Docker部署seafile 背景 由于学校最近有一个需求&#xff0c;搭建一个可供老师使用的在线存储&#xff0c;最后我自己就尝试这搭建。这过程中也出现了不少问题&#xff0c;下面我会说明&#xff01;&#xff01;&#xff01; 准备 需要一台云服务器&#xff08;如果你本地有…

关于android studio 中安装intel haxm问题的解决

关于android studio 安装intel haxm问题的解决 遇到的问题解决问题总结 遇到的问题 安装android studio 过程中intel haxm失败&#xff0c;导致后续笔记本运行模拟器过程中漫长等待让我痛不欲生。于是着手解决intel haxm安装失败问题。我的笔记本型号是thinkpad w510,处理器i7…

花了5000元改了一个带触摸板的小红点键盘

我小时候第一次使用电脑是1986年,那时也是IBM电脑叫PC XT,价值3W人民币,640K内存,10M硬盘,没看错哦,可能比现在的单片机性能都不如,要价人民币3W元.要是当时这个价可以买好几套房子了.我从2001年左右就开始使用IBM的笔记本&#xff0c;记得当时叫t22来着&#xff0c;好像还是奔…

WIZnet W5100和W5300的Linux驱动

WIZnet解决方案的优势在于“简单易用”和“保证高速”。这也正是它为什么经常被用在无操作系统的小型嵌入式应用和Linux平台的原因。 W5300性能比较 也许Wiznet W5300和W5100的Linux驱动程序可以在Linux主线3.4或3.5上应用。这要感谢来自TRIKOM的Taehun Kim 和Mike Sinkovsky。…

准备使用W5100

都说它简单易用&#xff0c;买了ic和模块。找了例程和资料,准备上马. CSDN上面的AVR测试程序:http://download.csdn.net/source/1935336 The rapid penetration of the internet networks into many of today’s modern homes and personal gadgets (e.g. smart phone and sma…

WIZnet产品选型指南(W5500/W5300/W5100/W5100S/W6100)

&#xff08;http://www.bitconn.com/form_1/注册后&#xff0c;送评估样片&#xff09; 在我们选用WIZnet的产品时&#xff0c;面对诸多的产品功能不知如何选择&#xff0c;这里详细介绍一下WIZnet产品主要参数功能以及一些选型方法&#xff0c;帮助工程师快速准确地选择产品。…