AduCM360 ADC conversion rate


Hi,

I have a problem with AduCM360 ADC conversion rate. I have changed FLT settings, to obtain the best conversion rate, but I cannot get under 2ms. The 2 ms duration is  too much for my application. What settings should I use to get fADC=3906 Hz?

The adc config is : Internal reference, continuous conversion

Looking into table 16 and 17 in UG, I see that to obtain the best rate, i should configure the filters like lines: 1,2,6,7

The main difference that i see is the settling time, that is the best for line 1 in Table 16. Still, I can't get under 2ms per conversion.

Please help!

Thank you!

Ionut

  • Hi Ionut,

    From the datasheet:

    Also have a look at the ADuCM360/ADuCM361 Digital Filter Response Model from the product page.

    It's an Excel file where you can modify the filter settings and see what conversion rates and settling times you're getting.

    Regards,

    Alex

  • Hi Ionut,

    I just did a calculation in my head there and with 3.9kHz, the settling time is 3 conversions which works out at 0.768 ms, Also note at the bottom of table 16 there's a further delay of 0.256 ms every time you change channels because the ADC is restarted, so that gives you the 1.024ms.

    Is the ~1ms good enough? You have 2 ADCs so that's effectively half of it as you can do 2 channels at once.

    How many channels do you need to sample and in what time?

    Can you do a few samples and then change channels so then you effectively gather more samples in less overall time?

    Regards,

    Alex

  • Hi Alex,

    Thanks for the hint. I played a bit with the excel and with filter register values. The best I got is between 1 and 2 ms (i didn't put an exact timer for less than 1 ms interval). It seems that the fAdc is not the problem (3096Hz), but the settling time is (the excel shows 1.02 ms delay). I know next measurement would take less, but my application requires me to change adc config (input channels), so the settling time is delaying the whole thing every time.

    Thanks,

    Ionut

  • I am working on a safety related project, so both channels measure the same input- I need redundancy. Also, due to safety reason, I need to make some self-test during normal execution, so I would measure internal channels (Uadc, ChipTemp...etc), so I would change input channel on each run. So I guess I have to play around this 1 ms value.  It's tight for me as my app loop time is 20 ms, and I have to do 5 measurements (normal execution- no self test), compensation calculation. Also, the uc frequency is lowered to 1 Mhz (safety reason).

    Ionut