Hi,
My AD4111 is setup with Continuous conversion and Continuous read mode. I am using a A6M3AH3CFC chip (Custom Device equivalent configuration to Renesas RA6M3) as controller. My clock is set at 1MHz with CPOL and CPHA to 1 (SPI Mode 3) and MOSI idle value fixing low. I am using DMA to read the data and my SPI is configured to use in Direct Register access. Everything works well for the first few minutes. I start reading the data for 8 channels (4 voltage & 4 current) with below configurations. After reading a certain sets of data my AD4111 suddenly stops sending interrupts and all the signals are still. I checked all the connections and settings on my microcontroller and everything is fine. Why would the ADC stop sending interrupts? And the timing when it stops changes, sometimes it happens at the start as well.
uint8_t adc_data[3] = {0x82, 0x00, 0x00};
uint8_t if_data[3] = {0x00, 0xC0, 0x00};
uint8_t setup_data[3] = {0x1F, 0x20, 0x00};
uint8_t gpio_data[3] = {0x10, 0x00, 0x00};
uint8_t gain_data[3] = {0x55, 0x56, 0x7C};
uint8_t filter_data[3] = {0x05, 0x07, 0x00};
uint8_t v0[3] = {0x80, 0x10, 0x00}; // V0_VCOM
uint8_t v1[3] = {0x80, 0x30, 0x00}; // V1_VCOM
uint8_t v2[3] = {0x80, 0x50, 0x00}; // V2_VCOM
uint8_t v3[3] = {0x80, 0x70, 0x00}; // V3_VCOM
uint8_t i0[3] = {0x81, 0xE8, 0x00}; // I0+_I0-
uint8_t i1[3] = {0x81, 0xC9, 0x00}; // I1+_I1-
uint8_t i2[3] = {0x81, 0xAA, 0x00}; // I2+_I2-
uint8_t i3[3] = {0x81, 0x8B, 0x00}; // I3+_I3-
ADC_writeReg(AD4111_CHMAP0_REG, &v0);
ADC_writeReg(AD4111_CHMAP1_REG, &v1);
ADC_writeReg(AD4111_CHMAP2_REG, &v2);
ADC_writeReg(AD4111_CHMAP3_REG, &v3);
ADC_writeReg(AD4111_CHMAP4_REG, &i0);
ADC_writeReg(AD4111_CHMAP5_REG, &i1);
ADC_writeReg(AD4111_CHMAP6_REG, &i2);
ADC_writeReg(AD4111_CHMAP7_REG, &i3);
ADC_writeReg(AD4111_GPIOCON_REG, &gpio_data);
ADC_writeReg(AD4111_SETUPCON0_REG, &setup_data);
ADC_writeReg(AD4111_FILTCON0_REG, &filter_data);
ADC_writeReg(AD4111_GAIN0_REG, &gain_data);
ADC_writeReg(AD4111_ADCMODE_REG, &adc_data);
ADC_writeReg(AD4111_IFMODE_REG, &if_data);