ΣSigmaStudio Ask AI Русский Log in

intermittent self boot failure adau1452

SigmaDSP & SigmaStudio paular Sep 3, 2020 00:00 1 replies Original on forum ↗
Subscribe
paular Question
Sep 3, 2020 00:00

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

panic2.PNG
panic2.PNG
panic.PNG
panic.PNG
DaveThib Reply
Sep 4, 2020 00:00

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