Skip to main content
Visitor II
March 29, 2018
Question

LSM303AGR with switchend GND

  • March 29, 2018
  • 1 reply
  • 827 views
Posted on March 29, 2018 at 13:03

Hi there

I'm developing an ultra-low-power minituarized system witch includes the LSM303AGR. since the power comes only from a small battery, the sleep-current of the LSM303AGR is too high, therefore we want to power down it's power supply when it's not used. 

Unfortunately there is a RTC on the same i2c bus , which obviously can't be powered down. so the data-communication on the i2c bus should work, even when the LSM303AGR on the same bus has no power supply.

Shut down VCC of the LSM303 doesn't work, because the chip gets powered through SCL,SDA and its ESD-protection diodes. What I do now, is to the put the GND-pin of the sensor to an I/O  of the MCU. When the sensor is not in use, i put the MCU-I/O in High-Z state to cut the Sensors power-supply. the sensor is then powered down.

Unfortunately, if I try to communicate with the RTC over i2c, the MCU isn't able to pull-down the i2c for the start condition. it gets stuck... and we can't really figure out why, because we have no information on the i/o internals of the LSM303AGR.

does anyone have an idea how the LSM303AGR i2c i/os are internally built up? or can ST provide some information about the topic?

or has anyone an idea how to get the i2c running properly even when the LSM303AGR has no power but is still connected to the i2c bus.

I'm aware that cutting power with the GND may not be the best idea, but we have a lack of space and power to do it otherwise. with other sensors from other vendors this practice worked quite well. unfortunately we can't use the SPI bus, since the LSM303AGR only supports 3-wire SPI.

thank you so much

matt

#lsm303agr #ultralowpower #i2c
    This topic has been closed for replies.

    1 reply

    ST Employee
    March 29, 2018
    Posted on March 29, 2018 at 14:53

    First of all, are the 2uA current consumption really too high for your application?

    0690X0000060AJHQA2.png

    When you trying to communicate with the RTC are both the Vcc and GND of LSM303AGR disconnected?

    Where to you have blocking capacitor(s) for the LSM303AGR?

    It is really not good idea to disconnect the GND of the LSM303AGR, without the GND the state of the device can be quite unpredictable. 

    Visitor II
    March 29, 2018
    Posted on March 29, 2018 at 15:46

    Thank you for your quick answer!

    The power consumption in sleep mode of the whole pcb is around 650nA, so additional 2uA are not acceptable. 

    i tried to switch both VCC and GND to high-z. but this didn't work either. it worked, when i disconnected physically the two pins. but that's not a possible solution for us.

    i know that disconnecting GND is not a good idea, but we have no other option and we hope to get it running somehow. is there a change to get informations about the sensor i/o internals?

    ST Employee
    April 5, 2018
    Posted on April 05, 2018 at 13:11

    The problem is caused by internal ESD diodes on the SDA and SCL pins.

    I tried to summarize the situation on the following diagram.

    0690X0000060ARkQAM.png

    So when you put VDD on the GND pin and try to force 0V od SDA or SCL pin the ESD diode is open and there will be quite high current which could damage the sensor or the MCU.

    The only solution I see is to add series resistor (green dots on the picture), but anyway the solution will create additional current consumption and also reduce the maximum communication speed.