I have a problem with booting ADSP-21992 from an 8-bit external flash via EMI. When switching on the power supply, VDD_INT and VDD_EXT voltages stabilize on their correct values, the oscillator get stabilized, too and after about 1.5 ms the DSP's internal "power on reset" circuit deasserts the RESET signal. DSP starts to boot the code from the external memory, however, after several hundreds of microseconds it suddenly hangs, letting the bootstrapping unfinished. Then, when I assert and deassert the RESET signal "manually" with a piece of wire, the booting procedure starts again and completes normally, the DSP boots to my program and everything is OK. When I switch to EEPROM >4KB boot, connect an external EEPROM (with the same program) to the SPI bus and boot from it instead of flash, everything goes all right.
During my attempts to fix this problem, I experimented with crystal load capacities bringing it to the state, in which it is not able to start oscillations without some external shock (touching XTAL pin with finger etc.). However, after introducing such a shock and starting the oscillator, the DSP normally booted up even via EMI without need to assert and deassert the RESET signal manually.
I have ADSP-21992BSTZ, 32 MHz external crystal (using DSP's internal TTL oscillator), BYPASS pin unconnected (thus, bypass mode selected via the internal pull-up) and POR connected to the RESET (none other connections to those pins). Power supplies are soft-start DC/DC convertors.
Any guess what to do?
por1 - switching on power supplies; pink - VDD_INT, violet - VDD_EXT, yellow - CLK_IN, green - POR (scale: 1 ms - 1 V)
por2 - address bus activity after deasserting the RESET signal by POR
por3 - address bus activity after asserting and deasserting the RESET signal again, but manually
I don't have a solution but I wanted to ask you if you could perform a test.
Is VDD_INT derived from VDD_EXT? It seems so, since the VDD_EXT is seen taking a dip just as VDD_INT comes on.
If so, could you try to make VDD_EXT rise more quickly, such that it doesnt dip when VDD_INT comes on? If you can, connect an external power supply to VDD Ext, with a faster turn-on time.