I’m interested in using the AD5940 for four-electrode EIS measurements in saline solutions.
Hardware: AD5940 BIO-ELCZ evaluation board with header installed in P7 to access CE0, AIN1, AIN2 and AIN3 These connections are wired to the F+, F-, S+ and S- connections on an AD5940 Z Test board, respectively. The screenshot below is from the BIOZ eval board, the isolation components are not present in my system. I set the switches on the Z Test board so the "Body" resistance is 200 ohms. (Note for anyone who might use the ELCZ board in this way, there are external calibration resistors on the board that introduce a 25kohm resistance in parallel with the "Body".)

Software: Using the AD5940_BIA example code (https://github.com/analogdevicesinc/ad5940-examples/tree/master/examples/AD5940_BIA), with a 1k RTIA and configured to sweep from 10 Hz to 100000 Hz.
.HstiaRtiaSel = HSTIARTIA_1K,
......
.SweepCfg.SweepEn = bTRUE, /* was bFALSE */
.SweepCfg.SweepStart = 10.0, /* was 10000 */
.SweepCfg.SweepStop = 100000.0, /* was 150000.0 */
.SweepCfg.SweepPoints = 100, /* looks like this can't be 101, fixed it! */
.SweepCfg.SweepLog = bTRUE,
.SweepCfg.SweepIndex = 0,
The RTIA calibration data between 15 Hz and 25 Hz is inconsistent with the other readings, leading to a worst case magnitude error in Rz of close to 15% and nonsensical phase at these frequencies.
|
Frequency |
RTIA Magnitude |
RTIA Phase |
Rz Magnitude |
Rz Phase |
|
14.51 |
1102.5 |
0.0 |
198.8 |
0.0 |
|
15.92 |
1102.2 |
0.0 |
198.8 |
0.0 |
|
17.48 |
1126.1 |
-2.5 |
203.1 |
-140.8 |
|
19.18 |
1220.4 |
-2.6 |
220.1 |
-151.5 |
|
21.05 |
1260.3 |
-2.9 |
227.3 |
-164.0 |
|
23.10 |
1215.4 |
-3.1 |
219.2 |
-176.9 |
|
25.35 |
1100.6 |
0.0 |
198.5 |
0.0 |
|
27.83 |
1100.7 |
0.0 |
198.5 |
0.0 |
The calibration data is well behaved over the rest of the frequency range.

What could be the cause of this and, more importantly, the solution to prevent this from happening?