English
Language : 

PIC18F23K22 Datasheet, PDF (240/492 Pages) Microchip Technology – 28/40/44-Pin, Low-Power, High-Performance Microcontrollers with nanoWatt XLP Technology
PIC18(L)F2X/4XK22
15.6.4 I2C MASTER MODE START
CONDITION TIMING
To initiate a Start condition, the user sets the Start
Enable bit, SEN, of the SSPxCON2 register. If the
SDAx and SCLx pins are sampled high, the Baud Rate
Generator is reloaded with the contents of
SSPxADD<7:0> and starts its count. If SCLx and
SDAx are both sampled high when the Baud Rate
Generator times out (TBRG), the SDAx pin is driven
low. The action of the SDAx being driven low while
SCLx is high is the Start condition and causes the S bit
of the SSPxSTAT1 register to be set. Following this,
the Baud Rate Generator is reloaded with the contents
of SSPxADD<7:0> and resumes its count. When the
Baud Rate Generator times out (TBRG), the SEN bit of
the SSPxCON2 register will be automatically cleared
FIGURE 15-26: FIRST START BIT TIMING
by hardware; the Baud Rate Generator is suspended,
leaving the SDAx line held low and the Start condition
is complete.
Note 1: If at the beginning of the Start condition,
the SDAx and SCLx pins are already sam-
pled low, or if during the Start condition,
the SCLx line is sampled low before the
SDAx line is driven low, a bus collision
occurs, the Bus Collision Interrupt Flag,
BCLxIF, is set, the Start condition is
aborted and the I2C module is reset into its
Idle state.
2: The Philips I2C Specification states that a
bus collision cannot occur on a Start.
Write to SEN bit occurs here
Set S bit (SSPxSTAT<3>)
SDAx = 1,
SCLx = 1
TBRG
TBRG
At completion of Start bit,
hardware clears SEN bit
and sets SSPxIF bit
Write to SSPxBUF occurs here
SDAx
1st bit
2nd bit
SCLx
TBRG
S
TBRG
DS41412B-page 240
Preliminary
 2010 Microchip Technology Inc.