|
PIC18F258 Datasheet, PDF (182/384 Pages) Microchip Technology – High Performance, 28/40-Pin Enhanced FLASH Microcontrollers with CAN | |||
|
◁ |
PIC18FXX8
17.4.17.3 Bus Collision During a STOP
Condition
Bus collision occurs during a STOP condition if:
a) After the SDA pin has been de-asserted and
allowed to float high, SDA is sampled low after
the BRG has timed out.
b) After the SCL pin is de-asserted, SCL is sam-
pled low before SDA goes high.
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 17-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 17-32).
FIGURE 17-31:
BUS COLLISION DURING A STOP CONDITION (CASE 1)
TBRG
TBRG
TBRG
SDA
SCL
SDA asserted low
PEN
SDA sampled
low after TBRG,
Set BCLIF
BCLIF
P
â0â
SSPIF
â0â
FIGURE 17-32:
SDA
SCL
PEN
BCLIF
P
SSPIF
BUS COLLISION DURING A STOP CONDITION (CASE 2)
TBRG
TBRG
TBRG
Assert SDA
SCL goes low before SDA goes high
Set BCLIF
â0â
â0â
DS41159B-page 180
Preliminary
 2002 Microchip Technology Inc.
|
▷ |