cancel
Showing results for 
Search instead for 
Did you mean: 

MEMS - LSM9DS1 I2C Addressing Issue

SAdde.18
Associate II

I interfaced LSM9DS1 with TI micrcontroller TMS320F28035 with I2C protocol. The LSM9DS1 is SDO_A/G pin is pulled low, so that it can be addressed with 0x6A. But what I observe is..

Whenever I power the board up, it does not respond with 0x6A and responds only with 0x6B. It responds with 0x6B only for sometime after power up and stops responding. Now, it starts responding with 0x6A only and does not respond for 0x6B until it is power cycled again.

I don't understand why does the MEMS respond with a different address 0x6B everytime I power it up in the first place.

Can anyone help me with why is this behavior of MEMS being observed?

2 REPLIES 2
Eleon BORLINI
ST Employee

hi @SAdde.18​ , which is the Vdd and VddIO you are using? Are they shorted together? And which pull-up values are you using on the I2C lines? I'm wondering if the SDO_A/G is set in a digital 0, and if TMS320F28035 is correctly driving the lines. Regards

SAdde.18
Associate II

Hi @Eleon BORLINI​,

Yes, Vdd and Vddio are shorted and connected to 3.3V. I was using a pull down of 10Kohms on SDO_A/G line while pulling the pin down, which resulted in a voltage of 1.3V at that pin. I think therefore, the MEMS was able to both addresses (0x6A,0x6B). I changed the resistor to 2.2Kohms and the MEMS started responding to only 0x6A address as expected. What is the pull down resistor value you recommend? There is no source current information available in your datasheet to calculate the pull down resistor value.

To address the MEMS with 0x6B, I used a pull up resistor of 10Kohms. And the voltage observed on SDO_A/G pin is 3.29V. The voltage only dropped by 0.01V from the source voltage (3.3V).

A 10K pull up resistor works on the SDO_A/G pin but not a strong pull down (i.e. around 2.2K) is required on the pin.

Thanks & Regards,

Shalini Addepalli