Can I write Latest Compilation to E2PROM from a micro?
I am developing an amplifier micro controller and using the ADAU1701 in Self-Boot Mode. I would like to be able to do the initial load of the attached EEPROM from the micro using the “Program_Data” in the files that are produced by “Export System Files” in SigmaStudio. But this data does not ‘completely’ match the data that is sent to the EEPROM by SigmaStudio when I execute the “Write Latest Compilation to E2PROM” command.
I did note that the data sent to the DSP using the “Link Compile Download” command appears to be the same as the “Program_Data” in the “*_IC_1.h” file that is sent when using the “default_download()” function.
Is it possible to write the ‘Latest Compilation to E2PROM’ data by using the exported ‘System Files’?
Ray
Audio Signal Processors
eeprom
microcontroller
SigmaDSP Audio Processors
adau1701
self-boot
Show More
The data in the EEPROM will not exactly match the system files because the EEPROM data is formatted for the selfboot operation and to work in that memory device. See pages 25-26 of the ADAU1701 datasheet for a description of the EEPROM data format. You can use this to build your own EEPROM image, if you want to do that.
If you have a microcontroller in your system, I'd recommend reconsidering if you need to selfboot the ADAU1701. Selfboot is intended for booting the ADAU1701 in a system without a uC. If you do have a uC present in a system where the ADAU1701 is selfbooting, you need to be very careful that the uC does not do anything on the I2C bus before or during the selfboot operation. The ADAU1701's selfboot circuit is not designed for a multi-master I2C bus, so it will not deal well with any bus contention it might see from the uC. While it certainly can be done, I'm not sure that I see much of an advantage to selfbooting and then turning control over to the uC, since your uC won't be able to be active on the bus until after the ADAU1701 is fully booted. At that point, wouldn't it maybe be easier just to have booted the ADAU1701 from the uC in the first place?
The original intent was to be able to write additional messages (after self-booting) to change the EQ or any number of parameters. I had envisioned 4 different EQ sets that could be loaded on the fly (during active setup) and ultimately stored in the EEPROM via direct write and/or by use of the writeback feature so that the part would self-boot (on next power-up) with the last EQ that was setup. Under normal use the setup would not be changed.
The self-boot operation on the DSP would take place while the micro is taking care of its (other) start-up processes. After initial start-up is complete the micro would pull SELFBOOT and/or WP to allow direct write to the DSP and/or EEPROM. I need to maintain direct active control for things like volume and mute.
Is the writeback feature available without self-boot? Or do I just need to save all the parameters in the micro and reload (from the micro) on every startup. With the micro in the system is there any need for the EEPROM at all?
Raydon wrote:
With the micro in the system is there any need for the EEPROM at all?
It seems like you're trying to make the ADAU1701 do things that your microcontroller can already do. In my opinion, your system design would be cleanest if you just let the micro do the booting and parameter saving, rather than trying to separate the tasks between the microcontroller, the ADAU1701, and the EEPROM. If you're already directly setting parameters such as the volume with the microcontroller, it would to be redundant to have the ADAU1701 write them back to a selfboot EEPROM when the microcontroller could just save those values to its own internal memory (or connected EEPROM).
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.