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-6:突然读取几乎恒定的值、并且当触摸电极、短接等时不会发生变化

Guru**** 2550040 points
Other Parts Discussed in Thread: ADS1299

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1221832/ads1299-6-suddenly-reads-nearly-constant-values-and-doesn-t-change-when-electrodes-are-touched-shorted-etc

器件型号:ADS1299-6
主题中讨论的其他器件:ADS1299

大家好!

我是一个团队的成员、正在研究以 ADS1299 6PAR 为中心的 EEG 器件。 在过去几周里,我们一直在测试我们的第一个原型,我们已经验证一切都在运作,我们甚至能够读取一些基本的生物信号。

不过、昨天已经发生了一些事情、ADS1299现在只能在所有通道上读取恒定值。 它们的电压范围为40-90 mV、并且在每次初始化时会有所不同。 我们已尝试手动将电极短路、但电极值似乎不 受任何接触的影响。

这是我们的器件串行输出的图片、其中每条线路都是来自 ads1299的不同数据突发、前6个数字是以伏特为单位的通道值、后3个数字是状态字节。

这种情况下除前两个手动短路的电极外、所有电极都处于悬空状态。 由于我们停止短路或执行了其他任何操作、这些值没有改变。

这是 我们的初始化协议。

 ADS1299_init_spi();
    //send SDATAC command to write the registers
    ADS1299_cs_select();
    ADS1299_send_command(ADS1299_CMD_SDATAC);
    ADS1299_write_register(ADS1299_REG_CONFIG3, 0b11100000);
    sleep_ms(1000);

    //write configuration registers

        //enable CLK output and Set output data rate to 250SPS
        ADS1299_write_register(ADS1299_REG_CONFIG1,  0b11010110);

        ADS1299_write_register(ADS1299_REG_CONFIG2,  0b11010011);


        //Bias Settings
        ADS1299_write_register(ADS1299_REG_CONFIG3,  0b11101110);
        
        //close SRB1 swithces
        ADS1299_write_register(ADS1299_REG_MISC1, 0b00100000);

        //close BIASP switches
        ADS1299_write_register(ADS1299_REG_BIAS_SENSP, 0b11110000);

        //set channel to normal electrode input
        ADS1299_write_register(ADS1299_REG_CH1SET, 0b01100000);
        ADS1299_write_register(ADS1299_REG_CH2SET, 0b01100000);
        ADS1299_write_register(ADS1299_REG_CH3SET, 0b01100000);
        ADS1299_write_register(ADS1299_REG_CH4SET, 0b01100000);
        ADS1299_write_register(ADS1299_REG_CH5SET, 0b01100000);
        ADS1299_write_register(ADS1299_REG_CH6SET, 0b01100000);


            ADS1299_write_register(ADS1299_REG_LOFF, 0b00001100);
            ADS1299_write_register(ADS1299_REG_CONFIG4, 0x02 );
            ADS1299_write_register(ADS1299_REG_LOFF_SENSP, 0xFF);
            ADS1299_write_register(ADS1299_REG_LOFF_SENSN, 0x00);

我们已尝试关闭各种通道、这可以正常工作、但其余通道仍然存在相同的问题。 我们确实意外地对寄存器中本应为常数值的位进行了写入、但我们不知道这是否会引起问题。

我们是否意外地使某个东西短路或损坏 ADS1299、或者这是否与我们的设置相关?
提前感谢您的任何帮助。
 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    自发布此帖子以来、我们已在直流和交流方波配置中使用内部测试功能进行了测试、并验证一切都在这方面正常工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您提到了"内部测试"、所有测试都很可能可行、对吧?

    如果是、那么目前的问题可能是什么?

    ----------------

    您是否有 ECG 或 EEG 模拟器可生成信号/将信号注入 ADS 以供您进行测试和验证?

    您碰巧有 ADS1299评估套件/板(EVM)吗?  

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速响应。

    在测量的电压方面、测试信号似乎可以正常工作、但测试交流信号的频率似乎并不正确。 当我们将频率设置为 Fclk/2^21时、使用 ads1299内部时钟、方波的周期大约为6秒。

    当前的问题是、对于所有设置为正常工作模式的通道、它们读取的值都大致相同、如图所示。 当我们将输入短接至 SRB1引脚或注入信号时、这些值不会改变。 不过、该常数值在初始化时会发生变化、随着时间的推移会缓慢变化。 此外、当我们使通道 SRb1和偏置引脚短路时、导联脱落检测不起作用、尽管该功能在这些问题开始之前已经开始工作。

    我们没有任何 ads1299评估套件。

    所有这些似乎都是最近的更改、我们尝试重新上传以前的固件、但都没有效果。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果"测试信号在测量的电压方面似乎正常工作"、 您尝试注入和测量的电压是多少?

    建议使用 ECG 或 EEG 模拟器以从外部生成/注入测试信号。

    --------

    对于"正常工作模式下、它们的读数大致相同。"

    您要注入哪些信号或电压? 以及如何实现? 您是在顺序模式还是参照模式中设置的?

    ----------------

    不明白这意味着什么"所有这些似乎都是最近的变化、我们尝试重新上传以前的固件、但没有任何效果。 "?

    您能解释一下吗?

    ----------------

    建议您获取一个 ADS1299EVM 进行比较。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们的失调电压设置为参考失调电压、其中 SRB1电极用作我们的基准、而正极引脚用作测量电极。

    我们所指的"测试信号"是 ADS1299生成的内部校准信号。

    对于"正常工作模式"、我们在几微伏到几百毫伏之间的任何位置注入电流、这似乎不会改变任何电极的测量。 初始 POST 中显示的数据图像是在前两个电极连接到 SRB1、电极3和4连接到几毫伏、最后两个电极悬空的情况下获取的。

    我所说的"近期更改"是指 ADS1299之前已经在工作了。 我们正在读取正确的信号、并且所有的测试都符合预期。 在过去的一周里、发生了一些事情、现在所有通道似乎都无法测量任何来自电极的电流。 在由 CHXSET 寄存器位2:0定义的"正常操作"下、它们读取的值都相同、如下所示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请检查所有电源轨的原理图是否正确、并检查并探测 PCBA 以确保没有短路。

    -------------------------------------------------------
    您是否可以尝试仅读取一个通道? SRB1电极流向哪里?
    此外、您是否一直通过注入100mV 电压的测试?

    您的 VREF 是什么? 确保输入电压满足第7.3节"建议运行条件"模拟输入。

    建议使用 EEG 或 ECG 仿真器进行测试、或者注入10mV 范围内的信号。

    -------------------------------------------------------

    "最近更改"是指 ADS1299事先已经工作了。 我们正在读取正确的信号、并且所有的测试都符合预期。 在过去的一周里、发生了一些事情、现在所有通道似乎都无法测量任何来自电极的电流。 "

    是否有任何设计历史文件和/或 V&V 测试报告?

    您是否具有其他已知正常的电路板(KGB)?

    您需要将一个 KGB 与这种可疑的板(我们将其称为 Know Bad Board (KBB))并排放置、通过比较所有详细角度进行根本原因分析(RCA)。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的建议。

    我们检查了所有电源轨、并且电路板上的任何地方都没有短路。 包括我们的微控制器、闪存和其他传感器、一切仍正常运行。  

    如果我们仅读取一个通道、则会出现相同的问题。 某种恒定值、不对我们注入的信号进行任何反射。  

    SRB1电极放置在我们的接地输入信号上。

    我们以前通常在10uV 至1mV 下进行测试、但当遇到该问题时、我们开始在100毫伏范围内进行测试。

    我们使用的是4.5伏的内部 VREF。

    我们没有任何设计历史记录文件。 我们尚未更改设计、从它工作时开始。 此时、我们假设 ESD 事件损坏了 ADS 中的某个东西、或者我们以另一种方式损坏它。 我们只是想确保、在替换这个60美元的器件之前。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否有其他已知正常的电路板要测试?

    请确保注入电压范围符合数据表第8页中的模拟输入所需条件

    满量程差分输入电压 VINxP–VINxN  ±VREF/增益

    和  

    VCM 输入共模范围(VINxP + VINxN)/ 2 ; 9.3.1.3.1输入共模范围

    ----------------

    您是否尝试读取 ECG 模拟器生成的信号? 如果尚未完成、请尝试一下。

    ----------------

    如果您已检查此主题上的所有建议和检查点、确定 PCBA 没有任何错误、那么您可以考虑替换 ADS1299。

    -------------------------------------------------------

    只是再次仔细检查、您说您仍然可以正确读取 ADS1299的内部测试信号?

    -------------------------------------------------------

    请考虑制作/获得至少2~3个额外的 PCBA 以进行良好的工程、实验以及 V&V 和 RCA 实践。

    并且、保留非常好的详细程序、结果和所有设计、配置和实验的报告历史记录

    ----------------

    谢谢