微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 请教ADS1292的SPI接口读不出数据

请教ADS1292的SPI接口读不出数据

时间:10-02 整理:3721RD 点击:

CLKSEL脚设置为高电平,ADS_RST脚设置为高电平,START脚为低电平,测试SPI接口。执行读REG命令,发送0X20,0X01,0X0,0X0,读0地址2个字节数据。感觉时序没什么问题,回读的数据MISO脚一直为低电平。AVDD和DVDD都为+3.3V.

时序如下图,黄色线为CLK,请问是什么问题?

CS脚

MOSI脚

MISO脚,都为低电平

从图形看, 可以大体判断为 "毫无反应" 的类型, 那么时序波形看到了,先检查一下 SPI 从机的供电, 复位, 信号连接和焊接有没有问题吧

测试了,应该是复位时序的问题。通过以下代码测试,循环的复位,不是每次复位都能回读到正确的数据。回读的数据要么正确,要么全零。请问这颗芯片初始化是否有比较严格的时序?

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

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top