RM0091
2
23.4.9
I
C master mode
I2C master initialization
Before enabling the peripheral, the I2C master clock must be configured by setting the
SCLH and SCLL bits in the I2Cx_TIMINGR register.
A clock synchronization mechanism is implemented in order to support multi-master
environment and slave clock stretching.
In order to allow clock synchronization:
●
The low level of the clock is counted using the SCLL counter, starting from the SCL low
level internal detection.
●
The high level of the clock is counted using the SCLH counter, starting from the SCL
high level internal detection.
The I2C detects its own SCL low level after a
edge, SCL input noise filters (analog + digital) and SCL synchronization to the I2Cx_CLK
clock. The I2C releases SCL to high level once the SCLL counter reaches the value
programmed in the SCLL[7:0] bits in the I2Cx_TIMINGR register.
The I2C detects its own SCL high level after a
edge, SCL input noise filters (analog + digital) and SCL synchronization to I2Cx_CLK clock.
The I2C ties SCL to low level once the SCLH counter is reached reaches the value
programmed in the SCLH[7:0] bits in the I2Cx_TIMINGR register.
Consequently the master clock period is:
The duration of t
–
–
–
–
The duration of t
–
–
–
–
t
t
+ t
SCL =
SYNC1
SYNC2 +
depends on these parameters:
SYNC1
SCL falling slope
When enabled, input delay induced by the analog filter.
When enabled, input delay induced by the digital filter: DNF
Delay due to SCL synchronization with I2CCLK clock (2 to 3 I2CCLK periods)
depends on these parameters:
SYNC2
SCL rising slope
When enabled, input delay induced by the analog filter.
When enabled, input delay induced by the digital filter: DNF
Delay due to SCL synchronization with I2CCLK clock (2 to 3 I2CCLK periods)
Doc ID 018940 Rev 1
Inter-integrated circuit (I
delay depending on the SCL falling
t
SYNC1
delay depending on the SCL rising
t
SYNC2
{ [(SCLH+1) + (SCLL+1)] x (PRESC+1) x t
2
C) interface
}
I2CCLK
x t
I2CCLK
x t
I2CCLK
487/742
Need help?
Do you have a question about the STM32F05 series and is the answer not in the manual?
Questions and answers