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

ADS1292读不到内部的测试信号

最近在用STM32+ADS1292做一个采心电的板子,还没开始采人体信号,想先采一下芯片内部的Test Signal。但是出来的结果总是不对。

我的初始化流程如下:

ADS_RESET_H;// \RESET=1
ADS_CS_H;// \CS=1
ADS_START_L; START=0
delay_ms(100);
ADS_CS_L;// \CS=0
SPI_WriteByte(ADS_RESET);//写入RESET指令
delay_ms(10); //等待
SPI_WriteByte(SDATAC); //写入SDATAC指令
delay_ms(100);
/*寄存器配置*/
Write_REG(CONFIG1,0x00);//采样率500SPS
Write_REG(CONFIG2,0xA3);//使用内部的2.42V参考电压,打开TEST SIGNAL,输出1Hz方波
Write_REG(LOFF,0x10);
Write_REG(CH1SET,0x81);//通道1关闭并短接
Write_REG(CH2SET,0x15);//通道2增益设置为1,输入test signal
Write_REG(RLD_SENS,0x00);
Write_REG(LOFF_SENS,0x00);
Write_REG(LOFF_STAT,0x00);
Write_REG(RESP1,0x02);//
Write_REG(RESP2,0x87);//
Write_REG(GPIO,0x00);
SPI_WriteByte(ADS_OFFSETCAL);//通道偏移校正
ADS_START_H;//START=1
ADS_CS_L;// \CS=0

SPI_WriteByte(RDATAC);

电路图如下所示:

寄存器均可正常读写,但是得到的数据却不是1Hz,1mV的方波信号。而且使用不同的通道作为test signal的输入时,结果差别很大。

希望有大神能够帮忙解决,看看是寄存器配置的问题,还是电路设计的问题,或者操作流程的问题。在此深表感激!

Yaofeng Guan:

当我按照datasheet上的操作流程进行噪声检测时,寄存器配置如下:

Write_REG(CONFIG1,0x00);//采样率500SPSWrite_REG(CONFIG2,0xA0);//使用内部的2.42V参考电压Write_REG(LOFF,0x10);Write_REG(CH1SET,0x01);//通道1打开并短接Write_REG(CH2SET,0x01);//通道2打开并短接Write_REG(RLD_SENS,0x00);Write_REG(LOFF_SENS,0x00);Write_REG(LOFF_STAT,0x00);Write_REG(RESP1,0x02);//Write_REG(RESP2,0x07);//Write_REG(GPIO,0x00);

得到的数值是:

C00000(24位状态寄存器)+FFFB04(通道1数值,在这个值附近变化)+FFFD09(通道2数值,在这个值附近变化)

显然这个数值不应该这么大才对,不知道哪里出了问题

Mickey Zhang:

回复 Yaofeng Guan:

电路建议重新修改下,请参考附件。

Yaofeng Guan:

回复 Mickey Zhang:

谢谢您的帮助,当初设计电路的时候就是参照这个图做的,现在还没有测外部信号,只是想先测一下内部的测试信号,还是不行,不知道原因出在哪

yun tan1:

回复 Yaofeng Guan:

大兄弟,你现在测到心电信号没有?我也在做这个,加QQ聊一下?734932586

赞(0)
未经允许不得转载:TI中文支持网 » ADS1292读不到内部的测试信号
分享到: 更多 (0)