Post Go back to editing

The ADXL350 uses SPI readings occasionally with errors

The ADXL350 recently encountered reading problems. The controller uses the timer to read
1024 data regularly in 1 second, but sends the data to the host computer and finds that
the data has the jump error. As shown below: Yellow: Z axis, purple: Y axis, blue: X axis.
The following figure shows the 1024 points data continuous waveforms read by each axis in
1 second when the sensor is still placed.


Speak under Configuration: 4-wire SPI, ± 2g, full resolution (DATA_FORMAT = 0x09), POWER_CTL = 0x8, INT_ENABLE = 0x00, 800Hz Sample BW_RATE = 0xD, FIFO Bypass Mode FIFO_CTL = 0x00. Have tried to reduce SPI speed, the same phenomenon. Also tried to use 1600HZ sampling, this error phenomenon more intense. Have tried FIFO pipeline mode, the same data error phenomenon.

说下配置:4线SPI,±2g,全分辨率(DATA_FORMAT= 0x09),POWER_CTL =  0x8,INT_ENABLE=0x00,800Hz采样BW_RATE=0xD,FIFO旁路模式FIFO_CTL=0x00。


Question 1: My configuration is wrong?

Question 2: This phenomenon is how to produce, how to solve?

Question 3: This will not update the internal register and the sensor, the external SPI while reading the same register, resulting in conflict, resulting in data error?

Question 4: Since 1024 data needs to be read in 1 second and then FFT, is there a better way to read 1024 point data?





  • 您好:




    Thank you very much for your guidance. The problem that caused the data error is indeed caused by the lack of continuous readout.    Now the solution is to open the Overrun interrupt, and then use IO to read, Overrun set continuously read 6 bytes of data. There is no jump phenomenon.  

    Thank you!