ADuCM355 EIS measurement 0.1-100 kHz: measurement time and accuracy

Hi,

We are using AduCM355 to do an EIS sweep in the range from 0.1 Hz to 100 kHz (10 points per decade) with a dummy RC circuit (R=6.8kOhm, C=10uF).

It takes 27 minutes to finish the measurement with the current filters settings as:

1) <0.1Hz: SINC2 = 4, SINC3 = 1067, DFT = 16384
2) <0.51 Hz: SINC2 = 4, SINC3 = 640, DFT = 16384
3) <5 Hz: SINC2 = 4, SINC3 = 533, DFT = 8192
4) <450 Hz: SINC2 = 4, SINC3 = 178, DFT = 4096
5)<80 kHz: SINC2 = 4, DFT = 16384 (bypassing SINC3)
5) >=80 kHz : SINC2 = 2, DFT = 16384 (bypassing SINC3)

ADC rate is 800kHz (<80kHz), 1600kHz (>=80 kHz)

1. We tried to estimate the measurement time by using the formula:

Sample time = (SINC3 * SINC2 * DFT)/(ADC rate)

However, it does not match the real measurement time per frequency. For example, for 0.1 Hz:

Sample time = (1067*4*16384)/800kHz = 1 min 27 sec

The real measurement took about 4 min 20 sec.

In the same way, we calculated the total expected measurement time (9 mins), while didn't match the real measurement time (27 mins).

Is there any reason for that, another variable that we are missing or maybe a mistake in the formula? 

2. We tested with the 3 lead star configuration and RC circuit. At very low frequency the data is not reliable (< 1Hz). Please see Image 1 (1kOhm star) and Image 2 (same RC). Is there any possible reason for that?

   

  • 0
    •  Analog Employees 
    on Sep 13, 2021 2:14 PM

    Hi,

    1. You may add the code snippet below inside AppIMPSeqMeasureGen() and add to watch “AppIMPCfg.MaxODR”, to know the maximum sampling rate allowed for the set configuration.

     

    AD5940_SEQGenCtrl(bFALSE); /* Stop sequencer generator */

      error = AD5940_SEQGenFetchSeq(&pSeqCmd, &SeqLen);

     

      AppIMPCfg.MeasSeqCycleCount = AD5940_SEQCycleTime();

      AppIMPCfg.MaxODR = 1/((( AppIMPCfg.MeasSeqCycleCount + 10) / 16.0)* 1E-6)  ; //If Sysclk is16MHz

      if(AppIMPCfg.EDAODR > AppIMPCfg.MaxODR)

      {

      /* We have requested a sampling rate that cannot be achieved with the time it takes to acquire a sample.*/

    AppIMPCfg.ImpODR = AppIMPCfg.MaxODR;

      }

     2. For lower frequencies,

    wait for 5 times the waitclksmand check.

    i.e., AD5940_SEQGenInsert(SEQ_WAIT(5*WaitClks));

  • Hi Akila,

    Thank you for your reply. We tried to introduce delay but it doesn't seem to be the solution here, there are still some ripples at low frequencies (<1 Hz). 

    We are using an old example from ADuCM355V2.2.0.39 (M355_Biased_EIS), since the one in the newest example folder did not work properly for the sweep (M355_ECSns_EIS). So, in our case, the delay introduced between frequency measurements was 5 periods of each previously tested frequency. 

    1) I noticed that Rcal value is not measured properly, it shows 15 Ohm while it is 100kOhm on the board.

    The measurement was done with the same RC circuit (R=6.8kOhm, C=10uF).

    Measurement settings:
    HSRTIA = 1K, LPTIARTIA = 30K, Vbias = 100mV. The filter settings are the same as in the very first message.

    Here is the data obtained:

    Frequency  MAG  PHASE  RxRload_REAL  RxRload_IMG  Rload_REAL  Rload_IMG  Rcal_REAL  Rcal_IMG  Mag_Rx  Mag_Rload  Mag_Rcal  Mag_Rload-Rx
    100000 6864.222 2.3947 -188 35 -11741 1497 -13 3 191.2302 11836.05 13.3417 11645.14
    79430 6892.46 1.6212 -91 183 -6144 11049 -6 13 204.3771 12642.35 14.3178 12438.2
    63100 6841.836 1.1816 -26 -130 -1288 -8094 -2 -9 132.5745 8195.839 9.2195 8063.37
    50120 6698.595 1.858 -161 -20 -9958 -1549 -11 -1 162.2375 10077.76 11.0454 9915.597
    39810 6829.094 1.4815 -119 141 -7591 8576 -8 10 184.5047 11452.99 12.8062 11268.54
    31620 6911.298 -1.1014 18 199 873 12374 1 14 199.8124 12404.76 14.0357 12204.98
    25120 6972.479 1.1238 138 158 8415 9960 10 11 209.7808 13038.93 14.8661 12829.18
    19950 6758.877 0.6109 203 75 12559 4830 14 5 216.4117 13455.76 14.8661 13239.36
    15850 6687.216 1.4731 221 -9 13716 -427 15 -1 221.1832 13722.65 15.0333 13501.47
    12590 7095.427 1.4176 210 -78 13062 -4736 15 -6 224.0179 13894.08 16.1555 13670.07
    10000 6897.721 -0.2017 185 -129 11563 -7901 13 -9 225.5349 14004.6 15.8114 13779.07
    7943 6741.432 -1.2567 157 -164 9814 -10089 11 -11 227.0352 14074.89 15.5563 13847.86
    6310 6830.5 0.1063 130 -187 8121 -11547 9 -13 227.7477 14116.79 15.8114 13889.05
    5012 6750.782 1.12 106 -202 6618 -12503 7 -14 228.1228 14146.48 15.6525 13918.36
    3981 6947.552 0.2778 86 -212 5342 -13119 6 -15 228.7794 14164.93 16.1555 13936.15
    3162 6803.273 -0.8723 69 -218 4286 -13510 5 -15 228.6591 14173.56 15.8114 13944.9
    2512 6678.19 -1.0177 55 -222 3425 -13761 4 -15 228.7116 14180.82 15.5242 13952.11
    1995 6564.479 -0.2456 44 -225 2731 -13921 3 -15 229.2619 14186.35 15.2971 13957.09
    1585 6510.362 1.2085 35 -226 2174 -14020 2 -15 228.6941 14187.55 15.1327 13958.86
    1259 6939.948 -0.3455 27 -227 1729 -14083 2 -16 228.6001 14188.74 16.1245 13960.14
    1000 6925.851 -1.6143 22 -228 1375 -14126 2 -16 229.0589 14192.76 16.1245 13963.7
    794.3 6938.973 -2.8634 17 -228 1094 -14151 2 -16 228.6329 14193.22 16.1245 13964.59
    631 6893.431 3.2593 13 -228 869 -14166 0 -16 228.3703 14192.63 16 13964.26
    501.2 6880.915 -1.0805 10 -229 688 -14176 1 -16 229.2182 14192.69 16.0312 13963.47
    316.2 6968.754 -0.8046 170 40 10547 2587 12 3 174.6425 10859.64 12.3693 10685
    199.5 6846.26 -0.5576 186 -88 11628 -5305 13 -6 205.7669 12780.98 14.3178 12575.23
    125.9 6668.838 -2.2889 141 -168 8990 -10226 10 -11 219.3285 13615.84 14.8661 13396.57
    79.43 6853.975 -2.4265 92 -205 6135 -12542 7 -14 224.6976 13962.09 15.6525 13737.52
    50.12 6698.668 -1.8021 52 -222 3992 -13523 4 -15 228.0088 14099.92 15.5242 13872.28
    31.62 6631.949 -6.0837 21 -226 2550 -13925 3 -15 226.9736 14156.56 15.2971 13930.49
    19.95 7020.35 -8.5185 -5 -226 1616 -14087 2 -16 226.0553 14179.39 16.1245 13955.46
    12.59 7100.73 -12.0483 -32 -220 1025 -14151 1 -16 222.3151 14188.07 16.0312 13971.04
    7.94 6897.372 -20.597 -61 -206 646 -14177 1 -15 214.8418 14191.71 15.0333 13988.88
    5.01 7974.453 -30.917 -90 -177 408 -14187 1 -16 198.5674 14192.87 16.0312 14018.85
    3.16 9245.081 -41.7036 -105 -136 758 -14166 1 -16 171.8168 14186.26 16.0312 14056.52
    2 11854.96 -55.3541 -105 -84 479 -14183 1 -16 134.4656 14191.09 16.0312 14111.09
    1.26 15555.54 -63.7868 -86 -43 305 -14188 0 -15 96.1509 14191.28 15 14150.4
    0.79 23803.21 -72.6723 -60 -19 190 -14189 0 -15 62.9365 14190.27 15 14172.21
    0.32 59560.75 -83.2582 -25 -3 87 -14190 0 -15 25.1794 14190.27 15 14187.44
    0.25 52702.66 -85.6002 -23 2 71 -14191 -2 -12 23.0868 14191.18 12.1655 14193.31
    0.2 109698.8 -100.283 -15 -1 63 -14198 4 -16 15.0333 14198.14 16.4924 14197.21
    0.16 65247.3 122.4552 -4 12 61 -14172 8 -2 12.6491 14172.13 8.2462 14184.15
    0.1 176678.4 -83.6962 -9 -1 52 -14193 0 -16 9.0554 14193.1 16 14192.13


    We tried to change HSRTIA (200, 5k, 10k, 80k) and LPTIARTIA (1k, 10k, 30k, 100k) which didn't make the signal closer to what we expected nor made the Rcal value closer to the real value.

    What adjustments can be done to get a reliable result?

    2) As far as I understood from the datasheet, HSTIA is used for all EIS measurements. However, I see that changes in both LPRTIA and HSRTIA influence the measurement (even though it didn't help). Can you please clarify which Rtia is involved in the 3-lead EIS measurement? Are all measurements (Rsensor+Rload, Rload, Rcal) done via HSRTIA circuit?


    It would be very helpful to get some insights from your side.

  • 0
    •  Analog Employees 
    on Sep 17, 2021 12:52 PM in reply to Tatiana

    Hi,

    Could you set the ADC filter settings as below for low frequencies:

                  if(freq < 0.51)

                  {

                                 ADCSinc2Osr = ADCSINC2OSR_1067;

                                ADCSinc3Osr = ADCSINC3OSR_4;

                                 DftSrc = DFTSRC_SINC2NOTCH;

                                 DftNum = DFTNUM_16384;

                  }else if(freq < 5 )

                  {

                                 ADCSinc2Osr = ADCSINC2OSR_640;

                                ADCSinc3Osr= ADCSINC3OSR_4;

                                 DftSrc = DFTSRC_SINC2NOTCH;

                                DftNum = DFTNUM_16384;

                 }

  • Hi Akila,

    I will try that, but I still do not understand why the measured Rcal value, as well as Rload, are not correct (please see the table above). Rcal is 100 kOhm on the board (measured Mag_Rcal from 9 to 16 Ohm), Rload is set as 10 Ohm (measured Mag_Rload from11k to 14k).

    It is observed at all frequencies (0.1 Hz - 100 kHz), so I believe some other adjustments should be made. Could you please give me some ideas? 

  • 0
    •  Analog Employees 
    on Sep 17, 2021 2:52 PM in reply to Tatiana

    Hi,

    Keep RCAL value close to Rload in order to get accurate results.