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

ADAU1452: core status stalled

SigmaDSP & SigmaStudio latera May 28, 2021 00:00 3 replies Original on forum ↗
Thread Summary

Thread Summary

The user is experiencing occasional 'Core is stalled' (0x04) status in the ADAU1452's CORE_STATUS register (0xF405) and seeks clarification. The final answer suggests that this status is normal and indicates the core is servicing multiple requests, but it should not be a constant issue. The user is advised to use the Checksum block to verify the program's integrity and consider other methods like checking oscillator output or using the watchdog function to ensure the program is running correctly.
AI Generated Content
Subscribe
latera Question
May 28, 2021 00:00

Hi

On my custom design, I'm using the SPI connection between mcu and adau1452, and I'm able to read/write registers.

I also check the register CORE_STATUS 0xF405 every 0.3 seconds. I found that sometimes the return value is 0x04. Core is stalled.

In datasheet I see that "Core is stalled. This occurs when the DSP core is attempting to service more than one request, and it must stop execution for a few cycles to do so in a timely manner. The core continues execution immediately after the requests are serviced."

But I can't really understand it!

"Core is stalled" is normal situation and Core is OK. Or Core is stalled because somethings is wrong. If so,what particular error would make Core to stalled status?

Audio Signal Processors

adau1452

SigmaDSP Audio Processors

DaveThib Reply
Jun 1, 2021 00:00

Hello latera,

If you do check this register often you can catch it in this mode. It does not indicate a problem unless it is always in this mode.

So what are you attempting to do? I assume you want to check that the program is running correct? There are other ways to do this. If you have an oscillator in your design you can simply check the output of it to see if it changes and that will tell you the program is running. There is also a watchdog function that you can use. Let me know what you have in mind and I can give you some suggestions.

Dave T

latera Reply
Jun 1, 2021 00:00

Thank you.

I read the core register to check whether the program is running at the beginning. And I also use the watchdog function and the panic register too.

DaveThib Reply
Aug 10, 2021 00:00

Hello latera,

Between the Watchdog function and the panic registers you have this rather well covered. There is one other thing that may help your confidence that the program was correctly loaded since you are using SPI.

That is the Checksum block. Here are the details:

CheckSum [Analog Devices Wiki]

This is where you find it in the toolbox

Your controller can read these and see if the values are as expected.

Dave T

pastedimage1628628167704v1.png
pastedimage1628628167704v1.png