cancel
Showing results for 
Search instead for 
Did you mean: 

AIS2DW12 power consumption when SPI SDO left low after communications

JasonRrrr
Associate II

When I read the FIFO with SPI the SDO pin is sometimes left LOW. This causes a current leak through the internal pull-up. See pic attached showing 1 minute of readings every 800ms. As you can see the current is high every time the SDO pin is low. I assume the internal pull-up is causing the current.

I've read the data sheet and the application note AN5326 but I cannot see why this happens.

I'm using ODR 25HZ with Power mode 4, +2G range and continuous FIFO. SPI 4-wire. NRF52840. I have tested the NRF52840 current draw and determined that the accelerometer is drawing the current.

To hack it lower before sleeping, I've set -1 (oxFF) to my Z_OFS_REG and I read from the Y_OFS_REG (this register precedes Z_OFS_REG). This results in the trailing SDO bit always being high at the end of the SPI read. This leaves the SDO line HIGH which avoids the problem. I would like to know if there's a more conventional way of fixing this.

I've tried all 4 SPI modes and I've tried SPI frequencies 125khz, 4Mhz and 8Mhz.

My accelerometer is the STEVAL-MKI206V1 breadboarded with an nrf52840 dongle. 4 wires from accelerometer to dongle. no additional components.

Any help is greatly appreciated.

10 REPLIES 10
Eleon BORLINI
ST Employee

Hi @JasonRrrr​ ,

I understand the problem. Do you see this issue only using FIFO, and not in bypass mode?

A possible "solution" could be use the 3 wires SPI instead of 4 Wires, so that you can avoid to use the SDO/SA0 pin.

3 wires SPI is a little more complex that 4 wires one, but the NRF52840 dongle should implement it.

Your patch is valuable, indeed, and if it doesn't impact on your code you can implement it too.

-Eleon

JasonRrrr
Associate II

Hi Eleon, Unfortunately the nrf52840 cannot receive data using 3 wire SPI (I think it might be possible if I connect the MOSI to MISO with a 10k resistor and reducing the frequency, but I want to have 8M frequency to minimise power usage)

I've not tested bypass mode and I cannot test this today. I must use FIFO in my application though.

I could try toggling bypass mode to see if it resets the SPI MISO pin. I will try this the next time I have the breadboard setup

Hi @JasonRrrr​ ,

did you had the possibility to check the bypass mode with the breadboard setup?

-Eleon

JasonRrrr
Associate II

I will try to test it this week @Eleon BORLINI​ 

Eleon BORLINI
ST Employee

Hi @JasonRrrr​ ,

when you have any feedback, please come back here 😉

-Eleon

Sorry Eleon, I've still not had time.

I've been trying to get the new prototype ordered and I really wanted to include the AIS2DW12 but I cannot find stock of it anywhere. So I've been forced to put the LIS3DH on the board instead. This is very disappointing because we thought this prototype could be final hardware and the LIS3DH is not sensitive enough for one of our features.

Do you know if it's possible to get samples from ST?

I need 10 for this prototype.

@Eleon BORLINI​ 

Hi @JasonRrrr​ ,

sorry for the late reply.

Is your first issue solved?

About the availability of the samples, it is a bit tricky issue in these months: for this reason, I suggest you to open a ticket in the OLS page, or try with contacting sales and representatives from your geographical region, from the st.com link.

-Eleon

@Eleon BORLINI​ 

Hi Eleon, unfortunately I was unable to find stock anywhere so I changed the prototype design to use the LIS3DH instead. I have just sent the order.

I have not had time to work on the AIS2DW12 recently. I would still like to use it but I cannot say when.