微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > iEthernet W5200数据手册(版本1.2.4)之:寄存器说明

iEthernet W5200数据手册(版本1.2.4)之:寄存器说明

时间:09-18 来源:3721RD 点击:

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top