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

ads1248

硬件电路在附件里。电路板使用XC3S1500-4FGG456C控制ADS1248,采集两个PT100的电压值。我用VHDL写的驱动,大致思路是:先配置寄存器,然后发送RDATAC(不断读)命令,但是读不到AD数据。示波器显示,DIN引脚数据正确。请问这种情况,大致原因可能是什么?

JHL:

读不到AD数据的具体情况是什么? DOUT有无数据变化?  看到中间有一个电平转换芯片,有没有实测一下ADS1248 SPI各管脚上的波形时序?

le wang:

按8bit写数据。写一个8bit时使能片选和时钟,写完一个8bit禁止片选和时钟(start和reset一直为1),然后再使能再禁止,不断循环。按照WREG命令格式,依次写寄存器地址、个数、数据。配置完寄存器后,发送RDATAC(不断读)命令,不断读数。

DOUT没有数据变化,一直为0,DRDY一直为高。CS、SCLK、DIN波形正常,CLK没用。

le wang:

回复 JHL:

按8bit写数据。写一个8bit时使能片选和时钟,写完一个8bit禁止片选和时钟(start和reset一直为1),然后再使能再禁止,不断循环。按照WREG命令格式,依次写寄存器地址、个数、数据。配置完寄存器后,发送RDATAC(不断读)命令,不断读数。

DOUT没有数据变化,一直为0,DRDY一直为高。CS、SCLK、DIN波形正常,CLK没用。

JHL:

回复 le wang:

把写入的寄存器再度出来看一下,确认是否已正确写入?  再请提供把配置。

le wang:

回复 JHL:

ADS1248的寄存器配置如下:

寄存器              数值

MUX0          00000001

MUX1          10100010

IDAC0         00000110

IDAC1         10001001

SYS0          01011111

GPIOCFG   00000000

其他寄存器没有配置。

JHL:

回复 le wang:

把SYS0 写入 10100000试一下,看输出DOUT有无变化? 如无变化,读一下IDAC0寄存器,得到什么值?

Sulyn ZHANG:

回复 le wang:

您好,寄存器配置应该没什么问题,请注意下你ADS1248开启转换了没有,ADS1248启动转换需要一个tstart脉冲电平(datasheet上面第11页),它的最小时间为3xtOSC(tOSC = 1/fCLK. The default clock frequency fCLK = 4.096MHz),如果没有启动转换,DOUT有可能是低电平。请您确认下

le wang:

回复 Sulyn ZHANG:

寄存器配置正确(读出来的值和写进入的一样),共模电压也在范围之内。但是ADS1248采样的数值变动很大。请专家帮我分析原因。

Sulyn ZHANG:

回复 le wang:

您好,这种应用场合下建议采用128的增益。在您32位增益条件下测得到的输出数据后面有几位跳动?

le wang:

回复 Sulyn ZHANG:

输出的24BIT都有变动,且变动幅值大、频率高。

赞(0)
未经允许不得转载:TI中文支持网 » ads1248
分享到: 更多 (0)