cancel
Showing results for 
Search instead for 
Did you mean: 

I2C base clock 8 / 16 / 48 / 100MHz? What to use best?

flyer31
Senior

In the STM32H7 RM (July 2018) chapter 46.4.9 ("I2C_TIMINGR .. examples") you give example settings for i2c_ker_ck frequencies of 8 / 16 / 48MHz (thank you, very helpful - just a bit awkward that you use there the term "fI2CCLK" for the frequency ... anywhere else in the manual (mainly in RCC chapter) this frequency is called "i2c_ker_ck").

Why not for the standard / default ABP1 frequency of 100MHz which I think 99% of the users first will try, as this is the typical APB1 frequency, and the clock selection RCC_D2CCIP2R_I2C123SEL default to APB1 as standard clock for I2C?

(I think for 8 / 16 / 48 MHz it would then best to use PLL3 r output?... If I start PLL3 for this I2C purpose, would this increase the operating current significantly? I assume that the I2C will need only about 10% operating current if running at 8MHz instead of 100MHz ... but would this current saving be larger than the PLL3 operating current, so is it really worth the effort to start PLL3 here?)

... it would be nice if you would spend a short sentence in chapter 46.4.9 in the RM addressing these questions ... I think at least every "Newbee" user will be a bit bewildered about this... .

1 REPLY 1
flyer31
Senior

... The same wish I would have for the ADC clock...

It would be very nice, if in chapter 24.3.3 (RM, "ADC clocks") you would give some "standard recommendation" for the typical ADC clock frequency ... I think in very many applications the ADC is used only for some standard tasks like checking of some voltages "from time to time" in Single AD Mode ... . I would be nice to get a hint what the typical ad_clk recommondation here is (clear, that there are high-speed applications requiring very high clock, or low-power applications requiring very low clock ... but it would be nice to get a "typical clock recommendation" for "simple ADC applications", e. g. 8MHz fine (this would be easy for me if I use HSE through per_ck), or does the ADC get better / more accurate if I use the prescaler to lower the frequency down to 1MHz or even lower frequencies?).