Datasheets»Microchip Technology»PIC16F87XATI/SP Datasheet

PIC16F87XATI/SP Datasheet - Page 109

Download or read online Microchip Technology PIC16F87XATI/SP 28/40/44-Pin Enhanced Flash Microcontrollers pdf datasheet.



Page
109 of 234
prevnext
9.4.17.3
Bus Collision During a Stop
Condition
Bus collision occurs during a Stop condition if:
a)
After the SDA pin has been deasserted and
allowed to float high, SDA is sampled low after
the BRG has timed out.
b)
After the SCL pin is deasserted, SCL is sampled
low before SDA goes high.
FIGURE 9-31:
BUS COLLISION DURING A STOP CONDITION (CASE 1)
T
SDA
SDA asserted low
SCL
PEN
BCLIF
P
SSPIF
FIGURE 9-32:
BUS COLLISION DURING A STOP CONDITION (CASE 2)
SDA
Assert SDA
SCL
PEN
BCLIF
P
SSPIF
 2001-2013 Microchip Technology Inc.
The Stop condition begins with SDA asserted low.
When SDA is sampled low, the SCL pin is allowed to
float. When the pin is sampled high (clock arbitration),
the Baud Rate Generator is loaded with SSPADD<6:0>
and counts down to 0. After the BRG times out, SDA is
sampled. If SDA is sampled low, a bus collision has
occurred. This is due to another master attempting to
drive a data ‘0’ (Figure 9-31). If the SCL pin is sampled
low before SDA is allowed to float high, a bus collision
occurs. This is another case of another master
attempting to drive a data ‘0’ (Figure 9-32).
T
T
BRG
BRG
T
T
BRG
BRG
SCL goes low before SDA goes high,
set BCLIF
PIC16F87XA
SDA sampled
BRG
low after T
,
BRG
set BCLIF
‘0’
‘0’
T
BRG
‘0’
‘0’
DS39582C-page 109

Comments to this Datasheet