Datasheet
PIC16(L)F1826/27
DS41391D-page 274 2011 Microchip Technology Inc.
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