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.

Linux/ADS1299: Read chip id via SPI Command fail. only get 0x00

Part Number: ADS1299

Tool/software: Linux

Dear Engineer in Ti,

       Our Team developed a board with ADS1299, but We found we can not read chip id after send read register command via spi,
If you give us some advice, we will appreciate it.
we found VCAP1 is less than 1.1v, so we change C17 from 100uF to 47uF. after we change C17 to 47uF, we found VCAP1 is greater than 1.1v.
but we still can not read chip id, the data is 0x00.

the attachment is our hardware scheme.

and we use the ads1299 driver from github.com/.../kernel-module-ads129x

dts file is like this.

spi2_cs0@0 {
    compatible = "ti,ads129x";
    reg = <0>;
    spi-max-frequency = <2000000>;
    reset-gpio = <&pioA 122 GPIO_ACTIVE_LOW>;
    start-gpio = <&pioA 57 GPIO_ACTIVE_HIGH>;

    rdy-irq{
        interrupt-parent = <&pioA>;
        interrupts = <105 IRQ_TYPE_EDGE_RISING>;
    };
};

These pictures are from oscilloscope.
SPI Command 0x02(WAKEUP)
SPI Command 0x11(SDATAC)
SPI Command 0x2000(RREG ADDRESS 0 chip id)
SPI Command 0x04(STANDBY)

  • Hello Gang,

    Thanks for your question.

    Are you using the correct SPI mode settings? It appears that data is transitioning on the falling edge of SCLK in your images. We need data to transition on the rising edge of SCLK since the ADS1299 uses the falling edge to latch the data.

    Please confirm you are using SPI mode 1 (CPOL = 0, CPHA = 1):

    Best Regards,

  • Hi, Ryan,

            Thanks for your advice.

    Follow your advice, After changed SPI mode to MODE 1,but chip ID is still 0x00.
    Is there other factor we should consider?
    Thanks again.

    Best Regards,
    Gang

  • Hello Gang,

    Thanks for the update.

    If you simply power on the device and pulse the /RESET, do you eventually see /DRDY pulsing after START is pulled high?

    Regards,
    Ryan
  • Hello Ryan,

    Thanks for your reply.

    We powered on the device and toggle /RESET  to low level with wire directly. 
    but there is still no /DRDY pulse.(in picture1)

    We set  the signal is triggered by falling  on /DRDY on oscilloscope,
    then We  pulse the /RESET under linux 
    but we have not seen  /DRDY pulsing since the device powered on.(picture 2)

    Regards,

    Gang

    The below is the Picture1

    yellow: START
    green: RESET
    blue:   Supplies
    purple: DRDY

    The below is picture 2

    Yellow: START
    Green: DRDY
    Blue:  RESET
    Purple:PWDN