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
So, I tried to use a quick power supply (100 us startup time, 2x ADP3338 - the same, as on the ADI's Starter Kit) and the problem still remains. There is no change whether both the voltages are switched on simultaneously, VDD_EXT first and then VDD_INT or vice versa.
Are there some pins on the DSP, on which a special care should be taken or which can affect booting via EMI? I.e. which definitely must be pulled up or down during the booting sequence from 8bit EMI? Because - once again - this problem appears only during the booting from the external 8bit Flash via EMI, not during the booting via SPI.
P.S.: I forgot to note that this problem appeared in the new version of our device, where one write-only SPI IC was added on the DSP's bus (i.e. to SPI_CLK, MOSI and GND), however, no activity from it can be seen during booting.