Datasheet

2009-2011 Microchip Technology Inc. DS39960D-page 323
PIC18F87K22 FAMILY
FIGURE 21-29: BUS COLLISION DURING START CONDITION (SCLx = 0)
FIGURE 21-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