This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Crash on connecting second I2C module

Hi,

I'm connecting two I2C modules : MAX30102 and MPU-9250

I can individually communicate with either of these modules and they work okay. But if I connect both of them together on the same bus, only the MAX30102 works. The other module fails to communicate. I see the following on the Logic Analyzer:

image description

I flashed again, and I get a different behaviour:

image description

There is a small pulse in the SCL line towards the end. If I reset the board, I get a mix of ACKs and NACKs for write to different registers, but no consistent communication:

image description

The MAX30102 module has an inbuilt level shifter, and it pulls the I2C bus to VIN, which is 2.8v coming from the NRF52-DK. But MPU9250 module did not come with a schematic, but I'm assuming it to be pulled up to 2.8V itself, since its VIN is the same 2.8V from NRF52-DK.

If I disconnect SDA/SCL of MAX30102, then MPU9250 start communicating consistently. Could anyone point out why the communication is inconsistent ?

Parents
  • So its on rising edge of data that I get this spike on clk, and the I2C interprets this transaction as an ACK for a write to 0xEC, as per the logic analyzer. What would the cause for this interference? I'm using a breadboard,so there are quite a lot of wires running around. I also notice that my flash chip connected to the system is giving wrong device ID values. Its definitely interference. But how to figure out what exactly is the problem ?

Reply
  • So its on rising edge of data that I get this spike on clk, and the I2C interprets this transaction as an ACK for a write to 0xEC, as per the logic analyzer. What would the cause for this interference? I'm using a breadboard,so there are quite a lot of wires running around. I also notice that my flash chip connected to the system is giving wrong device ID values. Its definitely interference. But how to figure out what exactly is the problem ?

Children
No Data
Related