English
Language : 

LAN9313 Datasheet, PDF (123/398 Pages) SMSC Corporation – Three Port 10/100 Managed Ethernet Switch with MII
Three Port 10/100 Managed Ethernet Switch with MII
Datasheet
Figure 8.4 illustrates a typical single and multiple register read.
Control Byte
Address Byte
Control Byte
Data Byte
Data Byte... ...Data Byte
S
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
0
A
C
K
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
C
K
S
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
1
A
C
K
D
3
1
D
3
0
D
2
9
D
2
8
S
2
7
D
2
6
D
2
5
D
2
4
A
C
K
D
2
3
D
2
2
D
2
1
D
2
...
0
D
5
D
4
D
3
D
2
D
1
D
0
A
C
K
P
R/~W
Single Register Read
Control Byte
Address Byte
Control Byte
Data 1 Byte
...Data m Byte
Data m+1 Byte... ...Data n Byte
... ... ... S
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
0
A
C
K
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
C
K
S
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
1
A
C
K
D
3
1
D
3
0
DDA
22C
54K
D
4
D
3
D
2
D
1
D
0
A
C
K
D
3
1
D
3
0
D
2
9
D
2
8
D
2
7
D
2
6
D
4
D
3
D
2
D
1
D
0
A
C
P
K
R/~W
Multiple Register Reads
8.5.2.1
8.5.3
Figure 8.4 I2C Slave Reads
I2C Slave Read Polling for Reset Complete
During reset, the I2C slave interface will not return valid data. To determine when the reset condition
is complete, the Byte Order Test Register (BYTE_TEST) should be polled. Once the correct pattern is
read, the interface can be considered functional. At this point, the READY bit in the Hardware
Configuration Register (HW_CFG) can be polled to determine when the device initialization is
complete. Refer to Section 4.2, "Resets," on page 41 for additional information.
I2C Slave Write Sequence
Following the device addressing, as detailed in Section 8.5.1, a register is written to the
LAN9313/LAN9313i when the master continues to send data bytes. Each byte is acknowledged by the
LAN9313/LAN9313i. Following the fourth byte of the sequence, the master may either send another
start condition or halt the sequence with a stop condition. The internal register address is unchanged
following a single write.
Multiple writes are performed when the master sends additional bytes following the fourth
acknowledge. The internal address is automatically incremented and the next register is written. once
the internal address reaches it maximum value, it rolls over to 0. The multiple write is concluded when
the master sends another start condition or stop condition. The internal register address is incremented
for each write including the final. This is not relevant for subsequent writes, since a new register
address would be included on a new write cycle. However, this does affect the internal register address
if it were to be used for reads without first resetting the register address.
For both single and multiple writes, if the master sends an unexpected start or stop condition, the
LAN9313/LAN9313i will stop immediately and will respond to the next sequence as needed.
The data write to the register occurs after the 32-bits are input. In the event that 32-bits are not written
(master sends a start, or a stop condition occurs unexpectedly), the write is considered invalid and the
register is not affected. Multiple registers may be written in a multiple write cycle, each one being
written after 32-bits. I2C writes must not be performed to unused register addresses.
SMSC LAN9313/LAN9313i
123
DATASHEET
Revision 1.2 (04-08-08)