AnsweredAssumed Answered

I2C Fast Mode 400KHz

Question asked by Luke on Jul 11, 2011
Latest reply on Jul 12, 2011 by Luke
I'd like to use a Connectivity Line STM32's (STM32F107) I2C peripheral in the 400Khz fast mode. I'm using a Olimex STM32-H107, which has a 25MHz external crystal. I am confused by what the reference manual says (RM0008) in the section about the I2C_CCR:
To use the I2C at 400 KHz (in fast mode), the PCLK1 frequency (I2C peripheral input clock) must be a multiple of 10 MHz.

At first glance, this seems to imply that my system clock will have to be something like 60Mhz so that the peripheral clock could be 30Mhz.

Is there a way to use a 25Mhz external crystal and keep the system clock at 72Mhz (it's maximum), and yet still get the peripheral clock to be a multiple of 10Mhz so that I can use fast mode?

It would be ironic if in order to use I2C fast mode, I would have to slow down my system clock from 72Mhz to 60Mhz, so it seems like there must be a way to configure the clocks that allow both a 72Mhz system clock as well as the ability to use the fast mode.