学习更多相关知识,关注博主知乎账号,用户名Trustintruth https://www.zhihu.com/people/suo-yi-xin-90/activities,免费获取代码欢迎关注公共号Trustintruth。
经历了一个多月的调试,最终终于使用basys2将tcp模式配置成功了。
首先说一下思路吧,首先W5500的发送与接收与开发板的通信使用的是SPI协议,下降沿发送,上升沿接收。每次发送的数据格式为前十六位为地址位,之后五位为寄存器区的选块,例如常用的为5‘b00000为通用寄存器区,5’b00001为socket1寄存器区。接下来一位为读写操作位,0为读数据,1为写数据。接下来两位是SPI模式选择,00代表使用SCSN信号确定位宽,01代表一位字长(八个二进制数),10代表两位字长(十六个二进制数),11代表四位字长(32个二进制数)。随后便是和之前字长相匹配的数据位。格式如下:
0000000000000000_ 00000__1_01_00000000
地址位 寄存器区 写 一位字长 数据
在发送数据与接收数据的时候,要保证数据位和SCK信号沿对其,同时要保证SCSN为低电平。具体的SPI发送可以参考之前的博客。
说完了发送的格式,接下来我们来说一说发送的数据。
首先我们要明确我们要配置数据,我们要发送我们的IP,GATEWAY,MAC,端口以及目的IP,端口。实际上我们讲的发送应该