sharing eeproms i2c bus?
rwgast_logicdesign
Posts: 1,464
I seem to recall reading some posts that led me to belive there may be problems sharing the same i2c bus as the eeprom with other perepherials, although im not sure so i wanted to see if what im attempting to do is number 1 easy and number 2 possible.
id like to add a ds1307 rtc and mcp23017 gpio expander on the same i2c bus as the eeprom. physically wiring this is obviously not an issue but would it be an issue for an end user just downloading the obex code and using the board? i seem to recall something about the chips having to wait for the eeprom to finish loading or something along those lines when sharing the eeproms i2c lines
id like to add a ds1307 rtc and mcp23017 gpio expander on the same i2c bus as the eeprom. physically wiring this is obviously not an issue but would it be an issue for an end user just downloading the obex code and using the board? i seem to recall something about the chips having to wait for the eeprom to finish loading or something along those lines when sharing the eeproms i2c lines
Comments
This is what the bus was designed to do but it is not very fast.
Russ
There are Prop I2C drivers that support clock stretching, with the addition of a pull-up resistor on SCL. Instead of driving SCL high, it is three-stated (driver manipulates DIRx bits instead of OUTx bits), and therefore pulled-up by the resistor. Driving SCL low isn't a problem, as current sinked will be limited by the pull-up resistor.
For multi-master, I recommend a Schottky diode (example: 1N5817) on SCL with the cathode towards the Prop, followed by the pull-up resistor, to prevent the Prop from driving SCL high during its boot sequence, or simply using another pair of pins for a general I2C bus.