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: Why DRDY is always High?

Part Number: ADS1299

Hi All,

I have use ADS1299 to capture EEG data, but DRDY is always High! below is my infomation:

1. Use STM32 MCU + Mbed OS.

2. Use SPI as the communication between MCU and ADS1299. (_spi.format(8, 1);  _spi.frequency(4000000); )   

3. It's able to read ADS1299 chip ID: 0X3E over SPI.

4. Below are all of the register values after initializing & configuration:

ADS1299 Device ID is: 0x3e
Register value is:
Reg address 0, value = 0x3e
Reg address 1, value = 0xb6
Reg address 2, value = 0xc0
Reg address 3, value = 0xec
Reg address 4, value = 0x00
Reg address 5, value = 0x68
Reg address 6, value = 0x68
Reg address 7, value = 0x68
Reg address 8, value = 0x68
Reg address 9, value = 0x68
Reg address 10, value = 0x68
Reg address 11, value = 0x68
Reg address 12, value = 0x68
Reg address 13, value = 0xff
Reg address 14, value = 0xff
Reg address 15, value = 0x00
Reg address 16, value = 0x00
Reg address 17, value = 0x00
Reg address 18, value = 0x00
Reg address 19, value = 0x00
Reg address 20, value = 0x0f
Reg address 21, value = 0x00
Reg address 22, value = 0x00
Reg address 23, value = 0x00

5. below picture is the hardware design on ADS1299.

any helps will be appreciated!

Thanks a lot.

Linx

  • Hi Linx,

    Your schematic image didn't come through - can you re-post it?

    First, you may want to verify that the voltage levels of your communication are the same as DVDD. Additionally, make sure that something in the STM32 isn't holding DRDY high. 

  • Dear Alex,

    Thanks for your reply.

    DRDY was direct connected STM32 pin that was configurated as AnalogIn to ready DRDY status.

    Attached PDF file is on the ADS1299 hardware design.

    any helps will be appreciated.

    EEG.pdf

  • Hi Linx,

    I do not know anything about the MCU, so I cannot offer much support here. 

    I don't see anything noticeably wrong with the schematic, I assume the the EEG DRDY node simply connects to the MCU. 

    I suggest taking a look at the SPI debug steps in the BIOFAQ in my signature. Additionally, there are many other related posts that can be searched and referenced on E2E.

  • Dear Alex,

    Thanks a lot.

    Yes,  EEG DRDY node simply connects to the MCU (STM32 GPIO, and configurated as Mbed DigitalIn pin).

    Sounds like something wrong with the software during initialization:

    1. Using STM32 MCU + (RTOS) Mbed OS.

    2. Initialize ADS1299:

       1.) spi-> this should be OK, since it's able to read/write ADS1299 registers.

       2.) write ADS1299 config1, config2, config3 registers. for detailed values, i had dump all of register values.

       3.) active ADS1299 channels.

       4.) start ADS1299 continuous read data mode.

              RDATAC(); // enter Read Data Continuous mode
              wait_ms(1);
              START();  // start the data acquisition
              wait_ms(1);

    3. read DRDY signal 

        while(!(ADS1299.isDataAvailable())){            // watch the DRDY pin 

        }

        // read data...

       Unfortunately, drdy is always high.

    So are there any special settings to be configurated during initialization?

    Thanks.

    Linx

  • Hi Linx,

    Is DRDY high before issuing the START command or only remains high after the START command? 

    Have you checked your MCU settings to ensure that this pin is not being held high somehow?