w5500(socket)寄存器使用说明

上传人:简****9 文档编号:100507971 上传时间:2019-09-23 格式:DOC 页数:10 大小:136KB
返回 下载 相关 举报
w5500(socket)寄存器使用说明_第1页
第1页 / 共10页
w5500(socket)寄存器使用说明_第2页
第2页 / 共10页
w5500(socket)寄存器使用说明_第3页
第3页 / 共10页
w5500(socket)寄存器使用说明_第4页
第4页 / 共10页
w5500(socket)寄存器使用说明_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《w5500(socket)寄存器使用说明》由会员分享,可在线阅读,更多相关《w5500(socket)寄存器使用说明(10页珍藏版)》请在金锄头文库上搜索。

1、Socket 端口寄存器Sn3_MR (Socket n 模式寄存器) R/W 0x0000 0x00该寄存器用于配置所有 SOCKET 的选项或协议类型76543210MULTI/MFENBCASTBNO/MC/MMBUCASTBMIP6BP3P2P1P0Sn_MR 描述位符号说明7MULTI/MFENUDP多播模式(P3:0=0010)0:关闭多播 1:开启多播在MACRAW模式下开启地址过滤(P3:0=0100)0:关闭MAC过滤 1:开启6BCASTBMACRAW和UDP模式下的网络阻塞0:关闭广播阻塞 1:开启在UDP模式(P3:0=0010)可以屏蔽接收广播包在MACRAW模式P3

2、:0=0100)同样生效5NO/MC/MMB使用无延时ACKUse No Delayed ACK0:关闭无延时ACK选项1:开启无延时ACK选项在TCP(P3:0=0001)生效多播0:使用IGM版本21:使用IGM版本1在UDP模式(P3:0=0010)且MULTI=1时生效MACRAW模式多播阻塞在MACRAW P3:0=0100)生效。4UCASTBMIP6BPing Block 模式0:关闭Ping block1:启用Ping block如果该位设置为1 ping请求就没有响应3P3协议ProtocolP3P2P1P0含义0000Close0001TCP0010UDP0100MACRA

3、WMACRAW只有在Socket0下才能使用2P21P10P03n 是 Socket 编号(0,1,2,3,4,5,6,7).n 设置了 SNUM2:0控制位集 n is Socket number (0, 1, 2, 3, 4, 5, 6, 7). n is set SNUM2:0 in Control Bits sets.Sn_CR (Socket n 配置寄存器) R/W 0x0001 0x00 该寄存器用于设置 Socket n 的配置命令如 OPEN、CLOSE、CONNECT、LISTEN、END 和 RECEIVE。经 W5500 识别这一命令后,Sn_CR 寄存器会自动清零为

4、000。尽管 Sn_CR 被清零为 000,但命令仍在处理中。为了验证该命令是否完成,请检查 Sn_IR 或 Sn_SR 寄存器。值符号说明0x01OPEN按照 Sn_MR(P3:P0)的协议选择来初始化和打开(open) Socket n-th。下表显示了Sn_SR 和 Sn_MR的对应值。Sn_MR(P3:0)Sn_SRSn_MR_CLOSE (0000)Sn_MR_TCP (0001)SOCK_INIT (0x13)Sn_MR_UDP (0010)SOCK_UDP(0x22)S0_MR_MACRAW (0100)SOCK_MACRAW (0x02)0x02LISTEN该位只在 TCP模式

5、(Sn_MR(P3:Po) = Sn_MR_TCP)下生效。在这种模式下,Socket n被配置为一个TCP服务器,它是等待“TCP客户端”的连接请求(SYN数据包)。该 Sn_SR 寄存器由SocK_INIT改变为SOCK_LISTEN。当一个 TCP 客户端的连接请求成功后该 Sn_SR 寄存器由SOCK_LISTEN 改变为 SOCK_ESTABBLIESHE. 与此同时Sn_IR(0)会变为1。另一方面,当连接失败时,Sn_IR(3)被设置为1. Sn_SR 改变为S0CK_CLOSED。0x04CONNECT此模式只适用于 TCP 模式且运行 Socket n 作为 TCP 客户端。

6、通过与存储在目的地址寄存器 (Sn_DIPR) 和端口号寄存器 (sn_DPORT) 中的IP 地址和端口号进行连接,一个连接请求被发送到 TCP 服务器。当一个客户端的连接请求成功后 sn_SR 寄存器改为SOCK_ESTABLIESHED。Sn_IR(0)会变为1。以下三种情况意味着连接请求失败:1. ARPto发生超时(Sn_IR(s)=1)。因为目的地的 MAC 地址不能通过ARP过程中获取。2. 当没有收到SYN/ACK数据包,而引起TCPTO(Sn_IR(3)被设置为1时。3. 当RST数据包而不是SYN/ACK数据包被接收时。以上三种情况下,Sn_SR会该为SOCK_CLOSED

7、。0x08DISCON只有在TCP模式下有效:不论“TCP服务器”或“TCP客户端”,都使用DISCON断开。0x10CLOSE关闭socket nSn_SR改为SOCK_CLOSED。0x20SEND发送(SEND)Socket n 发送(TX)内存中的所有缓冲数据。0x21SEND_MAC只在UDP模式下有效Ox22SEND_KEEP只在TCP模式下有效0x40RECV通过使用接收读指针寄存器(Sn_RX_RD)来判定socket n 接收缓存是否完成接收处理。IR (中断寄存器) R/W 0x0015 0x00中断寄存器( IR)指明了中断的状态。 IR 的每一位都是0,直到被主机写为1

8、.如果 IR 不等于000, INTn 引脚将会被拉低。直到其变为000时, INTn 才会被 拉高。76543210CONFLICTUNREACHPPPoEMPReservedReservedReservedReserved表格IR说明位符号说明7CONFLICTIP冲突:在收到APR请求时,发现发送方IP于本地IP重复,该位将置16UNREACH目标不可抵达:当接收到ICMP(目的端口不可达)包后,该位置1。当该位为1时,通过相应的UIPR & UPORTR.可能查询到目标信息。如:IP地址和端口号。5PPPoEPPPoE连接关闭:当PPPoE模式下,PPPoE连接断开时,该位生效。4MP

9、Magic Packet:当网络唤醒模式启用并通过UDP接收到Magic Packet网络唤醒时,该位生效。30Reserved保留位Sn_SR (Socket n 状态寄存器) R 0x0003 0x00Sn_SR指示了 Socket n 的状态,并根据 Sn_CR 或者一些TCP模式下的特殊控制包,如 SYN,FIN 包而改变。Sn_SR状态描述值符号说明0x00SOCK_CLOSED该位指示了Socket n 处于关闭状态,资源被释放。当DICON,CLOSE命令生效或当触发超时中断时,W5500对应的Socket n会无视之前的状态,变为SOCK_CLOSED0x13SOCK_INIT

10、该位指示了Socket n端口打开并处于TCP工作模式。当Sn_MR (P3:0)=0001且OPEN命令生效时,Sn_SR变为SOCK_INIT。之后用户才可以使用LISTEN或CONNECT命令。0x14SOCK_LISTEN该位指示着Socket n工作在TCP服务器模式下,且等待对方(TCP客户端)的连接请求(SYN Packet)。当连接请求被成功接收以后,Socket_SR 会变为SOCK_ESTALBLISHED状态。否则将会在出发TCPt0超时中断之后,变为SOCK_CLOSED状态。0x17SOCK_ESTABLISHED指示了Socket n的连接状态。SOCK_LISTE

11、N状态下,当TCP服务器处理TCP客户端的SYN请求包或当CONNECT命令配置成功时,变为SOCK_ESTABLISHED。在此状态下,可以使用SEND或者RECV命令对数据包传输。0x1CSOCK_CLOSE_WAIT指示Socket n 接收到了来自连接对方发来的断开连接请求(FIN packet)。这是一个瓣关闭的状态,可以进行数据传输。若要全部关闭,需要使用DISCON命令。而如果是要关闭Socket,需要使用CLOSE命令。0x22SOCK_UDP指示了Socket n 处于UDP模式下 Sn_MR(P3:0)=0010。当Sn_MR(P3:0)=0010且OPEN命令生效时,Sn

12、_SR改变为SOCK_UDP。不同于TCP模式,在这个模式下,数据包可以在无连接过程的情况下传输。0x02SOCK_MACRAW指示了Socket 0 工作在MACRAW模式下SO_MR(P3:0)=0100且OPEN命令生效时,Sn_SR改变为SOCK_MACRAW.如UDP模式一样,Socket 0 工作在MACRAW模式下时。也能在无连接过程的情况下,实现MAC数据包(以太网帧)传输Sn_SR临时状态描述值符号说明0x15SOCK_SYNSENT指示了Socket n已经发送连接请求(SYN Packet)到对方。他显示了发送CONNECT命令后,Sn_SR从SOCK_INIT到SOCK

13、_ESTABLISHED的临时状态。如果此时,收到了来自对方的接受连接请求(SYN/ACK packet)则,变为SOCK_ESTABLISHED.否则,在TCPt0超时(Sn_IRTIMEOUT=1)中断之后,转变为SOCK_CLOSED。0x16SOCK_SYNRECV指示Socket n 成功的从对方收到了连接请求包(SYN packet)。如果Socket n 成功的给对方发送了连接应答(SYN/ACK packet),将转变为SOCK_ESTABLISHED状态。否则,在出发超时中断(Sn_IRTIMEOUT=1)后,变为SOCK_CLOSED。0x18SOCK_FIN_WAIT这些

14、状况表示SOCKET n正在关闭。这显示的是断开连接(主动关闭或被动关闭)的过程。当断线程序成功完成或TCPTO(Sn_IR(超时)=1)发生时,它便会更改为SOCK_CLOSED。0x1ASOCK_CLOSING0x1BSOCK_TIME_WAIT0x1DSOCK_LAST_ACK指示了Socket n在被动关闭状态下,正在等待对断开连接请求(FIN packet)做出回应(FIN/ACK packet)。当Socket n 成功接收到了断开连接请求的回应或出发超时中断,则变为SOCK_CLOSED状态。Sn_PORT (Socket n 源端口寄存器) R/W 0x0004-0x0005 0x0000 该寄存器配置了 Socket n 的源端口号。当 Socket n 工作在 TCP 或 UDP 模式下,该寄 存器生效。注意:必须在 OPEN 命令生效前,完成对该寄存器的设置。 例) 如 SOCKET 0 的端口 =5000(01388),配置应如下,0x00040x00050

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号