Data Sheet

© Copyright 2013 WIZnet Co.,Ltd. All rights reserved.
30
iEthernet
W5200
Sn_SR (Socket n Status Register) [R] [0x4003+0x0n00] [0x00]
This register provides the status of Socket n . SOCKET status are changed when using the
Sn_CR register or during packet transmission/reception. The table below describes the
different states of Socket n .
Value
Symbol
Description
0x00
SOCK_CLOSED It is the status that resource of SOCKETn is released. When
DISCON or CLOSE command is performed, or ARP
TO
, or TCP
TO
occurs, it is changed to SOCK_CLOSED regardless of
previous value.
0x13
SOCK_INIT It is shown in case that Sn_MR is set as TCP and OPEN
commands are given to Sn_CR. It is changed to SOCK_INIT
when Sn_MR (P3:P0) is Sn_MR_TCP and OPEN command is
performed. It is the initial step of TCP connection
establishment.
It is possible to perform LISTEN command at the "TCP
SERVER" mode and CONNECT command at the "TCP CLIENT".
It is the status that SOCKETn operates as "TCP SERVER" and
waits for connect-request (SYN packet) from "TCP CLIENT".
0x14
SOCK_LISTEN Socket n operates in TCP Server Mode and waits for a
connection-request (SYN packet) from a “TCP CLIENT”.
When the LISTEN command is used, the stage changes to
SOCK_LISTEN
Once the connection is established, the SOCKET state
changes from SOCK_LISTEN to SOCK_ESTABLISHED; however,
if the connection fails, TCP
TO
occurs (Sn_IR(TIME_OUT) =
‘1’) and the state changes to SOCK_CLOSED.
0x17
SOCK_ESTABLISHED
It is shown in case that connection is established. It is
changed to SOCK_ESTABLISHED when SYN packet from TCP
CLIENT” is successfully processed at the SOCK_LISTEN, or
CONNECTS command is successfully performed. At this
status, DATA packet can be transferred, that is, SEND or
RECV command can be performed.
0x1C
SOCK_CLOSE_WAIT
It is the status that disconnect-request (FIN packet) is
received from the peer As TCP connection is half-closed, it
is possible to transfer data packet. In order to complete the
TCP disconnection, DISCON command should be performed.
For SOCKETn close without disconnection-process, CLOSE
command should be just performed.