Datasheet
2011-2013 Microchip Technology Inc. DS40001453E-page 275
PIC16(L)F1847
FIGURE 25-34: BUS COLLISION DURING START CONDITION (SCLX = 0)
FIGURE 25-35: BRG RESET DUE TO SDA 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
by software
bus collision occurs. Set BCLxIF.
SCLx =
0 before BRG time-out,
’0’’0’
’0’’0’
SDAx
SCLx
SEN
Set S
Less than TBRG
TBRG
SDAx = 0, SCLx = 1
BCLxIF
S
SSPxIF
S
Interrupts cleared
by 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