I have designed a device with the adau1452 and a 24aa512 eeprom as selfboot memory. the circuit has a pic microcontroller in it which controls the boot sequence of the device but cannot be used to program the dsp because we need to be able to change the dsp program without changing the mcu program.
the microcontroller does control the dsp boot up though. there are basically two modes:
Mode 1: Selfboot
1. it turns on the masterclock (12.288 MHz from a crystal oscillator)
2. it sets the selfboot pin to high
3. it sets the reset pin on the dsp high
4. it waits 1 second (time is really not an issue when booting in our case)
5. if mp6 of the dsp goes high (which i defined in the program) it will continue with everything else
if mp6 doesn't go high it continues with mode 2
Mode 2: Non-Selfboot (for me this basically means it is a fresh, not programmed board which is also indicated by a led)
1. it sets the reset pin to low
2. it sets the selfboot to low
3. it waits 1 second
4. it sets the reset pin to high
5. it waits for mp6 to go high
our dsp is configured to use i2c on both the slave and master control port. slave control port works just fine but when i now try to write to the eeprom through the dsp it shows the standard settings dialog and when i press ok it immediately shows a dialog saying "E2PROM: FAILED TO WRITE". when pressing ok it continues to write to the master control port though.
when i measure with the oscilloscope on the master control port it shows no activity.
mp0 = pulled low by 10k as is specified in the datasheet
mp1 = disconnected
mp2 = scl_m pulled high by 2k2
mp3 = sda_m pulled high by 2k2
edit: i tried a different board and now it rights trough the dsp. it also tries to boot but still doesn't. and the "E2PROM: FAILED TO WRITE" message still pops up.
edit2: it works now. i don't quite know why but it does.