云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > W5300控制器详细设计及使用说明文档 - 图文

W5300控制器详细设计及使用说明文档 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/5 7:45:05

By:liu guo qing

3.2.5 重新发送参数设置

重新发送参数设置,即为对W5300的重复发送超时寄存器(RTR)和重复发送计数寄存器(RCR)进行配置。

1) 重复发送超时寄存器(RTR)用于配置重复发送超时周期的值。RTR的标准单位是

100us ,RTR初始化设置为2000(0x7D0 ),超时的时间周期为200ms。 ? RTR寄存器地址:0x01C

? RTR寄存器配置值:0x07D0(200ms)

2) 重复发送计数寄存器(RCR)用于配置重复发送的次数。当重复发送的次数达到

?RCR+1?时,将产生超时中断(Sn_IR 的?TIMEOUT?位置?1?)。 ? RCR寄存器地址:0x01E

? RCR寄存器配置值:0x3(3次)

APP和TCP的超时计算可参见W5300的数据手册。

3.2.6 SOCKETn 的内部TX/RX 存储器空间分配设置

W5300内部包含16个8K字节的存储单元。这些存储单元依次映射在128K字节的存储器空间。128K存储器分为发送存储器(TX)和接收存储器(RX)。内部TX和RX存储器以8K字节为单元分布在128K字节空间。内部TX/RX 存储器可以在0~64K 字节空间以1K字节为单元从新分配给每个SOCKET。

1) 定义内部TX/RX 存储器大小可以在存储器单元类型寄存器(MYTPER)中配置,

每个8K字节的存储单元对应MTYPER的一个位。当该位为?1?时,它用于TX存储器,当该位为?0?时,它用于RX存储器。MTYPER的低位都配置为TX存储器。其余没有配置为TX存储器的都应该设置为?0?。 ? MYTPER寄存器地址:0x030

? MYTPER寄存器配置值:0x00FF(平均分配)

2) 每个SOCKET的内部TX存储器的大小由TX存储器大小配置寄存器(TMSR)配

置。每个SOCKET在复位后自动分配8K字节的TX存储空间。 ? TMS01R寄存器地址:0x020 ? TMS01R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x190E)

? TMS23R寄存器地址:0x022 ? TMS23R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x1900)

? TMS45R寄存器地址:0x024 ? TMS45R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x0000)

? TMS67R寄存器地址:0x026 ? TMS67R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x0000)

3) 每个SOCKET的内部RX存储器的大小由RX存储器大小配置寄存器(RMSR)配

置。

每个SOCKET在复位后自动分配8K字节的RX存储空间。 ? RMS01R寄存器地址:0x028

9 / 27

By:liu guo qing

? RMS01R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x190E)

? RMS23R寄存器地址:0x02A ? RMS23R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x1900)

? RMS45R寄存器地址:0x02C ? RMS45R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x0000)

? RMS67R寄存器地址:0x02E ? RMS67R寄存器配置值:高8位为SOCKET0的配置值,低8位为SOCKET1

的配置值(0x0000)

3.3 数据通信

完成初始化设置以后,W5300可以以TCP 、UDP、IPRAW 或MACRAW的方式打开SOCKET发送或接收数据。根据实际使用,在此只描述基于TCP协议的W5300工作方法。

在TCP 模式,首先要根据IP 地址和端口号与对端建立SOCKET连接。通过连接的SOCKET发送和接收数据。

建立SOCKET的连接有“TCP 服务器”和“TCP 客户端”之分。区分它们的方法是谁首先发送连接请求(SYS数据包)。“TCP 服务器”等待对端的连接请求,当收到连接请求时建立SOCKET连接(被动打开)。“TCP 客户端”主动发出连接请求,与对端建立连接(主动打开)。

下图3.3-1为W5300在TCP模式下数据通信的工作流程:

W5300 initializationData communicate (TCP)Socketn openSocketn openNSocketn openSocketn openListenListenEstabished?Estabished?YConnectConnectReceived Data?Received Data?NYReceiving ProcessReceiving ProcessSend Data?Send Data?NYSending ProcessSending ProcessReceived Fin?Received Fin?NYDisconnecting Disconnecting ProcessProcessDisconnect?Disconnect?NYClosed?Closed?NNTimeout?Timeout?Timeout?Timeout?YYYCloseClose 图3.3-1 TCP模式下数据通信工作流程

10 / 27

By:liu guo qing

3.3.1 SOCKET初始化

为了实现TCP 通信,需要对SOCKET进行初始化设置并打开SOCKET。为了打开SOCKET,选择其中的一个SOCKET(被选择的SOCKET称之为SOCKETn), 通过

SOCKETn 模式寄存器(Sn_MR) 和SOCKETn源端口号寄存器(Sn_PORTR)分别设置通信协议和本机端口号(在TCP 服务器模式,称之为侦听端口号),然后执行OPEN 命令。执行完OPEN 命令后,如果Sn_SSR 改变为SOCK_INIT,则SOCKET的初始化设置完成。 3.3.1.1

SOCKETn 模式寄存器设置

SOCKETn模式寄存器(Sn_MR)用于配置SOCKET的协议类型及相关一些选项。

? Sn_MR寄存器地址:0x200(0x240、0x280)

? Sn_MR寄存器配置值:0x0121(队列对齐、允许无延时响应、TCP模式) 下表2.3.1.1-1为SOCKETn模式寄存器(Sn_MR)的配置位说明:

表3.3.1.1-1 Sn_MR寄存器

位 Sn_MR[15:9] Sn_MR[8] 符号 - ALIGN 保留 队列对齐 0:不使用对齐 1:使用对齐 说明 只有在TCP 模式下有效,在TCP 通信过程中,当每次收到的数据包的字节数为偶数且该位置为?1?时,接收数据可直接删去附在接收数据包中的PACKET-INFO(数据的字节数),使读取数据的操作大大增强。 Sn_MR[7] MULTI 多播 0:禁止多播 1:允许多播 只有在UDP模式下有效 Sn_MR[6] MF MAC地址过滤 0:禁止MAC地址过滤 1:允许MAC地址过滤 只有在MACRAW模式下有效 Sn_MR[5] ND 使用无延时的ACK 0:禁止延时ACK选项 1:允许延时ACK选项 只有在TCP 模式下有效,当该位置?1?,收到对端的数据包后立即发送ACK数据包响应。建议将该位置?1?,以提高TCP 通信的性能。 Sn_MR[4] Sn_MR[3:0] - P[3:0] 保留 协议类型。 它用于配置每个SOCKET的通信协议(TCP、UDP、IPRAW,MACRAW等)或PPPoE SOCKET与PPPoE服务器之间的操作。 4?b0000 : SOCKET Closed; 4?b0001 : TCP; 4?bxxx0 :其它 11 / 27

By:liu guo qing

3.3.1.2 SOCKETn中断屏蔽寄存器设置

SOCKETn中断屏蔽寄存器(Sn_IMR)配置SOCKETn 向主机产生的中断,Sn_IMR的中断屏蔽位与SOCKETn中断寄存器(Sn_IR)是对应的。参考2.2.3主机中断设置。

? Sn_IMR寄存器地址:0x204(0x244、0x284)

? Sn_IMR寄存器配置值:0x001B(send_OK、timeout、discon、con)

下表3.3.1.2-1为Sn_IR寄存器的位说明,可以根据Sn_IR寄存器对Sn_IMR寄存器进行配置:

表3.3.1.2-1 IR寄存器

位 Sn_IR[7] Sn_IR[6] Sn_IR[5] Sn_IR[4] Sn_IR [3] Sn_IR [2] Sn_IR [1] Sn_IR[0] 符号 PRECV PFAIL PNEXT SENDOK TIMEOUT RECV DISCON CON PPP接收中断 说明 接收到不支持的可选数据(Option Data)时,该位置位。 PPP失败中断 PAP认证失败时该位置位 PPP下一过程中断 在PPPoE连接过程中,该过程改变时置位 发送完成中断 SEND 命令完成后置位 超时中断 在ARP和TCP 过程中超时置位 接收数据中断 端口从对端接收到数据时置位 断开连接中断 接收到从对端来的FIN或FIN/ACK 数据包时置位 连接中断 与对端成功建立连接时置位 3.3.1.3 SOCKETn目的IP 地址寄存器

在TCP 客户端模式下,运行CONNECT 命令之前,必须将SOCKETn目的IP 地址寄存器(Sn_DIPR)设置为TCP 服务器的IP 地址。而在TCP 服务器模式,当成功建立连接以后,它被W5300自动配置为TCP 客户端的IP 地址。

? Sn_DIPR 0寄存器地址:0x214(0x254、0x294) ? Sn_DIPR 0寄存器配置值:DIPR [31:16]

? Sn_DIPR 1寄存器地址:0x216(0x256、0x296) ? Sn_DIPR 1寄存器配置值:DIPR [15:0] 3.3.1.4

端口号寄存器设置

端口号寄存器设置包括对SOCKETn源端口号寄存器(Sn_PORTR)和SOCKETn目的端口号寄存器(Sn_DPORTR)的配置。

1) SOCKETn源端口号寄存器(Sn_PORTR)用于配置源端口的端口号,必须在OPEN

12 / 27

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

By:liu guo qing 3.2.5 重新发送参数设置 重新发送参数设置,即为对W5300的重复发送超时寄存器(RTR)和重复发送计数寄存器(RCR)进行配置。 1) 重复发送超时寄存器(RTR)用于配置重复发送超时周期的值。RTR的标准单位是100us ,RTR初始化设置为2000(0x7D0 ),超时的时间周期为200ms。 ? RTR寄存器地址:0x01C ? RTR寄存器配置值:0x07D0(200ms) 2) 重复发送计数寄存器(RCR)用于配置重复发送的次数。当重复发送的次数达到?RCR+1?时,将产生超时中断(Sn_IR 的?TIMEOUT?位置?1?)。 ? RCR寄存器地址:0x01E ? RCR寄存器配置值:0x3(3次) APP和T

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com