Interfacing of 3 ADAU1701 with a single EEPROM
In my project(a 6 Channel audio device) i'm using three ADAU1701.
In preliminary session of project i used separate eeprom for each ADAU. Since
each ADAU carry less algorithm i thought to use single eeprom for 3 ADAU and to
connect three using i2c mode. I used sigma studio s/w for coding.
But here exist some problem..
1)As per mentioned in Data sheet i connected the address pins of three ADAU
ADDR1 ADDR0 R/W
0 0 0 - 0x68
0 1 0 - 0x6A
1 0 0 - 0x6C
but when i tried to set the address in hardware configuration window of Sigma
studio as above the communication failure occurs.Why it happens?
2)But when i set the address of 3 ADAU same as 0x68 in configuration window
without changing the connection of adress pin in my board communication was
success.Although its incorrect addressing.
but i'm unable to write this in eeprom.
3)Also there are differences in algorithm of each ADAU.How can i make out which
Ic's algorithm is loaded in each one..if it happen so. i mean 3 ADAU with same
address.
4)i made hardware connection of address pins as per data sheet
ie first one 00
2nd 01
3rd 10
i think there is no hardware mistakes.
please Help me to get rid of these problem.
rammya
Audio Signal Processors
SigmaDSP Audio Processors
adau1701
Hi Sir..
Thank you for your response..
I got much more idea regarding the interfaccing..
Have a Great Day
rammya
I just tested the communications on my board and everything is working fine. Here's the mapping that I verified on the hardware:
ADDR1 ADDR0 USBi Address
0 0 0x68
0 1 0x6A
1 0 0x6C
1 1 0x6E
This matches the datasheet. Please try on your hardware again.
The ADAU1701 self-boot was only designed with a single ADAU1701 and single EEPROM in mind. In order to have several ADAU1701s self-boot in a system, the 1701 and EEPROM must be isolated from the main I2C bus during the self-boot process - this could be accomplished by using transistors (controlled by the ADAU1701's GPIO pins) as switches that don't close until the self-boot has finished and the GPIO pin becomes active. However, that's overly complex. You can probably get a cheap microcontroller for the same cost as 3 EEPROMs, so I think the best solution would be to have the uC boot the ADAU1701s in your system.
If you're creating a SigmaStudio project with 3 ADAU1701s, you need to make sure each has its own, isolated signal flow. In order to guarantee this, I would suggest using separate hierarchy boards in SigmaStudio for each device.
Application note AN-923 (PDF link) describes connecting an ADAU1701 to an EEPROM and to your PC for debugging. This may also be helpful for your application.
Hi Brett
After going through your reply i am thinking to use seperate eeproms for each ADAU as done previously.
but i wish to get an idea regarding the booting of more than one ADAU through a microcontroller.
We are already using a PIC16 with volatile memory for our application,
to give control signals like mute etc to ADAU through GPIO.
Our device need to save last settings, ie settings before power off (1 byte PIC data),
Its just a write back method.In preliminary session i did write back of adau data in eeprom.
But in which location its getting saved is unknown. Now i dont want to save ADAU's data.
thanking you
rammya
Please log in to reply.