AnsweredAssumed Answered

The ADXL350 uses SPI readings occasionally with errors

Question asked by KoreyChen on Jan 14, 2018
Latest reply on Jan 17, 2018 by neilzhao
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.

最近使用ADXL350遇到了读数问题。控制器使用定时器在1秒内定时读取1024数据,但是把数据发送到上位机显示,发现数据有跳变错误。如下图所示:黄色:Z轴,紫色:Y轴,蓝色:X轴。下图为传感器静止放置时,1秒内每个轴读取的1024个点数据连续波形。

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。

尝试过降低SPI速度,同样现象。还尝试过使用1600HZ采样,这种错误现象更加剧烈。尝试过FIFO流水线模式,同样有此数据错误现象。

 

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?

 

问题1:我的配置是否有错误?

问题2:这种现象是怎样产生的,怎样解决?

问题3:这个会不会和传感器内部更新寄存器时,外部SPI同时又在读取同一个寄存器,导致冲突,致使数据出错?

问题4:由于需要在1秒内读取1024个数据然后做FFT,有没有更好的方式来读取1024个点数据?

Outcomes