NuMicro® NUC029LEE/NUC029SEE
32-bit Arm
®
Cortex
®
-M0 Microcontroller
Aug, 2018
Page
395
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
6.14.5.2.1
Master Mode
In below figures, all possible protocols for I
2
C master are shown. User needs to follow proper path
of the flow to implement required I
2
C protocol.
In other words, user can send a START signal to bus and I
2
C will be in Master Transmitter mode
(Figure 6.14-10) or Master receiver mode (Figure 6.14-12) after START signal has been sent
successfully and new status code would be 0x08. Followed by START signal, user can send
slave address, read/write bit, data and Repeat START, STOP to perform I
2
C protocol.
S
I2CDAT
(SLA+W)
ACK/
NAK
Master to Slave
Slave to Master
I2CDAT
(Data)
ACK/
NAK
Sr
P
P
S
STATUS=0x08
(STA,STO,SI,AA)=(1,0,1,X)
ACK STATUS=0x18
NAK STATUS=0x20
I2CDAT=SLA+W
(STA,STO,SI,AA)=(0,0,1,X)
ACK STATUS=0x28
NAK STATUS=0x30
I2CDAT=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)
I2CDAT
(SLA+W)
ACK/
NAK
(Arbitration Lost) STATUS=0x38
I2CDAT=SLA+W
(STA,STO,SI,AA)=(0,0,1,X)
I2CDAT
(Data)
ACK/
NAK
STATUS=0x38
I2CDAT=Data
(STA,STO,SI,AA)=(0,0,1,X)
Arbitration Lost
I2CDAT
(SLA+W)
I2CDAT=SLA+W
(STA,STO,SI,AA)=(0,0,1,1)
(Arbitration Lost) ACK
STATUS= 0x68, 0x78, 0xB0
ACK
(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
...
STATUS=0xF8
Figure 6.14-10 Master Transmitter Mode Control Flow