ADAU1467 Self-Boot programming

After reading through the ADAU1467 datasheet and the documentation for the evaluation board I have a question regarding the Master/Slave SPI/I2C ports.

For initial development and testing of the audio processing program I want to use the USBi programmer connected to my board that I am in the process of designing..

I have 3 questions regarding the SPI/I2C Ports:

Question 1:
I am planning on using the Microchip SPI Flash SST26VF064B is this one compatible with the ADAU1467?
I compared the ADAU167 Self boot chapter form the datasheet (page.45) and the datasheet of the SST26.
 - The SST26 is SPI mode so SS_M/MP0 pin act as a chip select for the SST26
 - The SST26 uses 24-bit Addressing.
 - The SST26 does not specify a minimum clock frequency so I assume that <1 MHz  initial transaction will succeed.
 - The SST26 supports SPI mode 3.
 - The SST26 has the sequential read command of 0x03.
 - The SST26 can be accessed immediately on power up. no configuration necessary to read, but to write to the SST26 a unlock command has to be issued first due to Write protect on power up.
The above list are direct form the ADAU1467 self-boot chapter but are these all the items an external Flash/EEPROM has to comply with?

Question 2:
I am looking in how the Master & Slave SPI/I2C port should be connected on my own board. So I looked at the reference materials: ADAU1467 Eval schematic (UG-1134) and the USBi using guide (AN-1006).
After reading those I came to the conclusion that:
 - SPI Master: EEPROM
 - SPI Slave: USBi
So my question is how does the USBi programmer access the EEPROM on the eval board.
Does Sigma Studio send the self-boot data to the ADAU1467 which then programs the connected memory device? or am I missing something here.

Question 3:
I want more user I/O than there are available pins on the ADAU1467 is it possible to use an external micro controller connected to the SPI/I2C slave port to write values for example values from an external ADC or button to the DSP core, and process them with the Sigma Studio program just like an internal GPIO/ADC value.
The external micro-controller should of-course be disconnected from the bus if the USBi programmer is connected so both can't driver the SPI bus at the same time.

  • 0
    •  Analog Employees 
    on Jun 3, 2021 5:18 PM


    The requirements list from the datasheet are all the functional requirements. Then the physical constraints like supply voltage and timing need to match. From what I can see, the SST26 flash is a good candidate for self boot, although I didn't check every timing spec. Try it out!

    As you noticed ,the USBi programmer does not have a direct connection to the EEPROM. During a self boot programming operation, a small pass-through program is loaded to the DSP which allows SigmaStudio to send data from the USBi through the DSP to the self boot memory. 

    And, for your last question, yes, an external controller can load new values through the control port to be used in your program. When the time comes, we have example code here describing how to interface microcontrollers with SigmaDSP. Note that the interface is optimized for control data, not audio data, and the I2S/TDM ports should be used if you need synchronous sampling.