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.

how to calculate the general processing time of one and two ADS1259 in fifo continious mode

Part Number: ADS1259

Hello,

recently I am in a cooperation with an external company. 

in which we developed a circuit board that requires 2 ADS1259 for reading sensors from 0....5V over SPI with a maximum frequency of 8MHz,

the processor is a MK20DX256VLH7 Cortex-M4, which is clocked at 96MHz. the Information from both ADS1259 is compared(substracted) and put into a PID to drive a current source for a TEC. so far so good, but I assume that it is too slow based for our TEC.

so let me explain and hope that you can help me solve or guide me in solving the following questions:

what I understand is:

based on the FIFO principle that the both ADS1259 start in, which is continious mode, the 24 bit data is recorded, written to a buffer on the microprocessor. and then the other ads1259 takes over, doing the same as the previous ADS1259. The values are compared in the PID which drives an output MAX5144 DAC 14 bit. the information from both the sensors and max5144 are then read processed and displayed on a small oled screen 10x a second or 100x a second.

what I dont understand is:

1how can I calculate the processing speed of one ADS1259, processing 24 bit as fast as possible. (starttime, collect data, stoptime, senddata to the microprocessor.

is there a PDF or a book, or a Online Seminar that explains this quite well?

I would like to know how to select the right ADC converter for the right application

how do I know that it is fast enough, did I select the right Microprocessor?)

( I really like to understand the magic behind this, so that I can adapt it for other projects)

2 how does the FIFO mode between both ads1259 and the MAX5144(SPI to analog output(0...5V, no further communciation just out) affect the processing speed of the PID control loop (PID_library Arduino from Brett Beauguard)

3 Is there a better PID algorithmn on the market that reacts faster based upon the input signals from the both ads1259?,is there a pdf for this?

4 I would like to know how I can calculate the time one ads1259 needs to process continious 24 bit data start in contnious mode and send data buffer and then stop. how can I adapt this for other ADCS ?

5 how does this account for two ads1259 doing continious mode in FIFO? if the processing of data is done in the following order= 1,2,3 whereby ads1259 =1, ads1259=2,MAX5144 =3 and for;;? is this the best method that exists? 

6 is my microprocessor the right one with one SPI Bus?

many thanks, for taking your time to read all this.

and have a nice weekend.

  • Hi Bastiaan,

    I'll do my best to answer your questions, but some I'm afraid some of them might be a little beyond my experience or otherwise are questions that you'll have to figure out the answers to on your own, based on what it is that you are trying to accomplish in your application...

    1. Refer to Table 9 in the ADS1259 datasheet. Table 9 shows the time between the start of a conversion to when the /DRDY signal goes low for the initial conversion result (additional conversions follow the nominal data rate period). For the time required to read in the data, this will depend on your software implementation (how long it takes for the MCU to respond to /DRDY low, and your SCLK frequency for the time to read in the data).
    2. I'm not sure if I fully understand your question. I haven't used the ADS1259 in a control loop application before, but certainly the feedback loop's delay time (to measure compute and control the DAC output) may affect the control loop's stability if the control loop reacts too fast before it's had time to re-evaluate the effect of the last change.

    3. I don't know if there is a better algorithm, you'll definitely have to tune the PID controls based on your system, but have you considered using a SAR ADC in place of the ADS1259 delta-sigma ADC? Typically, I hear of SAR ADCs being used in control loops as they have a much smaller delay time from input to output. If you do decide to stick with the ADS1259, then consider using the SINC1 filter with faster data rates to reduce the time delay of the data.

    4. See my answer to question number 1... After the initial conversion completes, when you are continuously converting then the /DRDY pulses should occur at a period corresponding to the ADC's programmed data rate.

    5. Would the ADS1259's be simultaneously sampling the same input signal, or would you be starting the ADC conversions at different times (out of phase) to increase the effective data rate? Theoretically, using two ADS1259's you could double your system's effective throughput if timed just right.

    6. Probably not a question I could answer for you...SPI is the correct interface to be able to communicate with the ADC; however, the best microprocessor for your application will depend on a lot of other factors other than just the interface types.

    I hope some of my answers prove helpful to you... Please feel free to let me know if you have additional questions!

    Best regards,
    Chris

  • Ow wow:) thanks for the extensive reply:)

    ill have to print this and read it through carefully.

    many many thanks:)

  • Hi Bastiaan,

    You're welcome!  Please let us know if you have any additional questions, or if we we're able to answer them by clicking the green "This resolved my issue" button.

    Thanks,
    Chris