cancel
Showing results for 
Search instead for 
Did you mean: 

LSM9DS1 - IO Pins

Dave Kearney
Associate II
Posted on September 21, 2017 at 07:14

Hi Guys, I'm planning on using the LSM9DS1 as a heading sensor on my board, and I was curious about the functionality of some of the pins - I couldn't find any detailed description in the datasheet.

The pin description describes Pins 5,6 (SDO_A/G, SDO_M) as 'I2C least significant bit of the device address' for I2C mode - are these required if talking to the module in I2C mode?

Also am I correct in assuming that pins 7,8 (CS_A/G, CS_M) just need to be pulled high externally to VDD_IO to enable I2C mode?

And are pins 9 - 13 required or is it possible to just use the I2C bus to talk to the module and read back measurements etc? I'm guessing the interrupts would be handy to alert to a fall or something like that but would not necessarily be required? And I'm not sure the purpose of the Data Ready, Data Enable Pins?

Many Thanks in advance!

Dave

#lsm9ds1
1 ACCEPTED SOLUTION

Accepted Solutions
Miroslav BATEK
ST Employee
Posted on September 21, 2017 at 09:08

The pins SDO_A/G and SDO_M defines the I2C address of your sensor. Please see Table 19. It can be used in case you have two sensors on the same I2C bus. You have to connect it to VDD_IO or GND.

0690X00000608JZQAY.png

To enable I2C mode you have to connect CS_A/G and CS_M to VDD_IO.

Connection of pins 9-13 is optional. If you need for example wake-up your microcontroller when some significant motion is detected you can use the interrupt pins. When new data are available pulses are generated on data ready pins. Concerning the Data Enable pin please have a look here 

https://community.st.com/0D50X00009XkhX7SAJ

 .

View solution in original post

14 REPLIES 14
Miroslav BATEK
ST Employee
Posted on September 21, 2017 at 09:08

The pins SDO_A/G and SDO_M defines the I2C address of your sensor. Please see Table 19. It can be used in case you have two sensors on the same I2C bus. You have to connect it to VDD_IO or GND.

0690X00000608JZQAY.png

To enable I2C mode you have to connect CS_A/G and CS_M to VDD_IO.

Connection of pins 9-13 is optional. If you need for example wake-up your microcontroller when some significant motion is detected you can use the interrupt pins. When new data are available pulses are generated on data ready pins. Concerning the Data Enable pin please have a look here 

https://community.st.com/0D50X00009XkhX7SAJ

 .
Posted on September 25, 2017 at 03:15

Many Thanks Miroslav, that's great.

Cheers,

Dave

Posted on September 25, 2017 at 04:40

Actually one more quick follow-up - I've had a look at the DEN_A/G post, but I'm still not sure I understand fully. Is it an Input pin? To allow external turn on of A/G data on the I2C bus?

Thanks,

Dave
Posted on September 25, 2017 at 12:21

I see, the name of the DEN_A/G ping is little bit misleading. It is input pin but not to turn on the A/G data.

The purpose of this pis is to synchronize the measurement with external signal, if you don't need this functionality you can keep i unconnected.

To enable this functionality you have to configure it in the registers.

Posted on October 24, 2017 at 12:04

Hallo Miroslav,

probably you can explain me what i have not found in description.

Concerning the table 19. Column SA0 - yellow.

LSB for accelerometer or gyroscope.

Values '0' and '1' in which cases ?

Whether does mean that i must correspondingly set input pin 5 (SD0_/AG)

Thanks in advance

Dmitrij

Miroslav BATEK
ST Employee
Posted on October 24, 2017 at 14:09

If you have two sensors on the same I2C bus you have to distinguish them by different SD0_/AG connection thus different I2C address.

Posted on October 24, 2017 at 12:24

Hello,

I'm not sure if I understand you question. The Table 19 describes the I2C address for accelerometer and gyroscope, both sensors have the same address. If the pin is connected to GND the SAD[0] bit is 0, if the pin is connected to VDD_IO the SAD[0] bit is 1.

Posted on October 24, 2017 at 12:46

What is the difference between 1-st and 3-rd rows in the table or between 2-nd and 4-th ?

It seems to me that the column “R/W� and correspondingly signal “read-write� together with device address SAD[6:1] uniquely define the operation. So, what is the sense of SA0?

Whether does mean that simply it is indifferent “0� or “1� on SA0 ?

Posted on October 24, 2017 at 14:18

'Two sensors.'

Do you mean two different sensor devices, e.g. LSM9DS1 connected to the same I2C bus ?

Is there the default address of I2C set by production for LSM9DS1 ?