I am facing an issue with stability of my custom ESP32-P4 + ESP32 board.
It seems to only work reliably with HP Core voltage between 1.20 and 1.27v. These thresholds varies a bit from board to board, however the range is much smaller than one permitted by documentation (1.0 - 1.3v). Tests were done using external power supply.
This makes using FB_DCDC as feedback for the DCDC converter impossible to use, as it targets ~1.1v. Even setting feedback manually is not a solution there because voltages can drift a bit (eg. from temperature changes).
In general outside 1.20v - 1.27v range the ESP32-P4 experiences random issues:
- do not even start executing main() function altogether, hanging after:
Code: Select all
I (168) esp_image: segment 5: paddr=00038574 vaddr=4ff0e880 size=01c90h ( 7312) load
I (175) boot: Loaded app from partition at offset 0x10000
I (176) boot: Disabling RNG early entropy source...
I (189) cpu_start: Multicore app
Code: Select all
Guru Meditation Error: Core 0 panic'ed (Load access fault). Exception was unhandled.
- hangs without any message
This is for esp-idf blink example. More sophisticated programs can crash on other exceptions, eg. PMP load access fault, invalid instruction. I have seen silent memory corruption as well.
Things I have checked so far:
- noise on HP core voltage line - ~40mv peak to peak
- noise on 3.3v line - ~60mv peak to peak
- capacitors - 100nF near each HP voltage input pin, 100nF + 1uF + 22uF near the DCDC converter
In general I am basing my design on Espressif's ESP32-P4-Function-EV-Board design, with unnecessary components removed and ESP32-WROOM classic module instead of C6 one. Both 1.0 and 1.3 P4 revisions are affected.
Do you have any idea what can cause such issues?
Best regards,
Norbert