I2S data corruption?
Posted: Sat Sep 30, 2017 4:24 am
Testing two ESP32's connected via I2S:
The problem is the receiver is NOT receiving the same values all the time (e.g. 0, 2, 4, 7, 8, 9, 14, 15, 24, 25, 14, 11, 12, 13, 30, 15). A guesstimate would be that the full sequence is received correctly less than 40% of the time.
This post viewtopic.php?f=2&t=2772&p=14781 and others have mentioned a problem with "noise".
Now that this is set up, I'm glad to provide whatever data or run tests are needed - just ask! And feel free to let me know if you see something wrong.
The questions I'm wondering are:
- Sender - Fills a buffer with 32-bit values. Then calls i2s_write_bytes to send the buffer over and over.
- Receiver - calls i2s_read_bytes to receive the data into buffers. Then prints the values it received.
The problem is the receiver is NOT receiving the same values all the time (e.g. 0, 2, 4, 7, 8, 9, 14, 15, 24, 25, 14, 11, 12, 13, 30, 15). A guesstimate would be that the full sequence is received correctly less than 40% of the time.
This post viewtopic.php?f=2&t=2772&p=14781 and others have mentioned a problem with "noise".
Now that this is set up, I'm glad to provide whatever data or run tests are needed - just ask! And feel free to let me know if you see something wrong.
The questions I'm wondering are:
- Is the problem of receiving incorrect values just an example of the "noise"?
- If so, what's causing it?