Post Go back to editing

ADAU1452 code download

Dear Sir,

We are starting a project with ADAU1452 Dsp.  Now we encounter a problem

when we down the Dsp code(which from export file) through the external MCU.

The system is setuped by ADAU1452 DSP and one MCU. MCU will init the DSP and

down the DSP code by SPI bus. The system initialization as following:

1. System power up(both DSP and MCU)

2. MCU will reset DSP by control DSP reset pin, delay 1ms then release the DSP reset pin

3. MCU do 3 times dummy SPI write to make the Dsp enter SPI slave port.

4. Delay 400ms

5. Down the Dsp code by "default_download_IC_1()" function.(which from export file)

We confuse in the step 4: we must need delay about 400ms, then we can download the Dsp code successfully.

If no this delay or the delay time is short, we can not download the Dsp code successfully.

We assure the DSP selfboot pin has pull low(disable selfboot). This is very strange.

Would you give your kindly support about this?

Best Regards


  • Hello Nan,

    Can you send over more detail of exactly what you are writing? I do not need your code, just the register writes. you are doing for the entire bootup process. Like I said, you can omit the part where the program code is loading in.

    You should not have to wait 400ms. The only thing you have to wait for is the PLL to lock.

    Dave T

  • Hello Dave,

         Thank you for your kindly support!

         From the datasheet, we also thought we only need wait till the PLL to lock. But actually we have to wait about 400ms and we can not

         find the root cause now.

         The attachment is the detail for the download process. There are total 6 files:

          1. "AD1452_Test.dspproj" is the SigmaStudio project file 

          2. "AD1452_Test_IC_1.h", "AD1452_Test_IC_1_PARAM.h","AD1452_Test_IC_1_REG.h" is the files which export from SigmaStudio

          3. "SigmaStudioFW.h", "SigmaStudioFW.c" is the files which include detail download process.

         Please help to check it. 

         Thanks again


  • Hello Nan,

    Thanks for the files. It was handy to see it.

    Where did you obtain the SigmaStudioFW.h and SigmaStudioFW.c files? Did these come with the Linux driver?

    Are you using Linux?

    If this is the case then this may be a Linux issue. When you use SigmaStudio and the USBi to program the part directly from SigmaStudio, have a look at the Capture window. In that window you will see what SigmaStudio does to program the part. There is timing information there as well. It only takes a few tens of milliseconds to program. It looks like 28ms on my system. SigmaStudio actually should be waiting longer for the PLL to lock, look at the datasheet for those numbers, but it does work. So the 400ms may be a Linux system issue is my guess.

    If it turns out that this is a problem and the Linux support people do not have any answers, you can always make a design change and use an EEPROM to boot up the sigmaDSP and then use your system controller to control the part after bootup. There are many customers who boot up this way to take the load off of the system controller during boot time.

    Let me know the answers to my question and then I will see what to do.


    Dave T

  • Hello, Dave


    Thank you for your quickly response!


    We find the root cause about this issue(hardware design issue):


    Root cause:

         The MCU control the ADM811 pin 3(MR), and the ADM811 pin 2(Reset) connct to the ADAU1452 reset pin.

    When we pull high the ADM811 pin3(MR), the ADM811 pin2(Reset) have the time delay output(refer the attachment

    ADM811 datasheet). so we have to wait the delay time to get the successfully code download.



        Delete the ADM811 and let the MCU control pin connect the ADAU1452 reset pin directly, then all is well as we expect..


    Thanks again.


  • Dear Dave,

    Can I get your help about ADAU 1452 memory?

    I have been working on Sigma Studio for a few weeks and I'm kind of new to it.

    I ordered a new board: ADAU1452 and the eval board: EVAL- ADAU1452MINIZ.

    Then the problem comes: If I save and run one program in the board, then cut off USB connections as well as the charger, then is it possible to recharge my board and get the program run directly without any compiling or download? Because I'm trying to make this board isolate from the Signal Studio.

    I have tried but it didn't work, always need to re-compile and download the program in Signal Studio; I'm trying to add a EEPROM in hardware configuration window but I'm not sure this would work.

    Thank you and looking for your reply.


  • Dear Dave,

    I got it worked by using the ADAU1452 self-boot Memory!

    I right clicked the ADAU1452 and chose 'Self-boot Memory', then click 'Write lastest compilation through DSP', is that the right way to do so?

    Thank you.


  • Hello Jiaxuan,

    Sorry, I have been very busy and could not answer you right away.

    Yes, You compile the project then right click on the ADAU1452 and select to write the latest compilation through the DSP. Then you make sure the selfboot jumper is properly set to be high and it will self boot.

    I did notice you have the E2Prom set to I2C in your project. It is a SPI EEPROM on the evaluation board but you set that in the dialog box when you go to program the EEPROM. This setting in SigmaStudio that you show in your post does not matter. This is for all the other SigmaDSPs that do not have a master port, they will have the EEPROM on the same bus as the USBi. So the USBi can communicate directly to the EEPROM. This part is a little different. What you did was perfect.

    Dave T

  • Dear Dave,

    Thank you for the detailed explanation, and your reply also solved my confusion about the EEPROM.

    But now I got a new problem about the ADAU1452 FIR filter taps, may I ask for your help again?

    I learned that the ideal maximum tap memory is 10k for each channel, but when I just increased my taps to 1499, the Sigma Studio started to respond very slowly and sometimes stopped working.

    I found this situation only happens when I input the coefficients into the FIR filter. I mean at any else steps the system always responds very quickly, including the download step. So is there any solution that might avoid or optimize this situation?

    Thank you and looking for the reply.



  • Hello Jiaxuan,

    This is an issue with the GUI that we are aware of. It is in the queue to be worked on but at this moment it has not been fixed. So you should see this fixed with a future revision of SigmaStudio.

    So for now you will just have to wait for the coefficients to load, it is very slow. Sorry for the inconvenience.

    Dave T

  • Hi Dave,

    Thank you for the answer and I would try the beta version also.

    Best wishes,