ADS1261EVM: Few questions regarding register settings

Part Number: ADS1261EVM
Other Parts Discussed in Thread: ADS1261

Tool/software:

Hello experts,

Currently my customer is reviewing our ADS1261 for their industrial robot control module.

Right now they have evaluated with 1.2ms period, which is slower, now they are trying to test with 100us period, sending rising edge to start pin every 100us to conv. start.

They had a few questions on this, could you please share your feedback?

1. When they send rising edge every 100us to start pin they have no feedback from DRDY, but if they do 200us, DRDY pin goes high afterwards for about 180us. They set the DR register to every 25us, so they thought the DRDY pin would only last HIGH for 180us, is there a reason why it would still be 180us? Can they shorten this 180us with another register setting? Please find waveform image & their code configuration as below. (Yellow: SPI CLK / Blue: START / Red: DRDY)

2. May I ask, how can customer set ADS1261's conversion speed & SPI speed to a fastest rate?

3. Customer is using an internal clock. To set this to 10.24MHz my understanding is that they should set DR to 40000SPS, and it would automatically be set, would this be correct? Are there any additional register settings that are needed?

4. Is it possible to use continuous mode to set the start signal once at the beginning, and just let the keep doing the data conversion?

Customer's code configuration from #1:

/* Configure INPBIAS register: default settings  */

      writeSingleRegister(REG_ADDR_INPBIAS, INPBIAS_DEFAULT);

 

      /* Configure PGA register: Single-Ended  */

      writeSingleRegister(REG_ADDR_PGA, PGA_BYPASS_MASK); // PGA_BYPASS_MASK or PGA_GAIN_1

 

      /* Configure input MUX: Volatage monitor  */

      uint8_t regData = (INPMUX_MUXP_AIN0 | INPMUX_MUXN_AINCOM);

      writeSingleRegister(REG_ADDR_INPMUX, regData);

 

      /* Configure Data Rates and Filter */

      uint8_t regData1 = (MODE0_DR_40000_SPS | MODE0_SINC2); // fCLK = 10.24 MHz, 1cycle = 97.66ns

writeSingleRegister(REG_ADDR_MODE0, regData1);

Waveform:

(Yellow: SPI CLK / Blue: START / Red: DRDY)

Thank you in advance for your help and support.

  • Hi Jade,

    Can you please respond to our query in the Thread Tracking Toolkit?

    BR,

    Dale

  • Hi Jade,

    Thank you for your information. I will check the details and get back to you soon.

    BR,

    Dale

  • Hi Dale,

    Could you please share your feedback ASAP today, so that I can share with customer? Customer is waiting for our feedback to continue their testing.

    It has been 4 days since I initially asked the questions, but there hasn't been any feedback on my questions other than aligning on customer info.

    In the future would it help to expedite the feedbacks if I upload on internal forum with customer name, or reach out via email?

    Thank you.

    Best regards,
    Jade

  • Hi Jade,

    Thanks for your patience. The past two days were weekend!

    The first conversion latency/time between START going high and DRDY dropping low will be longer than the time between the subsequent /DRDY pulses in continuous conversion mode. This is because the information needs to pass into and be processed by the digital filter. This first conversion latency is given in Table 8 in the ADS1261 datasheet. You can also read this app note that explains delta-sigma ADC conversion latency for the details:  https://www.ti.com/lit/sbaa535

    In order to achieve the fast data rate, you can use the continuous mode, below is the timing I just captured: continuous conversion mode, START command, 0us delay, 40ksps DR and SINC2.

    If you could post to internal forum with more information next time, it will save the time. 

    BR,

    Dale