使用ADXL350遇到了读数问题。控制器使用定时器在1秒内定时读取1024数据,但是把数据发送到上位机显示,发现数据有跳变错误。如下图所示:黄色:Z轴,紫色:Y轴,蓝色:X轴。下图为传感器静止放置时,1秒内每个轴读取的1024个点数据连续波形。
说下配置:4线SPI,±2g,全分辨率(DATA_FORMAT= 0x09),POWER_CTL = 0x8,INT_ENABLE=0x00,800Hz采样BW_RATE=0xD,FIFO旁路模式FIFO_CTL=0x00。
尝试过降低SPI速度,同样现象。还尝试过使用1600HZ采样,这种错误现象更加剧烈。尝试过FIFO流水线模式,同样有此数据错误现象。
但是只要将传感器换一个方向,让X轴Y轴都在重力方向有分量,Z轴与水平面平行,数据出错的概率就有明显改善。如下图所示:
问题1:我的配置是否有错误?
问题2:这种现象是怎样产生的,怎样解决?
问题3:这个会不会和传感器内部更新寄存器时,外部SPI同时又在读取同一个寄存器,导致冲突,致使数据出错?
问题4:由于需要在1秒内读取1024个数据然后做FFT,有没有更好的方式来读取1024个点数据?
谢谢!

