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.

Problem Reading Data with ADS1299 in Daisy-Chain

Other Parts Discussed in Thread: ADS1299, ADS1299-4, ADS1299-6

Hello, everyone.

  I have made the system using three ADS1299EEG EVALUATION board and one STM32F4 Discovery board. I configure the three ADS1299s in the Daisy-Chain mode. The three ADS1299 share the same /CS, DIN, SCLK, CLK and power signals. The second and third ADS1299s' /DRDY are floating and not connecting to any pins. The first ADS1299's /DRDY signal is connected to STM32 as an external interrupt input. The DOUT PIN of the second ADS1299 is connected to the first DAISY-IN and the DOUT of the third ADS1299 connected to the second DAISY-IN of the second ADS1299. The DAISY-IN pin of the third ADS1299 is connected to GND.

  Now I can write and read the register of the first ADS1299 and when the data conversion begins the /DRDY pin triggered correctly. But the data I read from the ADS1299s is 0xFF and there is a long 'tail' after the data. It shows below. 

 The first picture is SCLK and DOUT of first ADS1299, which the upper is DOUT and the lower is SCLK. The second to the fourth picture is /DRDY pin of the three ADS1299s. I think the /DRDY pins of three ADS1299s are synchronized. But the data is wrong. Anyone met this thing ever before. Please help me, thank you very much.

  • Hello Shunan,

    Thanks for your question.

    For starters, I have a few questions of my own to understand how you are using the device:

    1. How are you sharing the CLK signal between devices?
    2. What are the complete register settings for each ADS1299?

    Assuming the devices are synchronized and configured for the same data rate, you should only have to monitor the /DRDY pin of the first ADS1299. /DRDY will transition high after the first SCLK falling edge and it will stay high until the next sample is ready to read.

    The discharging "tail" you see on DOUT might be explained by returning /CS to high and disabling the ADS1299 interface. When this happens, the DOUT pin changes to a high-impedance state and any remaining voltage may be discharged through a low-impedance path on the circuit board or through the capacitance in your scope probes. I don't believe it's indicative of an issue just yet.

    Best Regards,

  • Hello Ryan, thank you for replying me. It is very kind of you.

    First I answer the questions:1. As I mentioned before, I use three ADS1299EEG daughter board to make up the system. so I use the external clock of the first ADS1299EEG board to be shared with three ADS1299.

      2. My complete register setting is showed as below.

    uint8_t ADS1299Reg_Continuous_Setting[24] =
    {
    0x3E, //DEVICE ID

    0X96, //CONFIG1
    0XC0, //CONFIG2
    0XE0, //CONFIG3
    0X00, //LOFF

    0X00, //CH1SET;
    0X00, //CH2SET;
    0X00, //CH3SET;
    0X00, //CH4SET;
    0X00, //CH5SET;
    0X00, //CH6SET;
    0X00, //CH7SET;
    0X00, //CH8SET;
    0X00, //BIAS_SENSP
    0X00, //BIAS_SENSN
    0X00, //LOFF_SENSP
    0X00, //LOFF_SENSN
    0X00, //LOFF_FLIP

    0X00, //LOFF_STATP
    0X00, //LOFF_SATIN

    0X00, //GPIO
    0X00, //MISC1
    0X00, //MISC2
    0X00, //CONFIG4

    };

    The system is working as a Daisy-Chain and continous mode.

      Now I have made some progress. I can read the first and second ADS1299 on the board. But the third ADS1299 data is still 0xff. I read the manual about the Daisy-Chain. In section 10.1.4.2, it is said: "The ADS1299 can be daisy chained with a second ADS1299, an ADS1299-6, or an ADS1299-4." So I wonder how many ADS1299s can be in one Daisy-Chain. Only two? I don't believe it. But why can I read only two ads1299s in the daisy-chain? I supply power to the three ADS1299s with one ADS1299EEG mother board. Is it because of the insufficient power supply? 

      I hope to get your help, Thank you so much.

  • Hi Shunan,

    Out of curiosity, are your questions related to this thread: e2e.ti.com/.../612447? The questions are very similar, so I was wondering if perhaps you were working together with Ming.

    As I explained in that thread, the number of devices you can daisy-chain depends on the data rate, SCLK frequency, and the number of bits you need to read. I do not believe that sharing the power rails would be a problem. You can verify this by probing the analog and digital supply pins as well as the /DRDY pins for all three devices. That should confirm whether all power rails are correct and that all devices are converting properly. If you use the same CLK source and synchronize the devices' conversions with the START pin, the /DRDY pulses will also be synchronized.

    The register settings you shared look fine. Are you using the on-board OSC1 (2.048MHz) for all three ADS1299 devices?

    Best Regards,