Hi,

I am currently using the **EVAL-ADUCM350EBZ** and loaded the example code *ImpedanceMeasurement_2Wire. *

How do I measure multiple channels? I would like to measure up to 8 different channels.

I have changed the code byadding

*#define DFT_RESULTS_COUNT (10)*

*uint32_t seq_afe_acmeas2wire[] = {*

*/* AFE5 - AFE6 */0x86005566, /* DMUX_STATE = 5, PMUX_STATE = 5, NMUX_STATE = 6, TMUX_STATE = 6 */0x00000640, /* Wait 100us */0x8002CFF0, /* AFE_CFG: ADC_CONV_EN = 1, DFT_EN = 1 */0x00032340, /* Wait 13ms */0x80020EF0, /* AFE_CFG: WAVEGEN_EN = 0, ADC_CONV_EN = 0, DFT_EN = 0 */*

*...*

*}*

* sprintf(msg, " AFE5 - AFE6 = (%6d, %6d)\r\n", dft_results[7], dft_results[8]); PRINT(msg);*

*print_MagnitudePhase("AFE3 - AFE5", magnitude_result[3], phase_result[3]);*

However I get the error:

FAIL: C:\Analog Devices\ADuCM350BBCZ\Eval-ADUCM350EBZ\examples\ImpedanceMeasurement_2Wire\ImpedanceMeasurement_2Wire.c:211: Impedance Measurement

I am still learning the board through the example code so any advice will be greatly appreciated. Thank you!

Hi Mike,

CRC checker is done in software and once you enabled the software CRC function, you don't need to care about it.

Then the only thing you need to modify is the command count, which is simply count out how many commands you want sequencer to execute. For example in your case, you added 5 commands.

/* AFE5 - AFE6 */...

CMD1:0x86005566, /* DMUX_STATE = 5, PMUX_STATE = 5, NMUX_STATE = 6, TMUX_STATE = 6 */CMD2:0x00000640, /* Wait 100us */CMD3:0x8002CFF0, /* AFE_CFG: ADC_CONV_EN = 1, DFT_EN = 1 */CMD4:0x00032340, /* Wait 13ms */CMD5:0x80020EF0, /* AFE_CFG: WAVEGEN_EN = 0, ADC_CONV_EN = 0, DFT_EN = 0 */...So the safety word should be 0x0022xxxx, where x can be any value.The answer Mark give out in this link is really useful. You can check it. From these links, you can find this document is helpful for understand sequencer.

Regards,

Neo