Datasheet
PIC18F87J11 FAMILY
DS39778E-page 280 2007-2012 Microchip Technology Inc.
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’
‘0’‘0’
SDAx
SCLx
SEN
Set S
Less than T
BRG
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