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.

ADS1258: Data rate and others clarification

Part Number: ADS1258
Other Parts Discussed in Thread: ADS1298, ADS8345, ADS8344

Thank you for reading me post!

By reading the datasheet and the wiki page I understand that the max data rate is 23.7kHz/channel with SINGLE-CYCLE SETTLED data in auto-scan mode. This means that if I use all 16 single ended channels, my data rate for each channel is 23.7kHz/16 = about 1.5kHz. DRDY pin will be toggled to indicate there is data available for one channel in a rate of about 1.5kHz. Then I will read the data. At the same time, the ADC will index to next channel to do conversion and issue a new DRDY. Please verify if my understanding is correct.

If my understanding is correct, it conflicts with the answer in this post: https://e2e.ti.com/support/data_converters/precision_data_converters/f/73/t/2869 Which state that 

"In auto-scan mode, the ADS1258 operates with a maximum data rate of 23739Hz - meaning that DRDYs will come at you every 42us or so. You need to read all the data out for one channel within that 42us window. The simplest way to do this is in Channel Data Read Direct mode, so you don't have to send any commands. If you elect to not send the Status byte, then you must clock out 24 bits within this window, allowing an SCLK as slow as 570kHz - let's say then that the lower limit is 600kHz."

I just try to verify that if the data rate, which is the rate of issuing DRDY, will be lower if I activate multiple channels.

Also, if the data rate is 1.5kHz, does this mean I can only sample 750Hz analog signals? (is data rate the same as sampling rate?) I know that sigma-delta ADC oversamples and then decimates it down. But I still lose data points if my data rate is too low, correct?

Another question: according to the datasheet on page 30, if I want to used shared SPI bus, I only can use Channel Data Read Command to read data from each channel. Why can't I use direct data read? I want to connect multiple ADS1258s to one SPI module. This means I have to use shared SPI bus.

Thanks in advance!!!

  • Hi Xinyuan,

    You're understanding of the ADS1258 is correct... The maximum data rate is 23.7kHz/channel. If you use all 16 channels, then each channel will have an effective data rate of 1.5kHz.

    At this maximum data rate the /DRDY pin will toggle at 23.7kHz, no matter how many input channels you're using! By selecting fewer channels, you can sample each channel at a higher effective data rate; however, the /DRDY period will remain the same. The only way to reduce the /DRDY period would be to select a slower data rate for the ADC.

     

    Regarding your additional questions...

    Xinyuan Zhang said:
    Also, if the data rate is 1.5kHz, does this mean I can only sample 750Hz analog signals? (is data rate the same as sampling rate?) I know that sigma-delta ADC oversamples and then decimates it down. But I still lose data points if my data rate is too low, correct?

    Correct, an effective data rate of 1.5kHz means that you would only be able to capture signals of 750 Hz or less. Being a delta-sigma ADC with a low-latency SINC filter, this device is generally only used for sampling relatively low-frequency signals.

     

    Xinyuan Zhang said:
    Another question: according to the datasheet on page 30, if I want to used shared SPI bus, I only can use Channel Data Read Command to read data from each channel. Why can't I use direct data read? I want to connect multiple ADS1258s to one SPI module. This means I have to use shared SPI bus.

    I don't see why you couldn't use a single SPI bus to communicate with multiple ADS1258's...The main thing to be aware of is the time overhead of reading data. At the maximum ~8 MHz SCLK frequency it will take about 4 us to clock out 32 bits (24-bit data + 8-bit status byte). Using direct data read requires toggling the /CS pin and reading the data before the next conversion completes (which occurs about every 42 us at the maximum data rate).

    So as long as you aren't trying to connect too many ADS1258's to the same SPI bus, then I don't see any issues.

     

    Let me know if I answered your questions and if you have any additional concerns!

    Best regards,
    Chris

  • Thank you for the answers. It seems like ads1258 does not fit our project.
    Our team is designing device that require a bipolar +-2.5V, 24-bit ADC. We need 8-16 single ended channels. The signal we are measuring has a frequency range of about 500Hz-1800Hz. So we need the sample rate for each channel to range from 1000Hz to 4000Hz. Do you have any recommendation from TI ADC product? We were thinking about using ads1298, but it seems difficult to program. I also posted a follow up question on another post (e2e.ti.com/.../635503) about the ads1298's data rate per channel, since it is not explicitly stated on the datasheet. I apologize if I post the same question on two different threads.

  • Hi Xinyuan,

    The ADS1298 is probably the best-fit out of our Delta-Sigma ADC products...

    Have you tried looking at any of our SAR ADCs?
    SAR ADCs will have a much shorter conversion latency and will be able to multiplex through multiple inputs much faster. I did a quick search and the ADS8344 and ADS8345 came up and possible options (the main difference between these parts is the ADC's input range).

    Best regards,
    Chris