English
Language : 

W3100A Datasheet, PDF (34/63 Pages) List of Unclassifed Manufacturers – i2Chip W3100A
The header is comprised of (1) TLEN Field displaying the size of 2Byte Header + data, (2) 4Byte SIP
displaying the sender IP that transmitted UDP data, and (3) SPort displaying the sender Port. MCU uses
such information to determine whether the data needs to be processed by MCU before processing.
UDP starting point
UDP
Cx_RW_PR = A
Cx_RR_PR = A
recv LEN UDP receivefrom
cal RDS(recv
data size)
RDS <=
Cx_RW_PR -
Cx_RR_PR
No
RDS >=
recv LEN
read data from
Cx_RR_PR
Yes
read data
Cx_RR_PR <=
Cx_RR_PR + update Cx_RR_PR
LEN
recv command
processing
UDP data
Above diagram illustrates the MCU processing flow for UDP data. Excluding the header processing for the
UDP data, the basic flow is identical to TCP reception.
UDP Reception Memory Management for Each Channel
0x2000 0x0800
CH3
0x1800
CH2
0x1000
0x0800
Cx_RW_PR and
Cx_RR_PR are
equal (0x00123200
assumed)
0x0400
0x0800
Cx_RW_PR is
increased to
0x00123400
(W3100A)
0x0580
0x0400
Rx
Data
head
0x0800
Cx_RW_PR is
increased to
0x00123580
(W3100A)
0x0580
0x0400
Rx
Data
head
0x0800
Cx_RW_PR
0x0580
Cx_RW_PR
CH1
0x0800 0x0200
CH0
0x0000 0x0000
Rx
Data
0x0200 head
Rx
Data
0x0200 head
0x0200
0x0000
Cx_RR_PR
0x0000
Cx_RR_PR
0x0000
Cx_RR_PR is
increased to
0x00123400
(MCU)
0x0000
Cx_RR_PR is
increased to
0x00123580
(MCU)
2KB allocated at Since reception
each channel memory is 2KB, mask
is 0x000007FF
When Cx_RW_PR is
increased by receiving
data from the peer at
W3100A
When Cx_RW_PR is
increased by receiving
data from the peer at
W3100A
When MCU completes
the processing of the
received data and
Cx_RR_PR is increased
When MCU completes
the processing of the
received data and
Cx_RR_PR is increased
At UDP reception buffer, many different data may exist between Cx_RW_PR and Cx_RR_PR. Therefore,
the header information is used to differentiate and process such data. Above diagram illustrates the process
where 2 UDP’s receive the data and processed by MCU.
oˆ™‹ž™Œ‹Gp•›Œ™•Œ›Gj–••ŒŠ›› G~¡ˆ™‹GO~p•Œ›SGp•ŠUPG
Z[