Datasheet

2010 Microchip Technology Inc. Preliminary DS39974A-page 341
PIC18F47J13 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