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.

ADS1263: Conversion speed is not as expected

Part Number: ADS1263
Other Parts Discussed in Thread: ADS1262

Hello,

I am using the ADS1263 with a clock of 4.42368 MHz running at 400 SPS and SYNC4. This should give a sampling rate of 240 Hz.The processor I use is STM32F437cortex M4. I tied the DRDY line to one of the input pins that can be polled. I also connected the 4.4 MHz clock as an external inputs to the processor TIMER4 - so I can generate an interrupt at 240 Hz that should be synchronized to the DRDY line. 

But when I try to run it with the TIMER4 interrupt and poll the DRDY line I get a lot of samples that are not ready. If I read and save only the new data it looks like the sampling rate is only ~ 186 Hz (I can see it by applying a 3 Hz signal as an input). I actually had to increase the sampling rate to 1200 SPS (720 Hz in my system) to get all the data as new. 

Did anybody see something like that?

Did I miss something in the configuration?

Thanks

  • Hi Ehud,

    Have you tried probing the /DRDY signal on an oscilloscope to confirm the data rate period?
    Sometimes you can get odd results when polling a signal since the MCU often has to go off and perform other tasks and it can't sit there and poll the whole time.

    Instead of using a timer to determine when /DRDY does low, do you have the ability to configure the GPIO connected to /DRDY as an interrupt that triggers on the /DRDY falling edge?

    Also, how do you have the ADS1263 configured? You don't happen to have the ADS1263 pulse converting, do you?

    Best regards,
    Chris

  • Hi Chris,

    Thanks for your reply,

    Yes, I have an option to connect DRDY to an external interrupt pin. I tried it first and It worked Ok for couple of hours, but then the modem started to make errors (this data goes to a modem). You might be right - some other tasks were interrupting  I made some changes in the code and I'll try it again.

    BTW - I'm running in continuous mode (START bit set all the time).

    Question - is there a buffer in the ADS1263 that can store the data if I don't have time to read it in one sample time?

     Thanks again

  • Hi Ehud,

    No, there isn't any memory in the ADS1263 that can store conversion results. Typically, the MCU that is communicating with the ADC should be able to do this and even build up a data packet of multiple conversion results, before transmitting out some other kind of interface.

    Best regards,
    Chris

  • Hi Chris,

    That's exactly what we are doing. We collect 8 samples and send them to a PC for processing over a CANBUS.The problem is the CANBUS task that takes a lot of time - this is the main task that interferes with the ADC sampling task. I think adding a small FIFO at the output of the data can be a very useful improvement to the chip.

    Thanks,

    Ehud

  • Hi Ehud,

    I appreciate the feedback about the device!

    In the meantime, are you able to take advantage of operating the ADS1262 at a slower data rate (where the overall noise performance improves), or otherwise implementing the FIFO in the MCU?

    Best regards,
    Chris
  • Hi Chris,
    Right now I'm still running at 720 Hz. It works pretty good - even if we lose 1 bit of resolution.
    I'm still trying to accelerate the CANBUS task so I'll be able to reduce the sampling rate to 240 Hz.

    Thanks