微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1259的寄存器读取错误

ADS1259的寄存器读取错误

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

你好,我最近在调试ADS1259这款芯片,遇到读取寄存器返回随机码的问题,

逻辑分析仪抓的图如下:

参照官方的资料,返回的第三个字符应该是config0的默认值,即10xx0101b,但是现在返回的字符是随机的,我没有对芯片进行任何配置,只是复位后读取寄存器。请问这可能是什么问题呢?

谢谢!

您好,你的SPI通信确定没有问题吗? 你能够通过SPI正常读写寄存器了吗?谢谢

这是从电路板上抓的波形,spi是没有问题的,按照官方的时序来的。写寄存器需要通过读寄存器来验证,所以先做读寄存器了,现在读取寄存器有问题。

我解释一下波形:mosi的第一个字符代表读取地址0的寄存器,第二个字符0x00代表共读取1byte,第三个0x00是读取miso的返回值,没有意义。

初始化程序:

void ads1259_init(void)
{
ads1259_reset_h;
ads1259_start_h;
delay_us(100);
ads1259_reset_l;
delay_us(100);
ads1259_reset_h;
//delay_ms(10);
ads1259_start_l;
}

读取寄存器0:

void ads1259_read_config0(void)//default: 10XX 0101=0x 5
{
unsigned char temp1=0,temp2=0,temp3=0,temp4=0,temp5=0;

ads1259_cs_l;
spi_write(0x20);//OPCODE 1 = 0010 0000
spi_write(0x00);//OPCODE 2 = 0000 0000
temp1=spi_read();
ads1259_cs_h;

lcd_display_int(0,1,temp1);
}

参照的官方PDF33页内容:

PDF如下:1172.ADS1259.pdf

官方SPI时序:

我的SPI时序:

CPHA=1,CPOL=0.

你好,可以在初始化之中先尝试关停默认的连续读模式采用SDATAC模式来进行配置。我在调试ADS131E08时也碰到过类似问题,两者有很多相似之处。

的确是这个问题。

PDF的32页。

非常感谢!

但是希望官方能说明一下为什么要SDATAC而不能RDATAC。

那要如何进行配置呢?

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

网站地图

Top