各位TI工程师,您好!
我司的开发环境为ARM+ADS1299,主控操作系统是linux。现在我遇到的问题是,主控与AD无法通讯。我测试通讯方法是:读取ADS1299其中一个寄存器的结果值。以下是我的测试步骤:
1.检查上电时序,满足power-up时,DVDD 3.3V与RST同时上电,上电后对AD进行RST操作,并延时18*TCLK,其中上电前,所有的IO脚为低电平;
2.检查驱动发送数据的值,使用示波器核对每次发送数据的值是否为我写入的值,确保至少SPI发送出来的数据是正确的;
3.对主控SPI进行设置以满足AD的通讯要求,设置通讯字长为8bit,CPOL =0; CPHA=1;
4.发送读命令:
a.拉低START pin
b.切换模式 : 发送SDATAC,再发送 0x00
c.发送读的寄存器和位:发送RREG | REG_ADDR , 发送0x00, 在发送0x02 ,其中REG_ADDR=0x05,0x02是需要读的寄存器的位
d.拉高START pin
e.监测DRDY pin状态,如果是低电平 说明 有有效数据返回
f.拉低START pin
g.read spi buf.
这个时候,读取出来的值是0,按demo板上该位RST后的值应该是1才对,请问,我现在应该怎么调试。
另外,需要说明的是,当我发送值的时候,使用示波器监视DOUT的波形,此时,波形是不规则的,无法使用SCLK根据波形分析数据。
非常紧急,盼复,谢谢!