ADAU1701 hardware config for SPI boot from uC
I need to implement loading of ADAU1701 DSP program via SPI control port. I have microcontroller code that takes the CLATCH pin lo-high 3x to put the device in SPI mode, and I have verified that the timing and format of SPI is correct, as described in the SPI PORT section (p. 27) of the ADAU1701 data sheet. I followed the procedure to port the files from SigmaStudio and integrated them into my uC code. However this does not work on either the EVAL-ADAU1701MINIZ or a custom 1701 board I have.
I can, however, program both targets using the USBi, which uses I2C mode. After a bit of searching on the forum and re-reading the data sheets, I suspect that the reason why I cannot boot using uC with SPI is that the SELFBOOT pin is tied high on the 2 boards I'm working with and it must be low for control port to be enabled. This is indicated in the 1701 data sheet p. 23 and in the schematics at the end of the data sheet ( pp. 51-52) Could someone please verify this?
However, if SELFBOOT is required to be low for the control port to work, how is SigmaStudio able to load a program via the USBi when SELFBOOT is tied high on the EVAL-ADAU1701MINIZ? Further to this point, I have read in this forum that the USBi can work in I2C mode but not in SPI mode. Can anyone else shed some light here?
Thanks,
John
Audio Signal Processors
SigmaDSP Audio Processors
adau1701
Simplifying my question in hope of getting a reply from someone with experience: Is it required that the SELFBOOT pin be tied low in order for me to use SPI to boot a ADAU1701 from a microcontroller?
Thanks in advance,
John
I just modified my hardware to get SPI boot to work:
This post from ADI forum says that when SELFBOOT is tied high, “After the self-boot procedure completes (whether it was successful or not) the I2C port will be accessible. So, you just need to wait until self-boot completes and then your microcontroller will have full access to the ADAU1701.” Tried this but it didn’t work for SPI. Needed to mod the board to tie SELFBOOT low, and then boot worked from MSP430 SPI
Hello John,
I read your first post and thought you were trying to boot up from an EEPROM then switch over to SPI and take control of the part with your uC. However, reading your later posts I think you just want to boot it up yourself using the uC correct? In that case you must tie the SELFBOOT pin low. Then toggle the CLATCH line as you did to enter SPI mode and proceed to load in the program.
I do not know how long it waits when it is set to selfboot but there is nothing out there to selfboot from. So you may be running into that issue which is why it did not work when SELFBOOT pin was held high. I think this may be a terminology issue, Selfboot means the 1701 is booting itself not that you (yourself) is booting the part up.
If you do want to boot from an EEPROM you must do it in I2C mode and then after it completes then you can set it to SPI mode and control it. You probably would want to isolate the EEPROM from the buss using an I2C bus repeater with an enable function to remove the EEPROM and the pull-ups from the I2C bus after it completes the bootup.
So I am glad you got it going.
Dave T
Dave,
Thanks for taking the time to reply and verify what I thought was happening.
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.