Lack of values using I2S_ADC
Posted: Sun Nov 29, 2020 11:04 am
Hi all,
I have encountered a problem when I use the i2s_ADC mode with high sampling rate (about 60kHz). The board I used is ESP32-DevKitC V4. The problem is that some values may cannot be read by ADC in this mode. There are obvious blank gaps of the measurement signal which should be varied uniformly in certain range. After simple analysis, it seems that the values in the blank gaps are all read as a same value that is the edge of the gap. And I also found that the edge of the blank gap are usually occured to be X1F, X3F, X7F and XFF (hexadecimal value).
There are several pictures that may help to make my problems clear. Fig 1 was my testing circuit of and I measured the voltage of Rs. Fig 2 was the signal read by i2s_ADC and Fig 3 was the same signal read by osiliscope. It is distribution histogram. The x axis represent the measured value and y axis represent the times these values appear. It is obvious that there is huge blank gap in the siganl read by i2s_ADC. The original value read by i2s_ADC can be seen that the values between 1279(4FF) and 1327(52F) are lost. I also summarized more values measured in other ranges and the blank gap also existed. The start point of blank gap are always X1F, X3F, X7F and XFF. It is very interesting but I donnot know why. It will be very appreciated if someone know what happened. Thanks a lot!
I have encountered a problem when I use the i2s_ADC mode with high sampling rate (about 60kHz). The board I used is ESP32-DevKitC V4. The problem is that some values may cannot be read by ADC in this mode. There are obvious blank gaps of the measurement signal which should be varied uniformly in certain range. After simple analysis, it seems that the values in the blank gaps are all read as a same value that is the edge of the gap. And I also found that the edge of the blank gap are usually occured to be X1F, X3F, X7F and XFF (hexadecimal value).
There are several pictures that may help to make my problems clear. Fig 1 was my testing circuit of and I measured the voltage of Rs. Fig 2 was the signal read by i2s_ADC and Fig 3 was the same signal read by osiliscope. It is distribution histogram. The x axis represent the measured value and y axis represent the times these values appear. It is obvious that there is huge blank gap in the siganl read by i2s_ADC. The original value read by i2s_ADC can be seen that the values between 1279(4FF) and 1327(52F) are lost. I also summarized more values measured in other ranges and the blank gap also existed. The start point of blank gap are always X1F, X3F, X7F and XFF. It is very interesting but I donnot know why. It will be very appreciated if someone know what happened. Thanks a lot!