|
PIC18F45J10 Datasheet, PDF (186/358 Pages) Microchip Technology – 28/40/44-Pin High-Performance RISC Microcontrollers with nanoWatt Technology | |||
|
◁ |
PIC18F45J10 FAMILY
15.4.17.3 Bus Collision During a Stop
Condition
Bus collision occurs during a Stop condition if:
a) After the SDAx pin has been deasserted and
allowed to float high, SDAx is sampled low after
the BRG has timed out.
b) After the SCLx pin is deasserted, SCLx is
sampled low before SDAx goes high.
The Stop condition begins with SDAx asserted low.
When SDAx is sampled low, the SCLx pin is allowed to
float. When the pin is sampled high (clock arbitration),
the Baud Rate Generator is loaded with
SSPxADD<6:0> and counts down to â0â. After the BRG
times out, SDAx is sampled. If SDAx is sampled low, a
bus collision has occurred. This is due to another
master attempting to drive a data â0â (Figure 15-31). If
the SCLx pin is sampled low before SDAx is allowed to
float high, a bus collision occurs. This is another case
of another master attempting to drive a data â0â
(Figure 15-32).
FIGURE 15-31:
BUS COLLISION DURING A STOP CONDITION (CASE 1)
TBRG
TBRG
TBRG
SDAx
SCLx
SDAx asserted low
PEN
BCLxIF
P
SSPxIF
SDAx sampled
low after TBRG,
set BCLxIF
â0â
â0â
FIGURE 15-32: BUS COLLISION DURING A STOP CONDITION (CASE 2)
TBRG
TBRG
TBRG
SDAx
SCLx
Assert SDAx
SCLx goes low before SDAx goes high,
set BCLxIF
PEN
BCLxIF
P
â0â
SSPxIF
â0â
DS39682C-page 184
Preliminary
© 2007 Microchip Technology Inc.
|
▷ |