ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:23.95KB ,
资源ID:22931987      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22931987.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(W5500socket寄存器使用说明Word文档下载推荐.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

W5500socket寄存器使用说明Word文档下载推荐.docx

1、Use No Delayed ACK关闭无延时ACK选项1:开启无延时ACK选项在TCP(P3:0=0001)生效多播使用IGM版本2使用IGM版本1且MULTI=1时生效MACRAW模式多播阻塞在MACRAW P3:0=0100)生效。Ping Block 模式关闭Ping block1:启用Ping block如果该位设置为1 ping请求就没有响应协议Protocol含义CloseTCPUDPMACRAWMACRAW只有在Socket0下才能使用3n 是 Socket 编号(0,1,2,3,4,5,6,7).n 设置了 SNUM2:0控制位集 n is Socket number (0,

2、 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 寄存器会自动清零为 000。尽管 Sn_CR 被清零为 000,但命令仍在处理中。为了验证该命令是否完成,请检查 Sn_IR 或 Sn_SR 寄存器。值0x01OPEN按照 Sn_MR(P3:P0)的协议选择来初始化和打开(o

3、pen) 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模式(Sn_MR(P3:Po) = Sn_MR_TCP)下生效。在这种模式下,Socket n被配置为一个TCP服务器,它是等待“TCP客户端”的连接请求(SYN数据包)。该 Sn_SR 寄存器由SocK_INIT改

4、变为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 客户端。通过与存储在目的地址寄存器 (Sn_DIPR) 和端口号寄存器 (sn_DPORT) 中的IP 地址和端口号进行连接,一个连接请求被发送到 TCP 服务器。当一个客户端的连接请求成功后 sn_SR 寄存器改为SO

5、CK_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。0x08DISCON只有在TCP模式下有效:不论“TCP服务器”或“TCP客户端”,都使用DISCON断开。0x10CLOSE关闭socket nSn_SR改为SOCK_CLOSED。0x20SEND发送(SE

6、ND)Socket n 发送(TX)内存中的所有缓冲数据。0x21SEND_MAC只在UDP模式下有效Ox22SEND_KEEP只在TCP模式下有效0x40RECV通过使用接收读指针寄存器(Sn_RX_RD)来判定socket n 接收缓存是否完成接收处理。IR (中断寄存器) R/W 0x0015 0x00中断寄存器( IR)指明了中断的状态。 IR 的每一位都是0,直到被主机写为1.如果 IR 不等于000, INTn 引脚将会被拉低。直到其变为000时, INTn 才会被 拉高。CONFLICTUNREACHPPPoEMPReserved表格IR说明IP冲突:在收到APR请求时,发现发送

7、方IP于本地IP重复,该位将置1目标不可抵达:当接收到ICMP(目的端口不可达)包后,该位置1。当该位为1时,通过相应的UIPR & UPORTR.可能查询到目标信息。如:IP地址和端口号。PPPoE连接关闭:当PPPoE模式下,PPPoE连接断开时,该位生效。Magic Packet:当网络唤醒模式启用并通过UDP接收到Magic Packet网络唤醒时,该位生效。30保留位Sn_SR (Socket n 状态寄存器) R 0x0003 0x00Sn_SR指示了 Socket n 的状态,并根据 Sn_CR 或者一些TCP模式下的特殊控制包,如 SYN,FIN 包而改变。Sn_SR状态描述0

8、x00SOCK_CLOSED该位指示了Socket n 处于关闭状态,资源被释放。当DICON,CLOSE命令生效或当触发超时中断时,W5500对应的Socket n会无视之前的状态,变为SOCK_CLOSED0x13SOCK_INIT该位指示了Socket n端口打开并处于TCP工作模式。当Sn_MR (P3:0)=0001且OPEN命令生效时,Sn_SR变为SOCK_INIT。之后用户才可以使用LISTEN或CONNECT命令。0x14SOCK_LISTEN该位指示着Socket n工作在TCP服务器模式下,且等待对方(TCP客户端)的连接请求(SYN Packet)。当连接请求被成功接收

9、以后,Socket_SR 会变为SOCK_ESTALBLISHED状态。否则将会在出发TCPt0超时中断之后,变为SOCK_CLOSED状态。0x17SOCK_ESTABLISHED指示了Socket n的连接状态。SOCK_LISTEN状态下,当TCP服务器处理TCP客户端的SYN请求包或当CONNECT命令配置成功时,变为SOCK_ESTABLISHED。在此状态下,可以使用SEND或者RECV命令对数据包传输。0x1CSOCK_CLOSE_WAIT指示Socket n 接收到了来自连接对方发来的断开连接请求(FIN packet)。这是一个瓣关闭的状态,可以进行数据传输。若要全部关闭,需

10、要使用DISCON命令。而如果是要关闭Socket,需要使用CLOSE命令。0x22SOCK_UDP指示了Socket n 处于UDP模式下 Sn_MR(P3:0)=0010。当Sn_MR(P3:0)=0010且OPEN命令生效时,Sn_SR改变为SOCK_UDP。不同于TCP模式,在这个模式下,数据包可以在无连接过程的情况下传输。SOCK_MACRAW指示了Socket 0 工作在MACRAW模式下SO_MR(P3:0)=0100且OPEN命令生效时,Sn_SR改变为SOCK_MACRAW.如UDP模式一样,Socket 0 工作在MACRAW模式下时。也能在无连接过程的情况下,实现MAC数

11、据包(以太网帧)传输Sn_SR临时状态描述0x15SOCK_SYNSENT指示了Socket n已经发送连接请求(SYN Packet)到对方。他显示了发送CONNECT命令后,Sn_SR从SOCK_INIT到SOCK_ESTABLISHED的临时状态。如果此时,收到了来自对方的接受连接请求(SYN/ACK packet)则,变为SOCK_ESTABLISHED.否则,在TCPt0超时(Sn_IRTIMEOUT=1)中断之后,转变为SOCK_CLOSED。0x16SOCK_SYNRECV指示Socket n 成功的从对方收到了连接请求包(SYN packet)。如果Socket n 成功的给对

12、方发送了连接应答(SYN/ACK packet),将转变为SOCK_ESTABLISHED状态。否则,在出发超时中断(Sn_IRTIMEOUT=1)后,变为SOCK_CLOSED。0x18SOCK_FIN_WAIT这些状况表示SOCKET n正在关闭。这显示的是断开连接(主动关闭或被动关闭)的过程。当断线程序成功完成或TCPTO(Sn_IR(超时)=1)发生时,它便会更改为SOCK_CLOSED。0x1ASOCK_CLOSING0x1BSOCK_TIME_WAIT0x1DSOCK_LAST_ACK指示了Socket n在被动关闭状态下,正在等待对断开连接请求(FIN packet)做出回应(F

13、IN/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),配置应如下,0x00040x00050x88Sn_DHAR (Socket n 目的 MAC 地址寄存器) R/W 0x000

14、6-0x000B 0xFFFFFFFFFFFF Sn_DHAR 寄存器指示的为:UDP 模式下,使用 Send_MAC 配置命令,配置 Socket n 的目标主机 MAC 地址;或者 CONNECT/SEND 配置命令,ARP 过程获取到的 MAC 地址。 例) 如 Socket 0 的目标 MAC 地址 = 08.DC.00.01.02.10,配置应如下0x00060x00070x00080x00090x000A0x000B0xDC0x0ASn_DIPR (Socket 目标 IP 地址寄存器) R/W 0x000C-0x000F 0x00000000 Sn_DIPR 配置或指示的为 So

15、cket n 的目标主机 IP 地址,在 TCP/UDP 模式下生效。在 TCP 客户端模式下,在 CONNECT 配置命令前,该寄存器设置了 TCP 服务器的 IP 地址。在 TCP 服务器模式下,他显示了在成功建立连接后,TCP 客户端的 IP 地址;在 UDP 模式下,他配置了对方主机的 IP 地址以供 SEND 或 SEND_MAC 配置命令后接 收 UDP 包。例) 如 Socket 0 的目标 IP 地址= 192.168.0.11, 配置应如下,0x000C0x000D0x000E0x000F192(0xC0)168(0xA8)0(0x00)11(0x0B)Sn_DPORT (S

16、ocket n 目标端口寄存器) R/W 0x0010-0x0011 0x00 Sn_DPORT 配置或指示了 Socket n 的目标主机端口号,在 TCP/UDP 模式下生效。在 TCP 客户端模式下,在 CONNET 配置命令前,该寄存器配置了 TCP Server 监听的 端口号。在 TCP 服务器模式下,他显示了在成功建立连接后,TCP 客户端的端口号;在 UDP 模式下,他配置了对方主机的端口号以供 SEND 或 SEND_MAC 配置命令后接收 UDP 包。例) 如 Socket 0 的目标端口号 = 5000(01388) ,配置应如下,0x00100x0011最大分段寄存器R

17、/W 0x0012-0x0013 0x0000该寄存器配置或显示了 Socket n 的最大传输单元 MTU(Maximum Transfer Unit)。 在 TCP/UDP 模式下,默认该寄存器设定的最大传输单元生效。ModeNormal(MR(PPPoE)=0)PPPoE(MR(PPPoE)=1)Default MTURangeDefault1460114601452114521472114721464114641514当 Socket n 处于 MACRAW 模式时,由于 MTU 不在内部处理,默认的 MTU 将会生效, 因此,当传输的数据比默认的 MTU 大时,主机需要手动的将数据划

18、分成默认 MTU 大小 单元进行传输。当 Socket n 处于 TCP/UDP 模式,而传输的数据比 MTU 大时,数据将会被自动的划分 成默认MTU 单元大小传输。在 UDP 模式下,由于不像 TCP 模式那样涉及到一些连接过程,所以使用了 MTU 配置。 当不同大 小的 MTU 数据传输给对方是时,可能会收到 ICMP 包(MTU 分片)。这样的话 IR(FMTU)置1,对 方的信息如 MTU 大小以及 IP 地址将分别由 FMTUR 和 UIPR 指定。 如果 IRMTU = 1,用户不 能发送数据到对方。如果要重新恢复与对方的通讯,可以按 照以下操作:1. 通过 CLOSED 配置命

19、令关闭 Socket。2. 设置 Sn_MSS 指定 FMTUR 中的 MTU。3. 通过 OPEN 配置命令打开 Socket n。4. 重新与对方通信例) 如 Socket 0 的 MSS = 1460(0x05B4) 0x00120x00130x050xB4服务类寄存器R/W 0x0015 0x00该寄存器设置在 IP 层里 IP header 的 TOS(Type of Service 服务类型) 字段。它应在执 行 OPEN 命令之前设置。生存时间寄存器R/W 0x0016 0x80该寄存器设置在 IP 层里 IP 头的 TTL(Time-To-Live 生存时间) 字段。它应在执行

20、OPEN 命令之前设置。接收缓存大小寄存器R/W 0x001E 0x02Sn_RXBUF_SIZE 配置了 Socket n 的接收缓存大小。Socket n 接收缓存区大小可以配置 为 1,2, 4,8 和 16Kbytes。如果配置为其他大小,则 W5500 不能正常的从对方主机接 收数据。即使 Socket n 的接收缓存大小初始默认为 2Kbytes。用户仍然可以使用 Sn_RXBUF_SIZE 重新定义。但是所有 Socket 接收缓存(Sn_RXBUF_SIZE)的总大小不能超16Kbytes。否则,将会使得接收异常。当所有的 Sn_RXBUF_SIZE配置完成后,就会按照 Soc

21、ket0 到 7 的顺序依次将16Kbytes 的接收内存分配给各个 Socket 作为接收缓存使用。不论 Socket n 的接收缓存配置的大小如何,都可以被 16 位的偏移地址寻址找到。(寻址范围: 00000 到 0xFFFF)Value(dec)816Buffer size0KB1KB2KB4KB8KB16KB例) Socket 0 RX Buffer Size = 8KB0x001E发送缓存大小寄存器R/W 0x001F 0x02Sn_TXBUF_SIZE 配置了 Socket n 的发送缓存大小。Socket n 发送缓存区大小可 以配置为 1,2,4,8 和 16Kbytes。如

22、果配置为其他大小,则 W5500 不能正常给对 方主机发送数据。即使 Socket n 的发送缓存大小初始默认为 2Kbytes。但是所有 Socket 发送缓存的总大小不能超过 16Kbytes。 否则,将会 使得发送异常。当所有的 Sn_TXBUF_SIZE 配置完成后,就会按照 Socket 0 到 7 的顺序依次将 16Kbytes 的发送内存分配给各个 Socket 作为发送缓存使用。不论 Socket n 的接发送存配置的大小如何,都可以被 16 位的偏移地址寻址找到。 (寻址范围:0例) Socket 0 TX Buffer Size = 4KB0x001FSn_TX_FSR (

23、Socket n 空闲发送缓存寄存器) R 0x0020-0x0021 0x0800Sn_TX_FSR显示了Socketn发送缓存的空闲空间大小。该寄存器初始化配 置为Sn_TXBUF_SIZE 大小。当传输数据比 Sn_TX_FSR 大时,将不能保存到 Socket n 的发送 缓存中。因为多出来的数据会覆盖之前未传输完成的数据。因此在向 Socket n 发送缓 保存数据之前,需要先检查一下数据大小是否等于或小于其剩余空间,然后再保存数据 到发送缓存并通过 SEND/SEND_MAC配置命令发送。如果数据比检查到的剩余空间大, 需要将数据划分成小于或等于剩余空间的大小之后,再保存数据到 S

24、ocket n 发送缓存。如果 Sn_MR(P3:0)不是 TCP 模式(0001), W5500 将计算发送写指针(Sn_TX_WR)和Socket n 发送读指针之间的空间,并自动将数据划分成相应大小。0)是 TCP 模式(0001), W5500 将计算发送写指针(Sn_TX_WR)与内 部 ACK 指针(指示已经从连接对方接收数据的节点位置)之间的空间。例) 如 2048(00800) 在 S0_TX_FSR 时,例) In case of 2048(00800) in S0_TX_FSR,0x00200x0021Sn_TX_RD (Socket n 发送读指针寄存器) R 0x002

25、2-0x0023 0x0000Sn_TX_RD 寄存器可以通过 OPEN 配置命令进行初始化。然而,如果 Sn_MR(P3:0)是TCP 模式(0001),该寄存器将会在 TCP 连接期间,重新进行初始化。 该寄存器初始化之后,会根据SEND 配置命令自增。SEND 配置命令传输的是 Socket n发送缓存中,当前 Sn_TX_RD 到 Sn_TX_WR 之间保存的数据。在传输完保存的数据之后,SEND 配置命令会使得 Sn_TX_RD 等于 Sn_TX_WR。当 Sn_TX_RD 增加的值超出最大值0xFFFF(大于 010000 并产生进位), Sn_TX_RD 会忽略进位,仅使用低 1

26、6 位的值。Sn_TX_WR (Socket n 发送写指针寄存器) R/W 0x0024-0x0025 0x0000Sn_TX_WD 寄存器可以通过 OPEN 配置命令进行初化。 该寄存器需要读取或更新如下。1. 读取发送缓存中将要保存传输数据的首地址。2. 从 Socket n 的发送缓存对应的首地址开始,保存需要传输的数据;3. 在保存完传输数据之后,将 Sn_TX_WR 的值增加到传输数据大小。如果增加后, 超过最大值0xFFFF(比 010000 大且产生进位),那么将自动忽略进位,并自动 更新为低 16 位的值。4. 通过使用 SEND 命令发送保存在 Socket n 发送缓存中的数据。Sn_RX_RSR (Socket n 空闲接收缓存寄存器) R 0x0026-0x0027 0x0000Sn_RX_RSR 显示了 Socket n 接收缓存中已接收和保存的数据大小。Sn_RX_RSR 不会超过 n_RXBUF_SIZE 大小,且计算的为 Socket n 接收写指针(Sn_RX_WR)和 Socket n 接收读指针之间的空间大小。 例) 如 2048(0x0800) 在 S0_RX_RSR 时,0x00260x0027

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1