Post Go back to editing

ADXL343 unexpected INT_SOURCE FLAG

Category: Choose a category

Hi

We use below sequence.

①Supply 3.3V(VSS and VDDI/O) for ADXL343. (MCU already supplied.)

Start voltage is under 100mV and bottom hold time is more than 400ms, rise time is 50us.
②Write DAT_FORMAT=b'00001011 FULL_RES=1 Range=11  ±16g full setting
Write BW_RATE=b'00001110 RATE=800Hz
④Write POWER_=b'00001000 Measure=1
➄Read  INT_SOURCE Read data_ready with SPI
⑥IF data_ready=1 read data X1 X2 Y1 Y2 Z1 Z3 X1 X2 Y1 Y2 Z1 Z3 read is in same CS section

➆Sometime, READ INT_SORCE=b'11111111(INCORRECT)

 the others,READ INT_SOURCE=b'10000000(CORRECT)

We don't set INT_ENABLE but INT_SOURCE:D6 D5 D4 D3 D2 D0 =1

repeatedly ➄-➆.

Polling period is 400us with CPU clock.

I think that SPI read polling is not good.

But we don't use INT pin.(This pin don't connect any circuit.no line and no cable)

If we use FIFO,  don't this problem occur? 

Are there any others improvement ways?

Best regards

Thank you very mcuh.

Top Replies

  • Hi  , 

    Asynchronous readings of acceleration data can lead to accessing the acceleration data registers while they are being updated. To avoid this, it is recommended to either enable FIFO stream mode…

  • Hi  , 

    Asynchronous readings of acceleration data can lead to accessing the acceleration data registers while they are being updated. To avoid this, it is recommended to either enable FIFO stream mode or to synchronize a SPI/I2C transaction to the DATA_READY interrupt functionality, so that the host processor samples immediately after the DATA_READY interrupt goes high.

    I hope this helps. 

    Pablo.