Questions about new Design with I2S Devices
Hello,
I'm actually designing a new system based on a ADAU1701 chip.
Now I need to figure out the following things:
- I want to program the ADAU1701 using the SigmaStudio Sotware via the I2C USB Dongle and store the program on a external Eeprom. After selfboot I want to set the master volume and the Input selection via a external System µController.
Is this possible? Can the ADAU1701 act as a I2C master to communicate with the eeprom and accept data from a external controller via I2C?
- Can the ADAU1701 generate a 12.288MHz masterclock or do I need a external clocksource?
Thanks in advance for helping me.
Best regards
Bernhard
Audio Signal Processors
SigmaDSP Audio Processors
adau1701
Hello Bernhard,
Yes, you can develop your code using SigmaStudio and then write it to an EEPROM. Then you can use SigmaStudio to program the EEPROM.
After that you will have the part selfboot. It will go into master mode and boot off the EEPROM then it will not access the I2C port unless you do a writeback operation. So then you can access the port using an external controller. The controller must wait until the selfboot completes before trying to communicate to the device.
One detail is that if you change your code (SigmaStudio schematic) the address of a volume control may change. So each time you compile it you need to check that the address has not been moved. You can do this by generating header files for your program that have the address of the controls in the file. If it moved then you will need to change it in your controller.
Your question about the master clock. It does need an external clock source but it can be a crystal. Do you have other parts that need to send or receive I2S data to this part? Then they will also need to be on the same master clock.
Thanks,
Dave T
Hello Dave,
thank you for your fast and detailed reply. It's good to now that the ADAU1701 is free for further I2C Transactions after selfboot is finished.
Thanks for this Information.
Yes I saw it on the datasheet, there is a external crystal and the ADAU1701 can create the masterclock and act as master for the slaves.
So this is solved.
One last question... is it possible to monitor the analog outputs and change one of the MP-Pins when a defined peak level is reached? If yes, is it possible to hold this Level on the MP Pin for a few minutes?
I want to change the system voltage by monitoring the output level of the ADAU1701. If it reaches a defined value, a MP Pin should go high and activate the external DC/DC converter. This converter should be active for about 5 minutes. If there was no further "clip" the pin should go back to low.
Is this possible with the ADAU1701?
Thanks,
Bernhard
Hello Bernhard,
First, going back to the MCLK discussion. If you are planning on sending digital audio to other parts in the system using the serial ports then you need to know about a few limitations. If you want to output an MCLK signal using the BCLK pin, then you need to set it for 12.288 MHz output. If you plan to also use this for clocking out digital audio then you will have to use TDM8 mode. As long as other parts in the system can take in/out TDM8 then you are OK.
I would not try to change the AVDD voltage on the fly. This will change the value being converted and lead to glitches and clicks etc. Plus, this level you are sensing for the switchover will also change.
Now I have heard of others using two different ADCs, one setup for low gain and another for high gain. Then at some point the DSP will switch between the two and make the proper adjustments for the gain difference. I mostly deal with the hardware side of these parts, power clocking etc., and not the DSP side so someone else on the forum can chime in with an algorithm for doing that.
Thanks,
Dave T
Hi Dave,
no, I just want to input serial audio data from two external devices, acting as slave. The ADAU1701 generates BCLK and LRCK on MP10/11. These signals are fed to the two external devices and back to MP4/5 if I got the datasheet correctly?
Then I can select via I2C commands if I want to have serial data from MP0 or MP1 for example.
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.