3-30 Computer Group Literature Center Web Site

System Memory Controller (SMC)
3
Figure 3-8. Programming Sequence for I2C Page Write
READ
I2C
STATUS REG
CMPLT=1? N
Y
LOAD “WORD ADDR 1” TO
I2C
TRANSMITTER DATA REG
LOAD “DATA1 ... DATA n” TO
I2C
TRANSMITTER DATA REG
READ
I2C
STATUS REG
CMPLT=ACKIN=1? N
Y
READ
I2C
STATUS REG
CMPLT=ACKIN=1? N
Y
LOAD “$09” (START CONDITION) TO
I2C
CONTROL REG
LOAD “DEVICE ADDR+WR BIT” TO
I2C
TRANSMITTER DATA REG
READ
I2C
STATUS REG
CMPLT=ACKIN=1? N
Y
LOAD “$05” (STOP CONDITION) TO
I2C
CONTROL REG
LOAD “DUMMY DATA” TO
I2C
TRANSMITTER DATA REG
READ
I2C
STATUS REG
CMPLT=1? N
Y
START STOP
SDA S
B
M
DEVICE ADDR
W
R
A
C
K
WORD ADDR 1
A
C
K
DATA 1
A
C
K
ACK from Slave Dev
ice
END
BEGIN

*

**

(*)
:
Stop condition should be generated to abort the transfer after a software wait loop (~1ms) has been expired
DATA n
A
C
K
LAST BYTE ? N
Y