Part Number: MSP430F5438A
We have a SoC device as the master writing to the MSP430F5438A I2C bus. The MSP430F5438A is the slave. We occasionally see SCL get stuck low until a timeout occurs.
register while the 7th bit of the following data byte is being received, an error condition
may occur on the I2C bus. Depending on the USCI configuration the following may
occur:
1) If the USCI is configured as an I2C master receiver, an unintentional repeated start
condition can be triggered or the master switches into an idle state (I2C communication
aborted). The reception of the current data byte is not successful in this case.
2) If the USCI is configured as I2C slave receiver, the slave can switch to an idle state
stalling I2C communication. The reception of the current data byte is not successful in
this case. The USCI I2C state machine will notify the master of the aborted reception
with a NACK.
Note that the error condition described above occurs only within a limited window of the
7th bit of the current byte being received. If the receive buffer is read outside of this
window (before or after), then the error condition will not occur.
Questions:
1. The first and last paragraph seem to conflict somewhat. Can you provide clarification?
4. What ideas and or questions do you have to help us determine why and prevent SCL from getting stuck low?