iEthernet W5200数据手册(版本1.2.4)之:寄存器说明
4 寄存器说明
4.1 通用寄存器
MR (模式寄存器) [R/W] [0x0000] [0x00]
该寄存器用于 S/W 复位',ping block模式和PPPoE模式。.
GAR (网关IP地址寄存器) [R/W] [0x0001 – 0x0004] [0x00]
该寄存器用来设置默认网关地址。
例) "192.168.0.1"
SUBR (子网掩码寄存器) [R/W] [0x0005 – 0x0008] [0x00]
该寄存器用来设置子网掩码地址。
例) "255.255.255.0"
SHAR (源MAC地址寄存器) [R/W] [0x0009 – 0x000E] [0x00]
该寄存器用来设置源MAC地址。
Ex) 例如: "00.08.DC.01.02.03"
SIPR (源IP地址寄存器) [R/W] [0x000F – 0x0012] [0x00]
该寄存器用来设置源IP地址。
例) "192.168.0.2"
IR (中断寄存器) [R] [0x0015] [0x00]
CPU通过访问该寄存器获得产生中断的来源。任何中断源都可以被中断屏蔽寄存器(IMR)进
行位屏蔽。当任何一个未屏蔽的中断位为"1",/INT的信号将保持低电平。只有当所有未屏蔽
的中断位为0,/INT才恢复高电平。(也就是说,/INT为低电平意味着W5200有中断产生,
高电平意味着无中断产生或者中断被屏蔽了)
IMR (中断掩码寄存器) [R/W] [0x0036] [0x00]
中断屏蔽寄存器(IMR)用来屏蔽中断源。每个中断屏蔽位对应中断寄存器(IR)中的一个位。
如果中断屏蔽位被置"1"时,无论何时IR对应的位也置"1",中断即会产生。而当IMR中屏蔽
位被清"0",即使对应的IR中断位置"1",也不会产生中断。(简单来讲,IMR中"1"就是允许
中断的意思,"0"就是屏蔽中断的意思。)
RTR (重试时间值寄存器) [R/W] [0x0017 – 0x0018] [0x07D0]
该寄存器用来设置溢出的时间值。每一单位数值为100 微秒。初始化时值设为2000(0x07D
0),即相当于200 毫秒
例) 当超时周期被设置为400ms时,RTR = 400ms /100us = 4000(0x0FA0)
如果没有来自远程对等连接点的CONNECT、DISCON、CLOSE、SEND、SEND_MAC和
SEND_KEEP命令回应,或回应的命令被延迟时,重新传送就会发生。
RCR(重试计数寄存器) (Retry Count Register) [R/W] [0xFE0019] [0x08]
该寄存器是设置重新传送的次数。当重新传送发生超过‘RCR+1’次,超时中断就会置‘1’。
(中断寄存器(Sn_IR)的 ‘中断’位(‘TIMEOUT’ bit)设置为'1')。
假如在TCP通讯中,Sn_SR(Socket n-th的状态寄存器)的数值会变为'SOCK_CLOSED'与此同时
Sn_IR(Socket n-th的中断寄存器)(TIMEOUT)会置'1'。如果不是TCP通讯,就只有Sn_IR
(TIMEOUT)会置 ‘1’。 例) RCR = 0x0007
W5200的超时可以用RTR和RCR来配置。W5200的超时包括地址解析协议(ARP)和TCP重新传
送超时。
在ARP的重新传送超时(请参阅 RFC 826 http://www.ietf.org/rfc.html),W5200会自动发
送ARP请求去对方(peer)的IP地址,从而获取MAC地址信息(IP、UDP或TCP用于通信)。至
于等待对方(peer)的ARP 响应方面,如在RTR中设置了重新传送时间时,对方(peer)的ARP没
有响应,超时发生和ARP将会请求重新传送。一直重复此步骤达'RCR+1'次。
如果在ARP重复请求重新传送次数达到'RCR+1'次时,仍然没有得到ARP响应,就会触发最终
超时中断,Sn_IR(TIMEOUT)会变为'1'。
ARP请求的最终超时值(ARPTO)如下:
在RTR和RCR设置了的时间期间,发生TCP数据包重新传送超时,W5200就会发送 TCP 数据
包(SYN、 FIN、RST、数据包)和等待确认(ACK)。如果没有对方(peer)的ACK响应,就会
触发超时且TCP数据包(较早前传送的)会重新传送。直到重新传送'RCR+1'次。即使TCP数
据包重新传送'RCR+1'次,如果对方(peer)仍然没有的ACK回应,就会触发最终超时,Sn_SR会
变为 'SOCK_CLOSED,且同一时间Sn_IR(TIMEOUT)='1'。
TCP数据包重新传送的最终超时(TCPTO)可以用以下公式计算:
例) 当 RTR = 2000(0x07D0),RCR = 8(0x0008),
ARPTO = 2000 X 0.1ms X 9 = 1800ms = 1.8s
TCPTO = (0x07D0 + 0x0FA0 + 0x1F40 + 0x3E80 + 0x7D00 + 0xFA00 + 0xFA00
+ 0xFA0 + 0xFA00) X 0.1ms
= (2000 + 4000 + 8000 + 16000 + 32000 + ((8 - 4) X 64000)) X 0.1ms
= 318000 X 0.1ms = 31.8s
PART(PPPoE模式的身份验证模式) [R] [0x001C-0x001D] [0x0000]
该寄存器显示已经被PPPoE 服务器识别的身份认证类型。W520
- iEthernet W5200数据手册(版本1.2.4)之:引脚分配(09-18)
- iEthernet W5200数据手册(版本1.2.4)之:外部接口(09-18)
- iEthernet W5200数据手册(版本1.2.4)之:电器规格(09-18)
- 高性能32位移位寄存器单元的设计(06-14)
- STM32F之RTC(07-05)
- W5500 数据手册 Version 1.0 之:寄存器和内存构成(09-18)