Microchip Technology DM164134 Data Sheet

Page of 402
PIC18FXX8
DS41159E-page 170
© 2006 Microchip Technology Inc.
17.4.7.1
Clock Arbitration
Clock arbitration occurs when the master, during any
receive, transmit or Repeated Start/Stop condition,
deasserts the SCL pin (SCL allowed to float high).
When the SCL pin is allowed to float high, the Baud
Rate Generator (BRG) is suspended from counting
until the SCL pin is actually sampled high. When the
SCL pin is sampled high, the Baud Rate Generator is
reloaded with the contents of SSPADD<6:0> and
begins counting. This ensures that the SCL high time
will always be at least one BRG rollover count in the
event that the clock is held low by an external device
(Figure 17-18).
FIGURE 17-18:
BAUD RATE GENERATOR TIMING WITH CLOCK ARBITRATION        
SDA
SCL
SCL deasserted but slave holds
DX – 1
DX
BRG
SCL is sampled high, reload takes
place and BRG starts its count
03h
02h
01h
00h (hold off)
03h
02h
Reload
BRG
Value
SCL low (clock arbitration)
SCL allowed to transition high
BRG decrements on
Q2 and Q4 cycles