已回答假定已回答

ADXL345使用SPI接口读ID,SDO无信号输出

PC27149 在 2014-9-28 詢問的問題
最後回覆由adi_rock於2014-10-14提供

问题已提交chinasupport,调试的同时与大家分享下:

现在的问题:

我们用ARM+FPGA例化的SPI接口,尝试去读寄存器ID:0x00

用示波器观察SCLK/CS_n/SDI/SDO的信号,在读操作时SCLK/CS_n/SDI脚上信号同步,读地址为0x80(读操作MSB1+寄存器ID地址:0x00)

但对应的SDO脚上无输出(恒低电平,尝试过连续向SDI写入16次寄存器地址和只写1次8bit)

还是对ADXL345是否需要做什么设置/配置SPI的访问模式、数据格式?

1.jpg

以下为示波器测量的ADXL345 demo板上信号,3.3v供电,SCLK=50M/16=3.125MHz

2.jpg

CH1-SCLK(16次x8bit读访问) vs CH2-CS_n

4.jpg

 

CS_n与SCLK延对齐的关系细节如上图,CS_n有效期间,SCLK的上升沿个数是正确的。

3.jpg

 

CH1-SDI vs CH2-SCLK

SCLK采样SDI数据为0x80

/******************************************/

后来在ADI论坛上找是否有同样案例,Debugging Communication problems with MEMS Sens... | EngineerZone

中所提到的clock mode问题,对应将SPI控制器设置为CPOL=1/CPHA=1,也无改变,

而之前SPI控制器的默认值为CPOL=0/CPHA=0.

結果