Author Topic: I2C bus speed  (Read 859 times)

0 Members and 1 Guest are viewing this topic.

Offline JaneTopic starter

  • Frequent Contributor
  • **
  • Posts: 381
I2C bus speed
« on: August 26, 2015, 04:55:16 pm »
Is there defined a minimal I2C bus speed that must be used so that I2C device will work properly?
I have  MIPS CPU( 400Mhz) board . There is a program that works properly with that CPU board and I used it during a reverse engineering( I would like to write my own program to control that board).The frequency was about 299kHz.
For my own program I would like to  use a different usb/I2C bridge and it has only 100 kHz.
And I can not send the data to i2c bus properly because the slave does not send acknowledge bit.
Can it be because of a low i2c bus frequency( instead of 299kHz, only 100kHz)?
 
 

Offline Chris C

  • Frequent Contributor
  • **
  • Posts: 259
  • Country: us
Re: I2C bus speed
« Reply #1 on: August 26, 2015, 05:12:30 pm »
Officially, no.  You should be able to use as low a bus speed as you want, even 10hz.  And pause transfers for long periods at random, even for seconds at a time.  I've done this with some I2C slaves from Phillips and Microchip.

However, not every device adheres perfectly to the I2C specification.  This seems to be the case more often when the slave is a CPU/MCU, as the programmers might have rolled their own software implementation, and not gotten it quite right.

Some more details might be helpful.  What slave device are you using?  What USB/I2C bridge?
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf