CLKSEL脚设置为高电平,ADS_RST脚设置为高电平,START脚为低电平,测试SPI接口。执行读REG命令,发送0X20,0X01,0X0,0X0,读0地址2个字节数据。感觉时序没什么问题,回读的数据MISO脚一直为低电平。AVDD和DVDD都为+3.3V.
时序如下图,黄色线为CLK,请问是什么问题?
CS脚
MOSI脚
MISO脚,都为低电平
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
CLKSEL脚设置为高电平,ADS_RST脚设置为高电平,START脚为低电平,测试SPI接口。执行读REG命令,发送0X20,0X01,0X0,0X0,读0地址2个字节数据。感觉时序没什么问题,回读的数据MISO脚一直为低电平。AVDD和DVDD都为+3.3V.
时序如下图,黄色线为CLK,请问是什么问题?
CS脚
MOSI脚
MISO脚,都为低电平
测试了,应该是复位时序的问题。通过以下代码测试,循环的复位,不是每次复位都能回读到正确的数据。回读的数据要么正确,要么全零。请问这颗芯片初始化是否有比较严格的时序?
while(1)
{
for(ucLoop = 0; ucLoop < 5; ucLoop++)
{
printf("reg%d=0x%x\n",ucLoop,fnAdsRdReg(&CAdsSpi,ucLoop)); //读REG,并打印
fnTickDelay(2); //20ms
}
CLR_ADSRST_PORT(); //拉低复位脚
printf("rst\n");
fnTickDelay(100); //1s
SET_ADSRST_PORT(); //抬高复位脚
fnTickDelay(200); //2s
fnSpiCmd(&CAdsSpi,0x11); //sdatac
}