English
Language : 

LAN9303MI-AKZE Datasheet, PDF (117/386 Pages) SMSC Corporation – Small Form Factor Three Port 10/100 Managed Ethernet Switch with Dual MII/RMII/Turbo MII
Small Form Factor Three Port 10/100 Managed Ethernet Switch with Dual MII/RMII/Turbo MII
Datasheet
8.3.3
I2C EEPROM Sequential Byte Reads
Following the device addressing, data bytes may be read sequentially from the EEPROM by outputting
a start condition and control byte with a control code of 1010b, chip/block select bits as described in
Section 8.3.1, and the R/~W bit high. The EEPROM will respond with an acknowledge, followed by 8-
bits of data. If the EEPROM slave fails to send an acknowledge, then the sequence is aborted and
the EEPROM Controller Timeout (EPC_TIMEOUT) bit in the EEPROM Command Register
(E2P_CMD) is set. The I2C master then sends an acknowledge, and the EEPROM responds with the
next 8-bits of data. This continues until the last desired byte is read, at which point the I2C master
sends a no-acknowledge, followed by a stop condition.
Figure 8.3 illustrates typical I2C EEPROM sequential byte reads for single and double byte addressing.
Control Byte
Data Byte
Data Byte
Data Byte
... A
C
K
S
1
0
1
0
A
1
0
A
9
A
8
1
A
C
K
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
C
K
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
C
K
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
C
P
K
Chip / Block R/~W
Select Bits
Single Byte Addressing Sequential Reads
Control Byte
Data Byte
Data Byte
Data Byte
... A
C
K
S
1
0
1
0
0
0
0
1
A
C
K
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
C
K
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
C
K
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
C
P
K
Chip / Block R/~W
Select Bits
Double Byte Addressing Sequential Reads
Figure 8.4 I2C EEPROM Sequential Byte Reads
8.3.4
Sequential reads are used by the EEPROM Loader. Refer to Section 8.4, "EEPROM Loader" for
additional information.
For a register level description of a read operation, refer to Section 8.3.7, "I2C Master EEPROM
Controller Operation," on page 119.
I2C EEPROM Byte Writes
Following the device addressing, a data byte may be written to the EEPROM by outputting the data
after receiving the acknowledge from the EEPROM. The data byte is acknowledged by the EEPROM
slave and the I2C master finishes the write cycle with a stop condition. If the EEPROM slave fails to
send an acknowledge, then the sequence is aborted and the EEPROM Controller Timeout
(EPC_TIMEOUT) bit in the EEPROM Command Register (E2P_CMD) is set.
Following the data byte write cycle, the I2C master will poll the EEPROM to determine when the byte
write is finished. After meeting the minimum bus free time, a start condition is sent followed by a control
byte with a control code of 1010b, chip/block select bits low, and the R/~W bit low. If the EEPROM is
finished with the byte write, it will respond with an acknowledge. Otherwise, it will respond with a no-
acknowledge and the I2C master will issue a stop and repeat the poll. If the acknowledge does not
occur within 30mS, a time-out occurs. The check for timeout is only performed following each no-
acknowledge, since it may be possible that the EEPROM write finished before the timeout but the
30mS expired before the poll was performed (due to the bus being used by another master).
Once the I2C master receives the acknowledge, it concludes by sending a start condition, followed by
a stop condition, which will place the EEPROM into standby.
SMSC LAN9303M/LAN9303Mi
117
DATASHEET
Revision 1.5 (07-08-11)