English
Language : 

W3100A Datasheet, PDF (31/63 Pages) List of Unclassifed Manufacturers – i2Chip W3100A
TCP Data Reception Process
TCP starting point Cx_RW_PR = A
ESTABLISHED Cx_RR_PR= A
recv LEN TCP receive
cal RDS(recv
data size)
RDS <=
Cx_RW_PR -
Cx_RR_PR
No
RDS >=
recv LEN
Yes
read data from
Cx_RR_PR
read data
Cx_RR_PR <=
Cx_RR_PR + LEN
update
Cx_RR_PR
recv command
TCP data reception by W3100A is illustrated in the above diagram. In W3100A, when data is received
from the peer, the data is recorded as reception memory from Cx_RW_PR (Rx Write Pointer Register of
Chnnel x), Cx_RW_PR is increased according to the size of the received data when the reception is complete,
and then MCU is interrupted to report a data reception. Through interrupt or polling, MCU compares
Cx_RW_PR and Cx_RR_PTR (Rx Read Pointer Register of Channel x), and when data reception is observed,
the size of the received data is first calculated and Cx_RR_PR is increased after the data is read and
processed from Cx_RR_PR. Finally, recv command is executed to report W3100A that the processing of
the received data is complete.
Pointer Management during TCP Reception
0x2000 0x0800
0x0800
0x0800
CH3
CH2
0x1800
Cx_RW_PR and
Cx_RR_PR are
equal
(0x00123280
assumed)
Cx_RW_PR is
increased to
0x00123400
(W3100A)
Cx_RW_PR
0x1000
0x0400
0x0400
CH1
CH0
0x0800 0x0280
0x0280
Rx
Data
0x0280
Cx_RR_PR
Cx_RR_PR is
increased to
0x00123400
(MCU)
0x0000 0x0000
2KB allocated at
each channel
Since reception memory is
2KB, mask is 0x000007FF
0x0000
When Cx_RW_PR is
increased by receiving data
from the peer at W3100A
0x0000
When MCU completes the
processing of the received data
and Cx_RR_PR is increased
Above diagram illustrates the change in Cx_RW_PR and Cx_RR_PR when actual data is received after 2KB
of reception memory is set at CH0.
oˆ™‹ž™Œ‹Gp•›Œ™•Œ›Gj–••ŒŠ›› G~¡ˆ™‹GO~p•Œ›SGp•ŠUPG
ZX