EasyManuals Logo

ST STM32G471 User Manual

ST STM32G471
2126 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #1866 background imageLoading...
Page #1866 background image
Inter-integrated circuit (I2C) interface RM0440
1866/2126 RM0440 Rev 4
When the SCL falling edge is internally detected, a delay is inserted before sending
SDA output. This delay is
t
SDADEL
= SDADEL x t
PRESC
+ t
I2CCLK
where t
PRESC
= (PRESC+1)
x t
I2CCLK
.
T
SDADEL
impacts the hold time t
HD;DAT.
The total SDA output delay is:
t
SYNC1
+ {[SDADEL x (PRESC+1) + 1] x t
I2CCLK
}
t
SYNC1
duration depends on these parameters:
SCL falling slope
When enabled, input delay brought by the analog filter: t
AF(min)
< t
AF
< t
AF(max)
When enabled, input delay brought by the digital filter: t
DNF
= DNF x t
I2CCLK
Delay due to SCL synchronization to I2CCLK clock (2 to 3 I2CCLK periods)
In order to bridge the undefined region of the SCL falling edge, the user must program
SDADEL in such a way that:
{t
f (max)
+t
HD;DAT (min)
-t
AF(min)
- [(DNF +3) x t
I2CCLK
]} / {(PRESC +1) x t
I2CCLK
} ≤ SDADEL
SDADEL ≤ {t
HD;DAT (max)
-t
AF(max)
- [(DNF+4) x t
I2CCLK
]} / {(PRESC +1) x t
I2CCLK
}
Note: t
AF(min)
/ t
AF(max)
are part of the equation only when the analog filter is enabled. Refer to
device datasheet for t
AF
values.
The maximum t
HD;DAT
can be 3.45 µs, 0.9 µs and 0.45 µs for Standard-mode, Fast-mode
and Fast-mode Plus, but must be less than the maximum of t
VD;DAT
by a transition time.
This maximum must only be met if the device does not stretch the LOW period (t
LOW
) of the
SCL signal. If the clock stretches the SCL, the data must be valid by the set-up time before
it releases the clock.
The SDA rising edge is usually the worst case, so in this case the previous equation
becomes:
SDADEL ≤ {t
VD;DAT (max)
-t
r (max)
-260 ns - [(DNF+4) x t
I2CCLK
]} / {(PRESC +1) x t
I2CCLK
}.
Note: This condition can be violated when NOSTRETCH=0, because the device stretches SCL
low to guarantee the set-up time, according to the SCLDEL value.
Refer to Table 377: I2C-SMBus specification data setup and hold times for t
f
, t
r
, t
HD;DAT
and
t
VD;DAT
standard values.
After t
SDADEL
delay, or after sending SDA output in case the slave had to stretch the
clock because the data was not yet written in I2C_TXDR register, SCL line is kept at
low level during the setup time. This setup time is
t
SCLDEL
= (SCLDEL+1) x t
PRESC
where
t
PRESC
= (PRESC+1) x t
I2CCLK.
t
SCLDEL
impacts the setup time t
SU;DAT .
In order to bridge the undefined region of the SDA transition (rising edge usually worst
case), the user must program SCLDEL in such a way that:
{[t
r (max)
+ t
SU;DAT (min)
] / [(PRESC+1)] x t
I2CCLK
]} - 1 <= SCLDEL
Refer to Table 377: I2C-SMBus specification data setup and hold times for t
r
and
t
SU;DAT
standard values.
The SDA and SCL transition time values to be used are the ones in the application. Using
the maximum values from the standard increases the constraints for the SDADEL and
SCLDEL calculation, but ensures the feature whatever the application.

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the ST STM32G471 and is the answer not in the manual?

ST STM32G471 Specifications

General IconGeneral
BrandST
ModelSTM32G471
CategoryMicrocontrollers
LanguageEnglish

Related product manuals