4
\$\begingroup\$

I have an I2C bus containing only 2 devices: a microcontroller and a Microchip 24LCXXX EEPROM.

In the datasheet of the EEPROM only maximum speed is specified (which is 100 kHz @VDD<2.5 V and 400 kHz @VDD>2.5 V).

The problem is that the microcontroller at the current speed and clock configuration does not support 100 kHz (standard bitrate). The minimum speed attainable is 117 kHz, and using 400 kHz requires hardware modification of pull-up resistors.

Question:
Does I2C only work on standard bitrates: 100 kHz and 400 kHz? Can I use the 117 kHz safely?

Note: I tried it and it works but not sure if it may cause problems later because it is out of spec / standard.

\$\endgroup\$
8
  • 1
    \$\begingroup\$ Does this answer your question? I2C minimum clock speed and reliability \$\endgroup\$
    – toolic
    Commented Aug 9, 2023 at 11:06
  • 2
    \$\begingroup\$ As the datasheet tells you, as long as Vdd > 2.5 V you should be okay. I2C does not have fixed standard "baud rates" as it is a synchronous protocol. \$\endgroup\$
    – StarCat
    Commented Aug 9, 2023 at 11:06
  • 2
    \$\begingroup\$ @Lundin , I am not overclocking the memory , I am only using a non standard baud \$\endgroup\$
    – Eng Sam
    Commented Aug 9, 2023 at 11:26
  • 3
    \$\begingroup\$ There is no 'standard' baud rate for I2C. There are maximum I2C clock frequencies, which depend on whether the device supports Standard Mode (100kHz), Fast Mode (400kHz), Fast Mode Plus (1MHz), or High Speed Mode (3.4MHz) - but these are the ceiling limits, not the speed at which the device must operate. Some devices might have a minimum speed, but that's non-standard and depends on your specific devices. \$\endgroup\$
    – brhans
    Commented Aug 9, 2023 at 12:48
  • 2
    \$\begingroup\$ @brhans, there are typical bit rates (not baud rates) though that have become de facto standards i.e. a lots of designers gravitate towards them so a large percentage of designs use those speeds. They're not published standards but their use has become standard i.e. typical. \$\endgroup\$
    – TonyM
    Commented Aug 10, 2023 at 10:19

1 Answer 1

2
\$\begingroup\$

In short, yes.

You can safely use 117 kHz, as any clock rate can be used as long all devices support it with the required timing parameters.

There is no such thing "standard baud rates" that devices must use, just different modes with a clock frequecy range and timing parameters.

But it means that since the clock rate is over the Standard Mode limit of up to 100 kHz, it means that you are working in the Fast Mode area of specs up to 400 kHz, so technically, you should make sure that the bus rise/fall times etc are within the Fast Mode specification limits.

However, it is unlikely that the EEPROM even cares about clock speed or rise time as long as the rise time is fast enough compared to the clock speed.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.