This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1299-4: 读出8通道数据

Part Number: ADS1299-4
Other Parts Discussed in Thread: ADS1299

请问一下,我们正在制作多通道脑电采集系统。目前出现的问题是ADS1299-4 ID NU_CH[1:0]读出的是11,且可以读出8通道数据。

之前已经采用ADS1299制作出了多通道的采集系统,目前我们正在制作更高导联的系统。

我们采用了10片以上的ADS1299组成多通道脑电采集系统,为了避免浪费,我们采用多片ADS1299+一片1299-4组成采集系统,采用菊花链连接,ADS1299-4作为第一片,单独有CS引脚,其余ADS1299在第一片后菊花链连接,共用另一个CS

但是我们出现了问题,详细问题为:

ADS1299-4 ID NU_CH[1:0]读出的是11,且可以读出8通道数据。NU_CH[1:0]正常应该为00

我们可以确的是,我们采用的是正品ADS1299-4,因为我们是在TI官网购买的,

当我们采用未和ADS1299一起使用过的新芯片时,设备ID读出来是00,这是正确的。

我们供电采用DVDD=3.0V,AVDD=+2.5V,AVSS=-2.5V

则应该:

DVDD = 3.3V/3.0V
AVDD = +2.5V
AVSS = -2.5V
VREFN = -2.5V
VREFP = +2V
VCAP1 = AVSS+1.2V = -1.3V
VCAP2 = (AVDD+AVSS)/2 = 0V
VCAP3 = AVDD+1.9V = +4.4V
VCAP4 = (VREFP+VREFN)/2 = -0.25V

我们测量正常的ADS1299-4(未经过任何使用的)的VCAP3为4.4V左右。

我们测量不正常的ADS1299-4(和ADS1299一起菊花链使用过得)的VCAP3为1.8V左右。

我们可以确定我们的电路硬件没有任何问题,代码也没有任何问题,上电时序也检查过肯定没有问题。

只是通过将不同的ADS1299-4(正常的ADS1299-4和不正常的ADS1299-4)分别焊接到我们之前成熟的电路上,且使用批量测试过稳定的代码,并且只焊第一片ADS1299-4,读取他的寄存器并显示采集到的数据。

神奇的是,ADS1299-4正常的只能读到4个通道的数据,但是不正常的可以读到8个通道的数据,我们测试了方波测试信号,正常的也只能生成4路,不正常的可以生成8路。

在这里,我们将不正常的ADS1299-4写入了ADS1299的程序,正常的ADS1299-4写入的是ADS1299-4的程序,其中一些寄存器配置如下:

CH5SET:00
CH6SET:00
CH7SET:00
CH8SET:00
BIAS_SENSP:0X
BIAS_SENSN:0X
LOFF_SENSP:0X
LOFF_SENSN:0X
LOFF_FLIP:0X

即将某些用不到的5-8通道的某些为置0

不正常的ADS1299-4测试方波程序如下:

可以看到读到了8个通道的数据,这让我们完全不理解,我们可以肯定的是ADS1299-4原来是好的,并且我们采用信号发生器单独分别接入1-8通道,发现每个通道都可以正常显示波形,幅值频率正常,仿佛ADS1299-4变成了ADS1299一样,但是设备ID读不到且VCAP3不对。我们不清楚造成这种现象的原因是ADS1299-4和ADS1299组成了菊花链结构导致的还是将ADS1299程序的寄存器写入ADS1299-4导致的。这看起来就像寄存器控制器错乱了一样,我们还有可能恢复吗?

我们还出现另外一个现象,就是和不正常ADS1299-4一起组成菊花链的ADS1299,VCAP3也变成了1.8V,且ID NU_CH[1:0]也变成了11

在这种情况下,我们可以正常采集数据,我们将信号接入,信号也都正常,幅值正常,但是我们测试阻抗,即开交流激励源,发现测量出的阻抗比实际的要低一半,我们怀疑VCAP3降低导致内部交流激励电流源变低从而阻抗值测量变低。

我们的疑问有以下几点:

1.可以确定硬件,程序,上电时序都没有问题,ADS1299为何ID会读成11,且VCAP3为1.8V,我们还有可能将其恢复吗?

2.ADS1299-4为何ID读出是11,为何VCAP3为1.8V,为何能正常采集8个通道的数据,我们还能将其恢复吗?

3.ADS1299-4能否和ADS1299组成菊花链结构?

 

  • 您好,

    ADS1299-4能否和ADS1299组成菊花链结构?

    可以的。

    ADS1299-4为何ID读出是11,为何VCAP3为1.8V,为何能正常采集8个通道的数据,我们还能将其恢复吗?

    ADS1299 其他四路不用的输入端您是如何处理的?建议其他四个不同的输入端上拉至AVDD,不建议接GND防止漏电流的产生。

    1.可以确定硬件,程序,上电时序都没有问题,ADS1299为何ID会读成11,且VCAP3为1.8V,我们还有可能将其恢复吗?

    根据您的描述,也就是说ADS1299-4单独使用,ID和VCAP3都正常,只有当和ADS1299 级联的时候发生异常是吗?

    并且将单独正常工作的ADS1299-4,换到级联里,也是会出现ID和VCAP3异常的现象对吧?

    看起来问题不是在于ADS1299-4上,应该是daisy chain级联出现的问题,将CS拉高,进行reset试试呢?

    • 抱歉我点错了,问题还并没有解决。

    ADS1299 其他四路不用的输入端您是如何处理的?建议其他四个不同的输入端上拉至AVDD,不建议接GND防止漏电流的产生。

    电路上我们将未使用的P端和SRB1都拉至了AVDD,因为电路是给ADS1299使用的,所以使用ADS1299-4时,其5-8通道的N端并没有拉至AVDD,而是接了输入端口,让我们疑惑的是,原装全新的ADS1299-4相同的电路5-8通道并没有信号,且VCAP3为4.4V;而与ADS1299菊花链后的ADS1299-4的8个通道全部都有了信号,并且信号是正常的,全部可以正常采集,此时VCAP3为1.8V左右,用于阻抗检测的激励源电流大约为原来的一半。

    根据您的描述,也就是说ADS1299-4单独使用,ID和VCAP3都正常,只有当和ADS1299 级联的时候发生异常是吗?

    全新的ADS1299-4但是单独使用可以正常采集4个通道,ID和VCAP3都正常,但是与ADS1299串联后的ADS1299-4可以采集8个通道值了,ID和VCAP3都不正常,此时也是单独只使用了一片测试的。

    并且将单独正常工作的ADS1299-4,换到级联里,也是会出现ID和VCAP3异常的现象对吧?

    这个我们后续并没有再进行测试,因为如果出问题会损失一片ADS1299和ADS1299-4,价值比较高。但是我们可以确定的是,出问题的ADS1299-4在与ADS1299级联前是完全正常的。

    将CS拉高,进行reset试试呢

    我们尝试这样操作,并没有什么变化。

  • 抱歉我点错了,问题还并没有解决。

    没关系。我会继续跟进您的问题,明天我会再看下您的问题。

  • 在这里,我们将不正常的ADS1299-4写入了ADS1299的程序,正常的ADS1299-4写入的是ADS1299-4的程序,其中一些寄存器配置如下:

    CH5SET:00
    CH6SET:00
    CH7SET:00
    CH8SET:00
    BIAS_SENSP:0X
    BIAS_SENSN:0X
    LOFF_SENSP:0X
    LOFF_SENSN:0X
    LOFF_FLIP:0X

    即将某些用不到的5-8通道的某些为置0

    您这里配置的有问题,不论是ADS1299,还是ADS1299-4,因为它们的封装是相同的,所以我们只使用4路的话,ADS1299以及ADS1299-4的CH5-8SET都配置为power down状态。所以CH5SET~CH8SET不用的话不应该是配置为0,而是bit7 =1, power down channel 5~7,bit6~4=111,don‘t use。 即CH5SET~CH8SET不用的话可以配置为F1h。

  • 在这里,我们电路使用了8个通道,所以是将ADS1299和ADS1299-4也都使用了8个通道,上图那个寄存器是单独使用ADS1299-4时写的寄存器参数,在ADS1299-4的datasheet中Table 11中(1)说将ADS1299-4置为00或0

    在后面,我们在电路中依旧使用8个通道,在给ADS1299和VCAP3不正常的ADS1299-4都写入了ADS1299的寄存器,如下:

    0x95//CONFIG1
    0xC2//CONFIG2
    0xE6//CONFIG3
    0x00//LOFF
    0x58//CH1SET
    0x58//CH2SET
    0x58//CH3SET
    0x58//CH4SET
    0x58//CH5SET
    0x58//CH6SET
    0x58//CH7SET
    0x58//CH8SET
    0xFF//BIAS_SENSP
    0xFF//BIAS_SENSN
    0xFF//LOFF_SENSP
    0xFF//LOFF_SENSN
    0x00//LOFF_FLIP
    0x00//LOFF_STATP
    0x00//LOFF_STATN
    0x0F//GPIO
    0x00//MISC1
    0x00//MISC2
    0x00//CONFIG4

    让我们疑惑的是,单独使用不正常的ADS1299-4(VCAP3为1.8V的),写入以上寄存器后可以读出8个通道,ID为11,但是单独使用正常的ADS1299-4,,即使写入以上寄存器,也只有4个通道有数据,VCAP3为4.4V,且ID正常。

    这看起来就像是有一批ADS1299-4的内部控制错乱了,导致可以读出8个通道数据且ID错误,我们还有办法恢复它吗?

  • 明白,那这样看来ADS1299-4和ADS1299级联没问题,原因就出在将ADS1299的程序写入了ADS1299-4上导致内部寄存器错乱。

    电路中PWDN没和reset引脚接在一起吧?如果接在一起,无法满足FIgure 76的上电时序。

    恢复的话,就是进行reset,上面您提到reset没用,您看下reset时序是否满足?如果PWDN和RESET接在一起的话,就进行software reset。 如果没接在一起的话,硬件复位和软件复位哪个都可以,一定要符合reset的时序,reset后,再等18 × tCLK时间去读一下ID,或者其他寄存器,看是否是默认值,从而确定能不能恢复。如果ID读出来还不对的话,应该是不能恢复了。

  • 电路中PWDN没和reset引脚接在一起吧?如果接在一起,无法满足FIgure 76的上电时序。

    我们的/PWDN一直通过10k的电阻上拉到DVDD,RESET单独由MCU控制,没有接在一起。

    我可以肯定我们上电时序是完全正常的,我们的CLK是2.048Mhz,tCLK为488ns,tPOR应大于128ms,我们给的500ms左右,tRST应大于0.97ms我们给的5ms,用示波器看过引脚控制是给过去的,并且时序满足,后来我们将tPOR和tRST都给到了3S左右,仍旧ID读不正确,并且硬件复位软胶复位都尝试过了。并且其他完全正常的芯片使用这套程序是可以读出来的,只有出现问题的才会读不出来,这么看芯片很有可能已经发生了异常。

    可以帮忙联系一下TI原厂的工程师咨询一下这是什么原因吗,我们还有可能恢复吗,能够返厂维修吗?谢谢。

  • 可以帮忙联系一下TI原厂的工程师咨询一下这是什么原因吗,我们还有可能恢复吗,能够返厂维修吗?谢谢。

    好的,这个问题我帮您去问一下,收到答复会第一时间通知给您。

  • 好的,感谢,我们目前是ADS1299和ADS1299-4都出现了ID不对且VCAP3 不正确的情况。

  • 也就是说,ADS1299-4写了ADS1299的程序,ADS1299 是写的自己ADS1299的程序,但是因为和ADS1299-4级联,ADS1299的ID也不正确了是吧?

  • 是的,目前情况是这样的。

  • 好的,我这边去确认一下,有收到答复我会通知给您。

  • 您好,您的问题我已经和美国工程师反馈了,他的意思是DEV_ID 读取的正确吗?DEV_ID 应该为11.

    如果 NU_CH读取出来为11的话,他也是需要再去和内部team的工程师去讨论,因为datasheet上没有 NU_CH会读出11的情况。

  • 是的,有问题的ADS1299-4  的ID读出来为0XDF,即DEV_ID[1:0]位为11,NU_CH[1:0]位也为11。正常ADS1299-4的ID读出来DEV_ID[1:0]位为00

  • ADS1299 的呢?您说ADS299的NU_CH[1:0]位也为11,DEV_ID[1:0]是多少,正常吗?

  • 是一样的,不正常和正常的ADS1299的DEV_ID[1:0]都为11

    正常的ADS1299的NU_CH[1:0]位为10,不正常的ADS1299的NU_CH[1:0]位为11,不正常的ADS1299是指VCAP3=1.8V

  • 您好,我这边已经收到回复,美国那边回复的意思是经过内部讨论,认为这NU_CH[1:0]读取为11 应该不是将ADS1299 程序写入ADS1299-4原因导致的。

    所以也和您确认,ADS1299-4还能正常的采集和读取数据吗?是否还能读取其他寄存器的值是正常的吗?

    他们没有给出是否可以修复的方案,还是建议一定要保证寄存器的值reset时恢复到默认值。

    另外,也建议如果换ADS1299-4 试试。 

  • ADS1299-4还能正常的采集和读取数据吗

    可以,但是出问题的ADS1299-4的VCAP3是1.8V,如果换好的,没有使用过得ADS1299-4,好的VCAP3是4.4V是正常的。其他寄存器读取也都正常,可以正常采集数据,我们使用注入激励电流源采集电压的方式来测试阻抗,发现出问题的ADS1299-4的阻抗值小了一半,所以我们怀疑内部的激励电流源也小了。

    他们没有给出是否可以修复的方案,还是建议一定要保证寄存器的值reset时恢复到默认值。

    另外,也建议如果换ADS1299-4 试试

    好的,谢谢。

  • 不客气,也感谢您的反馈,那您这边还有什么问题需要我请教美国那边的吗?

    他们那边的建议看起来是需要寄存器恢复到默认值再去使用。