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.

ADS1259 SPI

Other Parts Discussed in Thread: ADS1259

I am trying to using the ADS1259 in continuous read mode. What is the maximum clock speed this IC can handle? Also what is the recommended clock speed for this device?

Currently between each sample I write one byte then read 3 bytes. Is this the correct use?

What is the procedure to receive one sample? Dout and Din

Thanks


  • I have a device with 4 ADS1259 and I would like to sample all 4 at a sample rate of 14400. Currently for each sample I am stopping the device and starting. I have included the psuedo code below.

    In the code below the four channels are converted in order. However if the data is not ready and we wait, we miss samples. Is there a way we can sync the 4 ADS1259?


    for() { //Loop 14400 times a second

    //channel 1
    //while(!dataReady)
    //Chip select channel 1 low
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)

    //channel 2
    //while(!dataReady)
    //Chip select channel 2 low
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)

    //channel 3
    //while(!dataReady)
    //Chip select channel 3 low
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)

    //channel 4
    //while(!dataReady)
    //Chip select channel 4 low
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)
    //write 1 byte SPI
    //Read ADS1259 (1 byte)

    }

  • If we attach all of the ADS1259 to a common clock source, would we be able to control which ADS we would like to read from simply by using the chipselect line? The purpose of using the same clock source for sampling would be to keep the 4 ADS1259s in sync.

    Two ways:
    I can attach a clock source that connects to all of the ADS1259s
    Or I can add a crystal circuit with capacitors attached to each of the ADS1259s
    Would either of these methods work better than the other?

    I need to find a way to sample all 4 as quickly as possible (14400 samples/s)

  • Hi hj,

    I'll try to answer all your previous questions in this post:

    I am trying to using the ADS1259 in continuous read mode. What is the maximum clock speed this IC can handle? Also what is the recommended clock speed for this device?

    The clock source can handle up 10 MHz, but 7.3728MHz is the nominal clock frequency that achieves the data rates listed in the ADS1259 data sheet.

    For the SPI interface, the SCLK can be a maximum frequency of 1.8*t_CLK or 4.096 MHz when using the nominal 7.3728MHz ADC clock.

     

    Currently between each sample I write one byte then read 3 bytes. Is this the correct use?
    What is the procedure to receive one sample? Dout and Din

    SPI communication is full-duplex; therefore, reading data can only be done concurrently with a data write. The procedure is dependent on the mode you’re using...

    If you use the ADS1259 in “Read Data Continuously Mode” (i.e. you sent the RDATAC command), wait for /DRDY to go low, then write the sequence: 0x00, 0x00, 0x00 to clock out the data.

    If you do not use the “Read Data Continuously Mode”, then you must send the RDATA command followed by the sequence: 0x00, 0x00, 0x00 to clock out the data.

     

    In the code below the four channels are converted in order. However if the data is not ready and we wait, we miss samples. Is there a way we can sync the 4 ADS1259?

    Yes, by applying the same clock source and issuing the START command simultaneously to all four channels, you’ll synchronize the ADC conversions.

     

    If we attach all of the ADS1259 to a common clock source, would we be able to control which ADS we would like to read from simply by using the chipselect line? The purpose of using the same clock source for sampling would be to keep the 4 ADS1259s in sync.

                Correct!

     

    Two ways:
    I can attach a clock source that connects to all of the ADS1259s
    Or I can add a crystal circuit with capacitors attached to each of the ADS1259s
    Would either of these methods work better than the other?

    Connecting one clock source to all four ADCs would be my recommendation. AC coupling the clock sources could cause problems because there would be no DC bias for these inputs.

     

    Best Regards,
    Chris