3 Replies Latest reply on Sep 6, 2014 3:47 AM by MikeS

    Multiple i2c devices not recognized

    MikeS

      Hi All

       

      I am working with a Innvense MPU-9250 IMU and a MS5611 altimeter connected via I2C. If I connect either of them up to the Galileo they are recognized and the example software works fine. If I put them daisy chain them to the I2C pins (A4/A5) the MPU9250 is recognized but not he MS5611. On a Arduino Mega their is no issue, and I have done this many times including on a Teensy 3.1.  So the question is what is the problem and what can I do to fix it.  I even ran a I2C scanner and did not see any conflicts with the MS5611 address. I have checked the connections multiple times so I dont't think that's it.  By the way they are 3.3v devices.

       

      Thanks

      Mike

        • 1. Re: Multiple i2c devices not recognized
          JPMontero_Intel

          I haven’t tried it, I’m going to try to connect 2 i2c devices, and I'll let you know my results.
          Regards
          JPMontero_Intel

          • 2. Re: Multiple i2c devices not recognized
            mon2

            Hi MikeS,

             

            personally not very fond of the TI level shifters / analog muxes. We have had horrible and very costly experiences with their TXS devices (also used on the Galileo on other portions of the design) on some projects with non-ideal waveforms. We switched to another vendor and immediately saw textbook perfect square waves with proper level shifting. Respectively, if you are able to, consider to connect your single I2C device (just for testing) BEFORE the TI MUX (U7 - see page 22 of Galileo schematic). That is, you may wish to consider testing directly with the RIGHT side of the I2C mosfets. Once this is proven to work to detect the single I2C slave, then introduce the 2nd slave. Assuming that you are not applying your own local I2C pull-ups ? The reason being that the Galileo already features the required I2C pull-ups (2.2 k each on the SDA and SCL lines) - so you should not have any such pull-ups on both / all of your I2C slaves. The premise here is to bypass the analog mux in the event it is tanking your I2C bus.

             

            Kumar

            • 3. Re: Multiple i2c devices not recognized
              MikeS

              Hi Kumar

               

              Thank you for your very detailed response. As you suspected I do not have sufficient skills to troubleshoot the issue to level you suggested. I did try a couple of other things including going through a level shifter and powering the devices separately but with no luck. As you stated the problem may lay with pulls on the break-out boards but since they are working with other boards do not really want to mess with them at this point until I finish working with them.

               

              thank you again for your response.

               

              Mike