MS51
Dec. 17, 2019
Page
270
of 316
Rev 1.01
M
S51
SE
RIES
TE
CHNICA
L REF
ERE
N
CE MA
NU
A
L
S
I2CnDAT
(SLA+W)
ACK/
NAK
Master to Slave
Slave to Master
I2CnDAT
(Data)
ACK/
NAK
Sr
P
P
S
STATUS=0x08
(STA,STO,SI,AA)=(1,0,1,x)
ACK STATUS=0x18
NAK STATUS=0x20
I2CnDAT =SLA+W
(STA,STO,SI,AA)=(0,0,1,x)
ACK STATUS=0x28
NAK STATUS=0x30
I2CnDAT =Data
(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)
STATUS=0x08
(STA,STO,SI,AA)=(1,1,1,x)
I2CnDAT
(SLA+W)
ACK/
NAK
(Arbitration Lost) STATUS=0x38
I2C_DAT=SLA+W
(STA,STO,SI,AA)=(0,0,1,x)
I2CnDAT
(Data)
ACK/
NAK
STATUS=0x38
I2C_DAT=Data
(STA,STO,SI,AA)=(0,0,1,x)
Arbitration Lost
(STA,STO,SI,AA)=(0,0,1,X)
...
I
2
C bus will be release;
Not addressed SLV mode will be enterd
...
(STA,STO,SI,AA)=(1,0,1,X)
A START will be transmitted
when the bus becomes free
Enter not addressed SLV mode
Send a START when bus
becomes free
MT
MT
MR
Master Transmitter
MT
I2CnDAT
(SLA+W)
I2C_DAT=SLA+W
(STA,STO,SI,AA)=(0,0,1,1)
(Arbitration Lost) ACK
STATUS= 0x68, 0x78, 0xB0
ACK
To corresponding states in
slave mode
Figure 6.10-10 Flow and Status of Master Transmitter Mode
Master Receiver Mode
6.10.2.2
In the master receiver mode, several bytes of data are received from a slave transmitter. The
transaction is initialized just as the master transmitter mode. Following the START condition, I2CnDAT
should be lo
aded with the target slave address and the data direction bit “read” (SLA+R). After the
SLA+R byte is transmitted and an acknowledge bit has been returned, the SI flag is set again and
I2CnSTAT is read as 40H. SI flag then should be cleared to receive data from the slave transmitter. If
AA flag (I2CnCON.2) is set, the master receiver will acknowledge the slave transmitter. If AA is
cleared, the master receiver will not acknowledge the slave and release the slave transmitter as a not
addressed slave. After that, the master can generate a STOP condition or a repeated START
condition to terminate the transmission or initial another one.