© Copyright 2013 WIZnet Co.,Ltd. All rights reserved.
38
Sn_TX_FSR (Socket n TX Free Size Register) [R] [0x4020+0x0n00-0x4021+0x0n00]
[0x0800]
It notifies the available size of the internal TX memory (the byte size of transmittable data)
of Socket n . The host can’t write data as a size bigger than Sn_TX_FSR. Therefore, be sure to
check Sn_TX_FSR before transmitting data, and if your data size is smaller than or the same
as Sn_TX_FSR, transmit the data with SEND or SEND_MAC command after copying the data.
At the TCP mode, if the peer checks the transmitted DATA packet (if DATA/ACK packet is
received from the peer), Sn_TX_FSR is automatically increased by the size of that transmitted
DATA packet. At the other modes, when Sn_IR(SENDOK) is ‘1’, Sn_TX_FSR is automatically
increased by the size of the transmitted data.When checking this register, user should read
upper byte(0x4020, 0x4120, 0x4220, 0x4320, 0x4420, 0x4520, 0x4620, 0x4720) first and lower
byte(0x4021, 0x4121, 0x4221, 0x4321, 0x4421, 0x4521, 0x4621, 0x4721) later to get the
correct value.
Ex) In case of 2048(0x0800) in S0_TX_FSR,
Sn_TX_RD (Socket n TX Read Pointer Register) [R] [0x4022+0x0n00-0x4023+0x0n00]
[0x0000]
This register shows the address of the last transmission finishing in the TX memory. With the
SEND command of Socket n Command Register, it transmits data from the current Sn_TX_RD
to the Sn_TX_WR and automatically updates after transmission is finished. Therefore, after
transmission is finished, Sn_TX_RD and Sn_TX_WR will have the same value. When reading this
register, user should read upper byte (0x4022, 0x4122, 0x4222, 0x4322, 0x4422, 0x4522,
0x4622, 0x4722) first, and lower byte (0x4023, 0x4123, 0x4223, 0x4323, 0x4423, 0x4523,
0x4623, 0x4723) later to get the correct value.
Sn_TX_WR (Socket n TX Write Pointer Register) [R/W] [0x4024+0x0n00-0x4025+0x0n00]
[0x0000]
This register offers the location information to write the transmission data. When reading this
register, user should read upper byte (0x4024, 0x4124, 0x4224, 0x4324, 0x4424, 0x4524,
0x4624, 0x4724) first, and lower byte (0x4025, 0x4125, 0x4225, 0x4325, 0x4425, 0x4525,
0x4625, 0x4725) later to get the correct value.
Caution: This register value is changed after the send command is successfully executed to
Sn_CR.
Ex) In case of 2048(0x0800) in S0_TX_WR,