intermittent self boot failure adau1452
Hello
Our custom board worked fine the first days, but then self boot started to fail - or so I think. Reading the registers after a fail usually gives me software panic (typical for self boot fail?), but not always. PLL is consistent not locked after a fail and core in Pause or not running. Compile-Link-Download from Sigmastudio solves all problems and the DSP runs OK again. Check latest compilation trhough DSP mostly gives success, sometimes a fail. Reprogramming the EEprom solves the error.
Board schematic is very similar to the eval board.
Is there a way to be sure self boot failing is the problem?
Any thoughts on what may cause intermittent self boot fails cause would be appreciated.
Thanks in advance
Paul
Audio Signal Processors
adau1452
SigmaDSP Audio Processors
Hello Paul,
One quick note: Be careful when doing a "Read ALL Registers". It does exactly that, reads all registers and now the contents of the registers could be all default values. It is worse if there is a comms error then it might hold all zeros or "FF" in all registers. Then if you save your project ALL of the hundreds of registers will have garbage in them. So be certain your project is saved before doing that and do not save it afterwards until all is working right.
The Panic registers are a different issue and not a problem. It is an involved topic and things have to be done a certain way for it to produce valid results. Although, the Software Panic could mean that the selfboot failed. The Core goes into hibernation when the program is completed and it is waiting for the next frame interrupt so even with the program running there is a chance you may read that register exactly when it is idle during a frame. So that is not an issue either.
You should read the Software Value registers. Use the sequencer to do the reads and see what they hold.
They are registers : 0xF433 Software_Value_0 and 0xF434 Software_Value_1. If selfboot fails then these registers will hold a non-zero number. If you read them in HEX it is something funny that the programmers built into the part. So this will help you determine if it is a boot error.
If you are having issues programming the EEPROM then what could be the problem is with the selfboot mode itself. You need to take the part out of selfboot then program the EEPROM through the DSP. That should work pretty much every time. If you do not then what happens is that when SigmaStudio loads in the program to write through the DSP, it performs a soft reset. If the Selfboot in enabled then that triggers a self boot. So then you have the situation where the EEPROM is being read into the DSP program memory while SigmaStudio is loading in a program into DSP memory. Not a good situation. IF the EEPROM is blank then the DSP sees the wrong initial byte and tries three times then gives up. Then usually the program from SigmaStudio loads in fine and takes longer than the time it takes to fail the selfboot. Anyhow, it is an issue. Disable selfboot.
If none of this works then let me know and we will look deeper. Your schematic and PCB layout might be handy at that point.
Thanks,
Dave T
Please log in to reply.