Interface Read/Write ADAU1452.
Hi ADI,
I need some informations about the interface Read/Write to store some parameters that should be written by a microcontroller.
How to use them?
I haven't found any documentation for ADAU1452 but only for ADAU1701.
For example I have an encoder in my board and when the value of the encoder changes I need to write this value in the adau and at the power up I want the last saved value.
Thank you in advance!
Audio Signal Processors
adau1452
hardware
SigmaDSP Audio Processors
Hello Steven,
The Interface Write functionality is meant to work in the selfboot mode and to write back to the EEPROM so that when you reboot it will load in the last value that was written to the EEPROM. I am saying last value because there are settings on when to write. You can find the info here:
Interface Write [Analog Devices Wiki]
However, there are some tricks to using this. the act of writing a different value back to the EEPROM will cause the Checksum to change. Well, then the next time you go to boot up the checksum will not agree with the stored checksum so the program appears to be corrupted and does not run. The trick is to change the Checksum to be zeros. Then the selfboot state machine will see it is all zeros and ignore the checksum and run the program. I think this was a bug in the compiler at one point and might be fixed. The compiler really should make the checksum zeros when a program includes some Interface Write blocks.
Anyhow, there are many posts on the forum about this.
Now, you mentioned a system controller being involved. I did write this program that uses a DC cell to load in a default value at the start of the program. You can have the current value be read my the uC periodically and then written to the DC cell before the program starts. If the uC is loading in the program this will work.
Gosh, there are so many ways to do this with this processor. It is so flexible.
I am attaching the program I wrote up for setting a default value at startup.
0763.ADAU1452 Test of Interface read and write with Default Setting.dspproj
Dave T
Thank Dave for the answer, now I understood how to do this thing.
I have now one doubt, how I can write the DC cell before the program start?
In general I use the function default_download_IC_1() to program the ADAU from uC and the value of DC cell is the value that I have in my project.
You're saing that after the default download operation I should write the stored DC cell and the perform a stop/start core (0xF402)?
Thank you in advance
Steven
Please log in to reply.
