This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430G2453: Using as I2C Slave to MSP430F2013 Master clocking I2C at 500KHz potentially overdriving Slave MSP430G2453

Part Number: MSP430G2453
Other Parts Discussed in Thread: MSP430F2013,

Using two MSP430s in a design and they communicate with each other using I2C.

There is an MSP430G2453 (slave) talking with an MSP430F2013 (master).

The MSP430F2013 is clocking the I2C out at 500kHz.

The following has just been noticed in the datasheet for the MSP430G2453:

  Is this driving the I2C slave (MSP430G2453) too fast?

What is the likely outcome of this situation?  

Does Fscl between master and slave always have to be matched for I2C? Or does internal hold circuits on slave devices wait for a rising or falling edge to be ready to receive data, therefore difference between 400kHz slave and 500kHz master may not cause a problem? 

Any Help or advice you can provide here is much appreciated 

  • The master decides the clock speed. The slave can put any-old-value into the BR register.

    The 400kHz limit comes from the I2C spec. The slave circuitry may or may not be able to run faster than that (there's probably some engineering margin). If you run it faster than spec, and it doesn't work, it's your problem.

    "Doesn't work" doesn't necessarily mean "always fails" -- it might mean e.g. "garbles a bit every so often", which is the real reason for staying in spec.

  • As Bruce pointed out, the 400kHz limit is from the I2C standard for fast mode and all of our MCUs conform to that spec. You may be able to get the MCU to communicate at higher speeds but successful communication at those speeds is not guaranteed and you can potentially lose bits.

    Best regards,

    Matt

**Attention** This is a public forum