Datasheet
2006-2012 Microchip Technology Inc. DS41291G-page 209
PIC16F882/883/884/886/887
FIGURE 13-22: BUS COLLISION DURING START CONDITION (SCL = 0)
FIGURE 13-23: BRG RESET DUE TO SDA ARBITRATION DURING START CONDITION
SDA
SCL
SEN
Bus collision occurs, set BCLIF
SCL = 0 before SDA = 0,
Set SEN, enable Start
sequence if SDA = 1, SCL = 1
TBRG
TBRG
SDA = 0, SCL = 1
BCLIF
S
SSPIF
Interrupt cleared
in software
Bus collision occurs, set BCLIF
SCL =0 before BRG time-out,
‘0’‘0’
‘0’‘0’
SDA
SCL
SEN
Set S
Set SEN, enable Start
sequence if SDA = 1, SCL = 1
Less than T
BRG
TBRG
SDA = 0, SCL = 1
BCLIF
S
SSPIF
S
Interrupts cleared
in software
Set SSPIF
SDA = 0, SCL = 1
SDA pulled low by other master
Reset BRG and assert SDA
SCL pulled low after BRG
time-out
Set SSPIF
‘0’