write self-boot memory through DSP
Hello,
I am working with a self made PCB with ADAU1452 and 25AA1024 SPI-EEPROM.
The connection to the board works fine. I can get audio in and out of the DSP. But I am not able to write the last compilation to the self boot memory. The eeprom is connected to MP0..MP3 via SPI.
When I write to it in SigmaStudio, the programming window finishes without complaining. But when I check it, it says that it failed.
So I tried to check the SPI communication between DSP and eeprom. But there is none!
When I configure MP0 (slave select) as MP0, I can toggle it in SigmaStudio. So the electrical connection should be fine. But while programming, the slave select never goes low.
What do I do wrong?
Audio Signal Processors
adau1452
software
SigmaDSP Audio Processors
4.7.
Hello,
When using the SigmaStudio feature to program the EEPROM through the SigmaDSP SPI port, you must disable SELFBOOT.
The EVAL board has a physical switch to set SELFBOOT to a logic low or logic high - it must be Low when programming through the SigmaDSP because the chip is reset during the process and will try to reload through the uninitialized EEPROM before the write-through has started. This sounds like what you're seeing.
After successfully writing the EEPROM, SELFBOOT must be set high and the SigmaDSP must be restarted with a Reset or power-cycle. On the EVAL boards, this is accomplished by flipping the physical switch after write has completed.
For my own custom ADAU14xx board design, I made sure to manage the logic level present on SELFBOOT to facilitate the requirements of the write-through-SigmaDSP feature.
Brian
Thanks for your answer!
I copied most of the schematics from the eval board. So the self boot pin is connected to a 10k pull down resistor and a jumper to VIO.
When I try to program the eeprom the jumper is open so that the self boot pin is low.
Would it make a difference to pull it directly (without (pull down) resistor) to gnd?
Hello JannisL,
You can pull down the Self boot pin either directly to ground or through a 1 kΩ (or higher) resistor.
Your schematic looks fine.
I hope you have selected the correct properties in the EEPROM properties window.
For further testing, I will share a simple read/write example to verify whether the SPI communication is working properly.
Please find the attached ZIP file for testing. Inside the ZIP file, I have included two projects:eeprom_test.zip
One project for flashing the EEPROM
Another project for runtime SPI read
First, download the flash project to the DSP. This project writes values from 1 to 10 into the EEPROM. I have also attached the flash file for reference.
After that, run the SPI read project and compare the output with the text file.
You can also increase the address in the SPI read block to verify the data stored in other memory locations.
Please let me know the update.
Regards,
Aravindh
Thank you for your answer!
I ran both programs. But the writing fails and the eeprom is just full of 0xFF. And again there is no activity on the SPI pins.
I suppose it must then be a hardware defect in the dsp. Maybe from too much heat while hand soldering.
I just had a similar problem with SigmaStudio 4.7 - I could not write my new test firmware into the EEPROM on the EVAL-ADAU1452REVBZ board. I flipped the SELFBOOT switch off before trying, and then flipped it on again to test, but the EVAL board continued to load my old test firmware. (The two firmwares generate different LED patterns, so I can distinguish between them readily)
One important issue is that when I edit the parameters for the EEPROM to match the 25AA1024, SigmaStudio 4.7 reverts to the old settings when I press OK. Even when I manually enter the parameters in the "program SELFBOOT through DSP" command, it doesn't seem to take. This might explain why I cannot program the EEPROM through SS 4.7, because the 25AA1024 at least needs 3-byte addresses, and not the 2-byte default. The page size probably has to be correct, too.
As a reference, I recreated the same schematic with SigmaStudio+ 3.3, and was able to program the EEPROM on the first try, I set the parameters for the EEPROM first, and then went through the DSP with SELFBOOT off, and now the EVAL board boots my new test firmware with SELFBOOT on.
I had not been taking careful notes before today, so I don't recall how I loaded my older test firmware into the EVAL board. In particular, I do not recall whether I used SS 4.7 or SS+ 3.3 (or SS+ 2.4) previously. I had been switching between SS and SS+ to work around bugs in each release, but have been focused on 4.7 lately since it seems to be supported. I'm concerned that I can't configure the correct EEPROM settings in SS 4.7, and particularly concerned that programming the EEPROM doesn't seem to work.
JannisL , have you tried programming the EEPROM on your board using SigmaStudio+ 3.3? That might be worth a try to gather more information.
Please log in to reply.

