GrumpyOldPizza / arduino-STM32L4

69 stars 60 forks source link

Maximum I2C Clock #42

Closed flybrianfly closed 5 years ago

flybrianfly commented 5 years ago

What's the maximum I2C clock rate supported by these boards? I see that the boards support up to 1 Mbit/s, but am wondering if the software supports that.

Thanks! Brian

kriswiner commented 5 years ago

We have run reliably at 1 MHz bus speed when the sensors can also support it. I think the L4 will even allow 3.4 MHz bus speeds but few sensors support this.

On Wed, Feb 6, 2019 at 10:30 PM Brian Taylor notifications@github.com wrote:

What's the maximum I2C clock rate supported by these boards? I see that the boards support up to 1 Mbit/s, but am wondering if the software supports that.

Thanks! Brian

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GrumpyOldPizza/arduino-STM32L4/issues/42, or mute the thread https://github.com/notifications/unsubscribe-auth/AGY1qr3mXkyODn5Qn6Bqxmg2eeiMJYZTks5vK8gWgaJpZM4amrjm .

GrumpyOldPizza commented 5 years ago

100kHz, 400kHz and 1000kHz are supported. There is an errata regarding setup time of SDA, which may make 1000kHz fragile in some case. We do use a 16MHz I2CCLK in all cases.

N.b. that those clocks map to "STANDARD MODE", "FAST MODE" and "FAST MODE PLUS", which have slightly different timing requirements.

Please also note that the real speed depends upon your signal paths, pullup resistors and the device(s) on the other side. So your 400kHz might in real live be closer to 350kHz.

flybrianfly commented 5 years ago

Thanks! I'm looking for a method transfer data between two STM32L4 microcontrollers and I2C FAST MODE PLUS seems like an easy approach to try.