NuMicro® NUC029LEE/NUC029SEE
32-bit Arm
®
Cortex
®
-M0 Microcontroller
Aug, 2018
Page
396
of
497
Rev 1.00
N
U
MICRO
®
N
UC02
9L
E
E
/N
UC029
S
E
E
T
E
CHN
ICA
L R
E
F
E
R
E
NC
E
M
A
NU
A
L
I2CDAT
(SLA+R)
ACK
NAK
I2CDAT
(Data)
NAK
I2CDAT
(Data)
ACK
P
S
P
Sr
I2CDAT=SLA+R
(STA,STO,SI,AA)=(0,0,1,x)
STATUS=0x40
STATUS=0x48
STATUS=0x08
STATUS=0xF8
STATUS=0x10
STATUS=0x50
STATUS=0x58
(STA,STO,SI,AA)=(0,0,1,1)
(STA,STO,SI,AA)=(0,0,1,0)
(STA,STO,SI,AA)=(1,1,1,X)
(STA,STO,SI,AA)=(0,1,1,X)
(STA,STO,SI,AA)=(1,0,1,X)
S
STATUS=0x08
(STA,STO,SI,AA)=(1,0,1,X)
Master to Slave
Slave to Master
Arbitration Lost
I2CDAT
(Data)
ACK
(STA,STO,SI,AA)=(0,0,1,0)
(Arbitration Lost) ACK
STATUS=0x38
I2CDAT
(SLA+R)
ACK/
NAK
I2CDAT=SLA+R
(STA,STO,SI,AA)=(0,0,1,X)
(Arbitration Lost)
STATUS=0x38
I2CDAT
(SLA+R)
ACK
I2CDAT=SLA+R
(STA,STO,SI,AA)=(0,0,1,1)
(Arbitration Lost) ACK
STATUS= 0x68, 0x78, 0xB0
(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
MR
MT
MR
...
STATUS=0xF8
Figure 6.14-11 Master Receiver Mode Control Flow
If the I
2
C is in Master mode and gets arbitration lost, the status code will be 0x38. In status 0x38,
user may set (STA, STO, SI, AA) = (1, 0, 1, X) to send START to re-start Master operation when
bus become free. Otherwise, user may set (STA, STO, SI, AA) = (0, 0, 1, X) to release I
2
C bus
and enter not addressed Slave mode.
6.14.5.2.2
Slave Mode
When reset default, I
2
C is not addressed and will not recognize the address on I
2
C bus. User can
set slave address by I2CADDRx and set (STA, STO, SI, AA) = (0, 0, 1, 1) to let I
2
C recognize the
address sent by master. Figure 6.14-12 shows all the possible flow for I
2
C in Slave mode. Users
need to follow a proper flow (as shown in Figure 6.14-12 to implement their own I
2
C protocol.