TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS1299与主机无法通讯

各位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根据波形分析数据。

非常紧急,盼复,谢谢!

user151383853:

除了 RESET 信号, 是不是时钟出了问题?

HAIXIN YU:

回复 user151383853:

您好!

  我们使用的CLK 频率为2.048这点也有确认过,是正常的,波形效果很好。

  另外,这个rst信号我的状态是这样的,我们主板供电的时候会直接给AD上电,而主控是还没有上电,要等按了POWER键以后才会上电,这个时候,AD的POWER为3.3 ,RST为1.5,被主控分压了。当主控开机后,RST上升成3.3。进入系统后,我对RST进行拉低动作,可以把3.3完全拉完。

  我不确定在一开始的RST 1.5的电压是否会影响AD的上电初始化?如果要改电路会比较麻烦,所以现在还没有尝试去改。请问您了解吗?谢谢!

HAIXIN YU:

各位,你好!

  目前最新情况是,我可以获取到返回的值,但是这个值跟我发送出去的一致,感觉像是AD完全没有处理(监听了DRDY为低电平再获取的值)。请问是什么原因呢?

赞(0)
未经允许不得转载:TI中文支持网 » ADS1299与主机无法通讯
分享到: 更多 (0)