W5500的STM32通信总线是什么是什么总线,这种总线有哪些?画出链接框图。

下载下来的压缩包解压后如下圖:

需要将ethernet文件夹拷贝到我们的项目目录中:

并在IAR的项目下添加相关的文件和路径,主要是socket.c、w5500.c、wizchip_.conf.c三个文件这三个文件分别实现socket、硬件驱動及相关通讯配置功能,具体可以查看相应的源码级手册

2、移植过程和代码编写

在完成以上工作后就可以开始真正地移植工作了。具体步骤如下:

  • 以太网通讯配置的初始化

2.1、硬件的配置及初始化

由于W5500通过SPI接口与STM32通讯,所以硬件配置和初始化是非常简单的与W5500实际上没有關系,使一些通用的操作事实上就是STM32F103的SPI接口初始化的过程,需要实现RCC、GPIO以及SPI的初始化就可以了关于这部分可以查看ST的例程。

2.2、以太网通讯配置的初始化

以太网通讯配置的初始化主要有三个方面的内容:

三个函数的具体实现内容如下:

//函数注册首先,应由用户实现SPI注册回調函数来访问WIZCHIP
 //SPI的读写回调函数
 

注册函数实际上就是函数指针的调用,可参考C语言函数指针部分内容对于以上注册的函数,SPI_WriteByte需要说明一下无论是用可函数还是直接操作寄存器,在写完之后都需要再读一下(红色部分)否则就会在客户端出现连接TCPServer超时的报警,没明白什么原因

//写1字节数据到SPI总线



 
//PHY物理层连接状态检查

 以上实现网络物理层的配置。

初始化WIZCHIP中的网络参数信息:

//初始化WIZCHIP中的网络参数信息
 
 

其中gWIZNETINFO是一個wiz_NetInfo类型的结构体变量该结构体在wizchip_conf.h中定义,用于设置mac地址、IP地址等网络参数具体如下:

至此网络部分的初始化就已完成。

2.3、具体通讯过程的实现

经过前面的配置网络已经可以ping通了下面可以实现具体的应用。对于我这个项目就是可是实现Modbus TCP的编写了

编写TCP Server,这部分有很多资料直接附代码:

//TCP服务器数据通讯

 
 //添加数据解析及响应的函数

 

 

通过Modscan连接测试,结果正确

最近在做W5500实现网络传输希望问┅下W5500实现的是应用层,我们是不是只要控制好信号将我们希望传输的数据使用SPI协议传输到W5500上就可以了那我们传输的时候使用的协议是如哬确定的,是我们代码实现的操作实现的吗那我们不就是在写协议了吗?那我可以使用W5500实现HTTP协议的传输吗

最后有没有大佬做过FPGA和W5500呢~

WIZnet W5500 支持高达 80MHz SPI 时钟所以用户可用 MCU来提供一个最大传输速率的高速以太网SPI通讯。本文中我将展示如何用STM32 MCU来让W5500达到最大传输速率。

当使用来自STMicro的Cortex M3/M4产线的32位处理器以太网传输速率可以在使用SPI通讯模式事产生最大变化。我将比较使用SPI标准模式和SPI DMA模式的不同传输速率

其次,连接SPI信号连接SCS 引脚到GPIOA_Pin12,因为我将用软件方法处理它

我要回帖

更多关于 通信总线是什么 的文章

 

随机推荐