15.3.7.1 Master State Machine
The master state machine is shown in
Figure 15.15 I2C Master State Machine on page 405
. A master operation starts in the far left of
the state machine, and follows the solid lines through the state machine, ending the operation or continuing with a new operation when
arriving at the right side of the state machine.
Branches in the path through the state machine are the results of bus events and choices made by software, either directly or indirectly.
The dotted lines show where I
2
C-specific interrupt flags are set along the path and the full-drawn circles show places where interaction
may be required by software to let the transmission proceed.
Waiting
for idle
Idle/busy
57
B3
9B
0
57
S
ADDR R
A
N
ADDR W
A
N
DATA
P
Sr
X
Arb. lost
1
97
D7
DF
9F
A
N
A
N
DATA
P
Sr
Arb. lost
ADDR R
Arb. lost, ADDR match
ADDR W
Arb. lost, ADDR match
ADDR X
Arb. lost, no match
1
71
Master receiver
Master transmitter
Arbitration lost
Slave transmitter
Slave receiver
0
57
1
93
0/1
Bus state/event
Transmitted by self
Received from slave
START
condition
Interrupt flag set
Interaction required. Wait-
states inserted until manual
or automatic interaction has
been performed
Go to state
A
S
P
N
Sr
ACK
STOP
condition
NACK
Repeated START condition
ADDR R
ADDR W
Slave a read
(R/W bit set)
Slave a write
(R/W bit cleared)
Bus state (STATE)
73
0
P
Bus reset
Figure 15.15. I2C Master State Machine
EFM32JG1 Reference Manual
I2C - Inter-Integrated Circuit Interface
silabs.com
| Smart. Connected. Energy-friendly.
Preliminary Rev. 0.6 | 405