
NUC126
Aug. 08, 2018
Page
361
of 943
Rev 1.03
NUC12
6 S
E
RI
E
S
T
E
CH
NI
CA
L R
E
F
E
RE
NCE
MA
NUA
L
S
T
A
1 0 1 0
A
2
A
1
A
0
W
A
C
K
X X X
A
C
K
A
C
K
S
T
1 0 1 0
A
2
A
1
A
0
R
A
C
K
N
A
C
K
S
T
O
DATA BYTE
ROM ADDRRSS
LOW BYTE
ROM ADDRRSS
HIGH BYTE
SLA+W
SDA
LINE
SLA+R
Figure 6.11-22 EEPROM Random Read
Figure 6.11-23 shows how to use I
2
C controller to implement the protocol of EEPROM random read.
S
I2C_DAT
(SLA+W)
ACK
Master to Slave
Slave to Master
I2C_DAT
(
ROM Address High Byte
)
ACK
Sr
I2C_DAT
(SLA+R)
ACK
P
STATUS=0x08
(STA,STO,SI,AA)=(1,0,1,x)
STATUS=0x18
I2C_DAT=SLA+W
(STA,STO,SI,AA)=(0,0,1,x)
STATUS=0x28
I2C_DAT=ROM Address High Byte
(STA,STO,SI,AA)=(0,0,1,x)
STATUS=0x10
(STA,STO,SI,AA)=(1,0,1,x)
STATUS=0xf8
(STA,STO,SI,AA)=(0,1,1,x)
I2C_DAT=SLA+R
(STA,STO,SI,AA)=(0,0,1,x)
STATUS=0x40
NAK
STATUS=0x20
I2C_DAT
(
ROM Address Low Byte
)
ACK
STATUS=0x28
I2C_DAT=ROM Address Low Byte
(STA,STO,SI,AA)=(0,0,1,x)
P
STATUS=0xf8
(STA,STO,SI,AA)=(0,1,1,x)
NAK
STATUS=0x30
I2C_DAT
(Data)
NAK
STATUS=0x58
Read I2C_DAT to Get Data
(STA,STO,SI,AA)=(0,0,1,0)
P
STATUS=0xf8
(STA,STO,SI,AA)=(0,1,1,x)
NAK
STATUS=0x48
P
STATUS=0xf8
(STA,STO,SI,AA)=(0,1,1,x)
Figure 6.11-23 Protocol of EEPROM Random Read
The I
2
C controller, which is a master, sends START to bus. Then, it sends a SLA+W (Slave a
Write bit) to EERPOM followed by two bytes data address to set the EEPROM address to read.
Finally, a Repeat START followed by SLA+R is sent to read the data from EEPROM.