当前位置:首页 > W5300控制器详细设计及使用说明文档 - 图文
By:liu guo qing
3 流程控制
3.1 W5300 RESET
通过W5300芯片的?/RESET?接口对芯片进行复位,低电平有效。
RESET信号低电平至少持续2us ,为了使锁相环逻辑稳定,复位信号恢复高电平后至少等待10ms,见图3.1-1。
W5300不支持上电复位。因此必须由外部系统给出复位信号。 在复位信号有效的2us期间,需要对?BIT16EN?接口进行配置。?BIT16EN?为 16/8 位数据位选择,它确定W5300的数据位的宽度:高电平选择16位数据位,低电平选择8位数据位。在复位期间,它被锁存在模式寄存器(MR)的第15位,复位后它的改变不会产生影响。即数据位的宽度在复位后不会发生改变。
图3.1-1 W5300复位初始化
3.2 W5300初始化
3.2.1 数据位宽设置
数据位宽的设置可参见3.1节,根据实际使用,?BIT16EN?接口信号可以始终配置为?1?。
3.2.2 主机接口模式和时序设置
主机的接口模式和时序设置即为对W5300的模式(MR)寄存器进行配置: ? MR寄存器地址:0x000 ? MR基础器配置值:0xB800
下表3.2.2-1为MR寄存器的配置说明:
表3.2.2-1 MR寄存器
位 MR[15] 符号 DBW 数据总线宽度 0 :8 位数据总线宽度 1 :16位数据总线宽度 说明 在W5300复位期间,这个值由BIT16EN引脚的电平确定。复位后,这个值不改变 。 MR[14] MPF MAC层终止数据报文 0 :正常报文 5 / 27
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
共分享92篇相关文档