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

Big problem when over 50% MIPS

SigmaDSP & SigmaStudio BerndH Sep 25, 2012 00:00 1 replies Original on forum ↗
Subscribe
BerndH Question
Sep 25, 2012 00:00

Hi there,

at the moment I am working on a fairly complex application where I use ADAU1442. 6 channels analog in (via ADC), 6 channels digital in (via AES/EBU-receiver + ASRC inside ADAU1442) and related config on the outputs. Insinde AUAD1442: compressors, limiters, levelcontrol, level readback for Display purposes. Finaly program shall be loaded using a µC (although I additionaly put selfboot option on the PCB which might be usefull in some special circumstances). For initial testing at the moment I send data via USBi directly to the DSP. DSP Samplerate is set to 96KHz because ADCs + DACs run at 96KHz (slave to DSP)

Everything works fine so far until I came to the point that my compiler output window shows more than 50% usage of MIPS. As soon as I pass this threshold of complexity very strange effects take place: An additional sinewave (arround 40kHz) is generated if I send a signal through the DSP thus generating lare amount of distortion (THD+N 40dB compared to 100dB before). Filter frequencies seem halved when this happens. I.e. wenn I put a 5 kHz notch and send a 5kHz sinwave it is perfectly attenuated as long as I am below 50% MIPS. Getting over 50% I have to set the filterfreqency to 10K (and attenuation is not as perfect as before). Another thing I noticed when going beyond 50%: watchdog is alerted.

I wondered if it might be a problem of my 96KHz sampling rate and DSP resource display shows not the correct numbers for higher sampling rates. But effects stay the same when switching to 48kHz!

The effect seems similar as in this post: https://ez.analog.com/message/8218#8218 but I am not using over 100% ;-)

I hardly can imagine that ADAU1442 is overloaded since the program ist not so very complicated and large.

Any Ideas what else could be the reason for this behavior? And how to make it work beyond 50% MIPS ...

Another little question: In the readme.rtf there are sigmastudio versions up to 3.7.7 wheras I can only see version 3.7.4 Beta for download?!

Thanks in advance for help and kind regards

Bernd

Audio Signal Processors

mips

adau1442

sigmastudio

SigmaDSP Audio Processors

frequency

sample_rate

Show More

ADIApproved Reply
Sep 25, 2012 00:00

Hi Bernd,

It seems that you are running into the limit of instructions that can be executed per audio sample. The 50% MIPS reference you are seeing refers to 50% of the amount of instructions that can be executed per sample at a sample rate of 48kHz. This amount of instructions is calculated by dividing the core clock frequency (172.032 MHz in this case) by the sample rate. This gives us 172032000 Hz / 48000 Hz = 3584 instructions. When you have your sample rate set to 96kHz, you now can only execute 172032000 Hz / 96000 Hz = 1792 instructions per sample (or 50% of 3584). You need reduce the amount of instructions being executed to below 1792 when using this higher sample rate.

When changing the sample rate of your system down to 48kHz to debug, make sure you are also changing the hardware sample rate along with the software. Here is a post describing the process.

https://ez.analog.com/docs/DOC-1431

I apologize for the confusion in the readme.txt file for SigmaStudio that is on the website. SigmaStudio 3.7.7 will be released soon and the updated text file has already made it's way to the website. The release version of SigmaStudio will follow shortly.