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

2020-04-14 18:50

By:liu guo qing

1 :终止报文 当从路由器或交换机收到终止报文时,该位置?1 ?。当设置为?1 ?时,将停止数据传输,直到该位为?0? MR[13] MR[12] MR[11] MR[10] WDF2 WDF1 WDF0 RDH 写数据访问时间 当写数据操作时,/CS为低电平后,W5300在WDF×PLL_CLK时间后取写入的数据,如果主机写操作在WDF×PLL_CLK完成(/CS 恢复为高电平),写入的数据在?/CS?为高电平时取走 读数据保持时间 0 :没有数据保持时间 1 :数据保持时间为2×PLL_CLK 在主机进行读操作时,当主机的读操作完成(/CS 恢复高电平)后,W5300在2×PLL_CLK时间之内保持读取的数据。在这种情况下,注意数据总线上的数据冲突 MR[9] MR[8] - FS 保留 FIFO交换 0 :禁止交换 1 :允许交换 它用于高字节和低字节的交换。W5300的字节一般采用大端模式。如果主机系统采用小端模式,那么将该位置?1 ?,将Sn_TX_FIFOR 和Sn_RX_FIFOR 的字节顺序交换,使用效果与小端模式相同 MR[7] MR[6] MR[5] RST - MT 软件复位 该位置?1 ?,对W5300软件复位。复位结束后自动清?0 ? 保留 存储器测试 0 :禁止内部RX/TX 存储器测试 1 :允许内部存储器测试 一般来讲,W5300内部TX存储器支持主机通过Sn_TX_FIFOR寄存器的写操作,而内部RX存储器只支持主机通过Sn_RX_FIFOR 寄存器的读操作。如果该位置?1?,内部RX/TX 存储器同时支出通过Sn_TX_FIFOR和Sn_RX_FIFOR 的读写操作,从而校验内部TX/RX 存储器。测试W5300内部TX/RX 完成后,需要对系统重新复位或关闭端口。 MR[4] PB Ping 功能阻止模式 0 :允许Ping 1 :禁止Ping 自动Ping应答支持最多119 个字节。 Ping功能阻止模式还需要考虑Sn_MR和Sn_PROTOR的设置。 MR[3] PPPoE PPPoE模式 0 :禁止PPPoE模式 1 :启动PPPoE模式 MR[2] DBS 数据总线交换 0 :禁止交换 1 :允许交换 DBS位只交换Sn_TX_FIFOR/Sn_RX_FIFOR的高字节和低字节。然而该位交换所有寄存器的高字节和低字节,包括Sn_TX_FIFOR/ 6 / 27

By:liu guo qing

Sn_RX_FIFOR 寄存器。该位只有DBW为?1?时有效。 MR[1] MR[0] - IND 保留 间接总线模式 0 :直接总线模式 1 :间接总线模式 它设置W5300与主机的接口模式 3.2.3 host主机中断设置

主机中断设置即为对中断屏蔽寄存器进行配置,它配置W5300的中断并报告给主机。IMR 的每一个中断屏蔽位对应IR的每一个中断位。当IR的任何一个位为?1?且相应的IMR 位也为?1?时,将向主机产生中断(?/INT ?输出低电平)。如果相应的IMR位为?0?,将不产生中断(?/INT ?保持高电平),即使IR位为?1?。

? IMR寄存器地址:0x004 ? IMR基础器配置值:0x80FF

下表2.2.3-1为IR寄存器的位说明,可以根据IR寄存器对IMR寄存器进行配置:

表3.2.3-1 IR寄存器

位 IR[15] 符号 IPCF IP 冲突 说明 当IP 地址产生冲突时,该位置?1?时(当接收到ARP请求数据包的IP 地址与W5300本机IP地址相同)。当它置?1?时,网络中的另外一个设备使用了相同的IP 地址,将造成通信错误。因此需要尽快采取措施解决这个问题。 IR[14] DPUR 目标端口无法到达 当收到ICMP (目的端口无法到达)数据包时,该位置?1 ?。 该中断用于UDP协议传输。 IR[13] IR[12] PPPT FMTU PPPoE中止 在PPPoE模式,当与服务器连接关闭时,该位置?1?。 分片最大传输单元(MTU) 当收到ICMP (分片最大传输单元)数据包时,该位置?1 ?。 在基于UDP协议传输时,需要考虑。TCP协议下可以不需要考虑。 IR[11:8] IR[7] - S7_INT 保留 SOCKET7中断 当SOCKET7产生中断时,该位置?1?。该中断信息对应于S7_IR1。当S7_IR1被主机清?0?后,该位自动清?0?。 IR[6] S6_INT SOCKET6中断 当SOCKET6产生中断时,该位置?1?。该中断信息对应于S6_IR1。当S6_IR1被主机清?0?后,该位自动清?0?。 IR[5] S5_INT SOCKET5中断 当SOCKET5产生中断时,该位置?1?。该中断信息对应于S5_IR1。当S5_IR1被主机清?0?后,该位自动清?0?。 IR[4] S4_INT SOCKET4中断 当SOCKET4产生中断时,该位置?1?。该中断信息对应于S4_IR1。当 7 / 27

By:liu guo qing

S4_IR1被主机清?0?后,该位自动清?0?。 IR[3] S3_INT SOCKET3中断 当SOCKET3产生中断时,该位置?1?。该中断信息对应于S3_IR1。当S3_IR1被主机清?0?后,该位自动清?0?。 IR[2] S2_INT SOCKET2中断 当SOCKET2产生中断时,该位置?1?。该中断信息对应于S2_IR1。当S2_IR1被主机清?0?后,该位自动清?0?。 IR[1] S1_INT SOCKET1中断 当SOCKET1产生中断时,该位置?1?。该中断信息对应于S1_IR1。当S1_IR1被主机清?0?后,该位自动清?0?。 IR[0] S0_INT SOCKET0中断 当SOCKET0产生中断时,该位置?1?。该中断信息对应于S0_IR1。当S0_IR1被主机清?0?后,该位自动清?0?。 3.2.4 基本网络信息设置

基本网络信息设置,即为对W5300的本机硬件地址(MAC)寄存器(SHAR)、网关IP地址寄存器(GAR)、子网掩码寄存器(SUBR)和本机IP地址寄存器(SIPR)进行配置。

1) 本机硬件地址(MAC)寄存器(SHAR)配置:

? SHAR0寄存器地址:0x008

? SHAR0寄存器配置值:MAC[47:32] ? SHAR2寄存器地址:0x00A

? SHAR2寄存器配置值:MAC[31:16] ? SHAR4寄存器地址:0x00C

? SHAR4寄存器配置值:MAC[15:0] 2) 网关IP地址寄存器(GAR)配置:

? GAR0寄存器地址:0x010

? GAR0寄存器配置值:GAR[31:16] ? GAR1寄存器地址:0x012

? GAR1寄存器配置值:GAR[15:0] 3) 子网掩码寄存器(SUBR)配置:

? SUBR0寄存器地址:0x014

? SUBR0寄存器配置值:SUBR [31:16] ? SUBR1寄存器地址:0x016

? SUBR1寄存器配置值:SUBR [15:0] 4) 本机IP地址寄存器(SIPR)

? SIPR0寄存器地址:0x014

? SIPR0寄存器配置值:SUBR [31:16] ? SIPR1寄存器地址:0x016

? SIPR1寄存器配置值:SUBR [15:0]

8 / 27

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


W5300控制器详细设计及使用说明文档 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2019四年级上册数学教案51自然数冀教版()语文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: