Microchip Technology DV164136 データシート

ページ / 446
PIC18F8722 FAMILY
DS39646C-page 242
© 2008 Microchip Technology Inc.
FIGURE 19-27:
BUS COLLISION DURING START CONDITION (SCLx = 0)      
FIGURE 19-28:
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
T
BRG
T
BRG
SDAx = 0, SCLx = 1
BCLxIF
S
SSPxIF
Interrupt cleared
in software
bus collision occurs. Set BCLxIF.
SCLx = 0 before BRG time-out,
‘0’
‘0’
‘0’
‘0’
SDAx
SCLx
SEN
Set S
Less than T
BRG
T
BRG
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