第一步硬件复位
1:拉低RST
2:拉高RST
3:读取通用寄存器0x002e地址以确以太网连接完成(如果读到1,为以太网连接完成)
第二步初始化W5500
1:初始化W5500寄存器函数
- 软复位 向通用寄存器(5'b00000)中的MR模式寄存器(地址是0x0000)写入0x80
- 写入网关地址 向通用寄存器(5'b00000)中的GAR寄存器(地址是0x0001)写入网关地址
- 写入子网掩码 向通用寄存器(5'b00000)中的SUBR寄存器(地址是0x0005)写入子网掩码
- 写入物理地址 向通用寄存器(5'b00000)中的SHAR寄存器(地址是0x0009)写入物理地址
- 写入IP地址 向通用寄存器(5'b00000)中的SHAR寄存器(地址是0x000f)写入IP地址
- 写接收缓冲区大小 向Socket寄存器(5'b00001)中的Sn_RXBUF_SIZE寄存器(地址是0x001e)写入接收缓冲区大小
- 写发送缓冲区大小 向Socket寄存器(5'b00001)中的Sn_TXBUF_SIZE寄存器(地址是0x001f)写入发送缓冲区大小
- 写入重试时间 向通用寄存器(5'b00000)中的RTR寄存器(地址是0x0019)写入重试时间
- 写入重试次数 向通用寄存器(5'b00000)中的RCR寄存器(地址是0x001b)写入重试次数
Socket寄存器有8个寄存器标号为:个数*4+1
2:检查网关服务器
- 向目的地址寄存器写入与本机IP不同的IP值
- 设置socket为TCP模式
- 打开Socket
- 检查socket是否打开失败,如果失败不进行5,6,7条检查
- 设置Socket为Connect模式
- 检查Socket0中断
3:指定Socket(0~7)初始化,初始化端口0
- 设置分片长度,参考W5500数据手册,该值可以不修改:向Socket寄存器(5'b00001)中的Sn_MSSRE寄存器(地址是0x0012)写入分片长度
- 设置端口的端口号 向Socket寄存器(5'b00001)中的Sn_PORT寄存器(地址是0x0004)写入端口号