
MS51
Dec. 17, 2019
Page
272
of 316
Rev 1.01
M
S51
SE
RIES
TE
CHNICA
L REF
ERE
N
CE MA
NU
A
L
until it is addressed by its own address with the data direction bit “read” (SLA+R). The slave
transmitter mode may also be entered if arbitration is lost.
After the slave is addressed by SLA+R, it should clear its SI flag to transmit the data to the master
receiver. Normally the master receiver will return an acknowledge after every bytes of data is
transmitted by the slave. If the acknowledge is not received, it will transmit all “1” data if it continues
the transaction. It becomes a not addressed slave. If the AA flag is cleared during a transaction, the
slave transmits the last byte of data. The next transmitting data will be all “1” and the slave becomes
not addressed.
S
(STA,STO,SI,AA)=(1,0,1,1)
...
...
Switch to not addressed mode
Own SLA will be recognized
Send START when bus free
S
(STA,STO,SI,AA)=(1,0,1,0)
...
...
Switch to not addressed mode
Own SLA will not be recognized
Send START when bus free
...
(STA,STO,SI,AA)=(0,0,1,0)
Switch to not addressed mode
Own SLA will not be recognized
Become I
2
C
Master
Become I
2
C
Master
Bus
Free
S
I2CnDAT
(SLA+R)
ACK
(STA,STO,SI,AA)=(0,0,1,1)
STATUS=0xA8
I2CnDAT
(Data)
ACK
I2CnDAT=Data
(STA,STO,SI,AA)=(0,0,1,1)
...
I2CnDAT
(Data)
I2CnDAT=Data
(STA,STO,SI,AA)=(0,0,1,0)
STATUS=0xB8
Switch to not addressed mode
Own SLA will be recognized
ACK
I2CnDAT
(Data)
I2CnDAT=Data
(STA,STO,SI,AA)=(0,0,1,0)
NAK
STATUS=0xC8
STATUS=0xC0
(Arbitration Lost)
STATUS=0xB0
I2CnDAT
(SLA+W)
ACK
STATUS=0x60
I2CnDAT
(Data)
ACK
NAK
(STA,STO,SI,AA)=(0,0,1,1)
I2CnDAT
(Data)
(STA,STO,SI,AA)=(0,0,1,0)
STATUS=0x80
STATUS=0x88
Arbitration Lost
Master to Slave
Slave to Master
STATUS=0xA0
(Arbitration Lost)
STATUS=0x68
P
Sr
Sr
P
STATUS=0xA0
Sr
...
(STA,STO,SI,AA)=(0,0,1,1)
Switch to not addressed mode
Own SLA will be recognized
Become I
2
C
Slave
STATUS=0xA0
STATUS=0xA0
Sr
I2CnDAT=Data
(STA,STO,SI,AA)=(0,0,1,X)
I2C_DAT=Data
(STA,STO,SI,AA)=(0,0,1,X)
...
(STA,STO,SI,AA)=(0,0,1,1)
...
Sr
(STA,STO,SI,AA)=(0,0,1,1)
(STA,STO,SI,AA)=(0,0,1,X)
(STA,STO,SI,AA)=(0,0,1,X)
I2CnDAT
(SLA+W)
I2CnDAT
(SLA+R)
ACK
ACK
Figure 6.10-12 Flow and Status of Slave Receiver Mode