
2002 Microchip Technology Inc.
Preliminary
DS30485A-page 161
PIC18FXX39
FIGURE 16-27:
BUS COLLISION DURING START CONDITION (SCL = 0)
FIGURE 16-28:
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
SDA = 0, SCL = 1
BCLIF
S
SSPIF
Interrupt cleared
in software
bus collision occurs. Set BCLIF.
SCL = 0 before BRG time-out,
'0'
SDA
SCL
SEN
Set S
Set SEN, enable START
sequence if SDA = 1, SCL = 1
Less than TBRG
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'