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

ads1282调试过程遇到的问题

最近做了ads1282ad采集板,用于地震数据采集,调试过程遇到如下问题,大家看看怎么解决:

1. DRDY在拉高之前有个小脉冲,有影响吗?

2. 我现在用stm32F407的板子来读取ads1282的数据,发现从ads1282的DOUT输出的数据不稳定,相差非常大,请问是哪里设置有问题

3.  初始化:如下

SPI_WriteByte(ADC_SDATAC);
DELAY_FCLK(12);
ADS1282WREG(ADC_ADDR_CFG0,0x52); // ¸ßλÔÚÇ°¡¢Ð£×¼¡¢Ê¹Óûº³å
DELAY_FCLK(12); /* 10 f_CLK cycles required between each byte transaction */

ADS1282WREG(ADC_ADDR_CFG1,0x08); // ·Å´ó±¶Êý1
SPI_WriteByte(ADC_RDATAC);
DELAY_FCLK(12);

读取寄存器基本正确:0 52 08 32 03 0 0 0 0  0  40

请帮我分析分析

1. 

user151383853:

看波形不错

但发现从ads1282的DOUT输出的数据不稳定,相差非常大,请问是哪里设置有问题

能否先排除一下信号源的问题?

kevin.wang:

回复 user151383853:

是的,相差非常大,可能是初始化问题,初始化加了reset,也可能是信号源问题,但已经好了,读到的数据如下,感觉还算可以大概有,误差应该可以控制在4bit以内

FFFF6C 16777068 FFFF82 16777090 FFFF58 16777048 FFFF57 16777047 FFFF80 16777088 FFFF75 16777077

但现在有了新问题,例如我想AIN1和AIN2之间切换,发现不行

#define channel01 0x00#define channel02 0x10

while(1)

{

ADS1282WREG(ADC_ADDR_CFG1, channel01 | 0x08);                // ·Å´ó±¶Êý1

readdata();

ADS1282WREG(ADC_ADDR_CFG1, channel02 | 0x08);                // ·Å´ó±¶Êý1

readdata();

}

具体表现为,只要加上ADS1282WREG(ADC_ADDR_CFG1, channel01 | 0x08);       这句,就不产生DRDY信号,请问有遇到么,是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » ads1282调试过程遇到的问题
分享到: 更多 (0)