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:为什么 DRDY 始终为高电平?

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

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/850920/ads1299-why-drdy-is-always-high

器件型号:ADS1299

大家好、

我使用 ADS1299来捕获 EEG 数据、但 DRDY 始终处于高电平! 以下是我的信息:

1.使用 STM32 MCU + mbed OS。

2.使用 SPI 作为 MCU 和 ADS1299之间的通信。 (_spi.format (8、1); _spi.frequency(4000000);)   

它能够通过 SPI 读取 ADS1299芯片 ID:0x3E。

4.以下是初始化和配置后的所有寄存器值:

ADS1299器件 ID 为0x3E
寄存器值为:
寄存器地址0、值= 0x3E
寄存器地址1、值= 0xb6
寄存器地址2、值= 0xc0
寄存器地址3、值= 0xec
寄存器地址4、值= 0x00
寄存器地址5、值= 0x68
寄存器地址6、值= 0x68
寄存器地址7、值= 0x68
寄存器地址8、值= 0x68
寄存器地址9、值= 0x68
寄存器地址10、值= 0x68
寄存器地址11、值= 0x68
寄存器地址12、值= 0x68
寄存器地址13、值= 0xff
寄存器地址14、值= 0xff
寄存器地址15、值= 0x00
寄存器地址16、值= 0x00
寄存器地址17、值= 0x00
寄存器地址18、值= 0x00
寄存器地址19、值= 0x00
寄存器地址20、值= 0x0F
寄存器地址21、值= 0x00
寄存器地址22、值= 0x00
寄存器地址23、值= 0x00

下图是 ADS1299上的硬件设计。

任何帮助都将不胜感激!

非常感谢。

LINX

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

    您好、LINX、

    您的原理图图像未通过-您能否重新发布?

    首先、您可能需要验证通信的电压电平是否与 DVDD 相同。 此外、请确保 STM32中的某些内容不会将 DRDY 保持在高电平。  

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

    尊敬的 Alex:

    感谢您的回复。

    DRDY 是直接连接的 STM32引脚、该引脚配置为 AnalogIn 以显示 READY DRDY 状态。

    随附的 PDF 文件适用于 ADS1299硬件设计。

    我们将感谢您的任何帮助。

    e2e.ti.com/.../EEG.pdf

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

    您好、LINX、

    我对 MCU 一无所知、因此我无法在这里提供大量支持。  

    我看不到原理图有任何明显的错误、我假设 EEG DRDY 节点只是连接到 MCU。  

    我建议查看我签名中 BIOFAQ 中的 SPI 调试步骤。 此外、E2E 上还可以搜索和引用许多其他相关帖子。

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

    尊敬的 Alex:

    非常感谢。

    是的、 EEG DRDY 节点仅连接到 MCU (STM32 GPIO、并配置为 Mbed DigitalIn 引脚)。

    初始化过程中软件出现问题:

    使用 STM32 MCU +(RTOS) mbed OS。

    2.初始化 ADS1299:

      1) SPI->这应该是可以的、因为它能够读取/写入 ADS1299寄存器。

      2) 写入 ADS1299 CONFIG1、CONFIG2、CONFIG3寄存器。 有关详细值、我转储了所有寄存器值。

      3) 有源 ADS1299通道。

      4) 启动 ADS1299连续读取数据模式。

            RDATAC();//进入连续读取数据模式
           WAIT_ms (1);
            start(); //开始数据采集
             WAIT_ms (1);

    3.读取 DRDY 信号  

      while (!(ADS1299.isDataAvailable())){           //观察 DRDY 引脚  

       }

       //读取数据...

      不幸的是、单调的结果始终很高。

    那么、在初始化期间是否有任何特殊设置需要配置?

    谢谢。

    LINX

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

    您好、LINX、

    在发出 START 命令之前 DRDY 处于高电平还是仅在发出 START 命令之后才保持高电平?  

    您是否检查了 MCU 设置以确保该引脚不会以某种方式保持高电平?