Datasheet

2012 Microchip Technology Inc. DS30575A-page 407
PIC18F97J94 FAMILY
FIGURE 20-29: BUS COLLISION DURING START CONDITION (SCLx = 0)
FIGURE 20-30: BRG RESET DUE TO SDAx ARBITRATION DURING START CONDITION
SDAx
SCLx
SEN
Bus Collision Occurs, Set BCLxIF
SCLx = 0 Before SDAx = 0,
Set SEN, Enable Start
Sequence if SDAx = 1, SCLx = 1
TBRG
TBRG
SDAx = 0, SCLx = 1
BCLxIF
S
SSPxIF
Interrupt Cleared
in Software
Bus Collision Occurs, Set BCLxIF
SCLx = 0 Before BRG Time-out,
0’‘0
00
SDAx
SCLx
SEN
Set S
Less than TBRG
TBRG
SDAx = 0, SCLx = 1
BCLxIF
S
SSPxIF
S
Interrupts Cleared
in Software
Set SSPxIF
SDAx = 0, SCLx = 1,
SCLx Pulled Low After BRG
Time-out
Set SSPxIF
0
SDAx Pulled Low by Other Master,
Reset BRG and Assert SDAx
Set SEN, Enable Start
Sequence if SDAx = 1, SCLx = 1