Datasheet

2009-2011 Microchip Technology Inc. DS39957D-page 345
PIC18F87K90 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