Post Go back to editing

ADAU1442 volume control + mute feature of I2S inputs

I would like to use the ADAU1442 parts for 2 of my sound cards.
I need to mux more than 4 various digital signals where the ADAU1442 seems to be a best candidate.
I need to make a volume control + mute feature of all I2S and one SPDIF input. And there is a question.
Is it possibe to control the volume+mute feature from outside? Without the SigmaStudio? Is it possible to make it somehow using of multipurpose (MP) pins? Or via SPI? We want to write a utility to control the volume and need an access to ADAU1442 chip directly instead of only SigmaStudio because this sound card will used on multiple operation systems which SigmaStudio does not support and using of the SigmaStudio only for volume control is not practical.
And last thing please. A volume of the ADC0-ADC3 pis can be controllable by potentiometer, Is it possible to make such thing for I2S/SPDIF inputs?
Thank you very much.

  • Hello Rabik,

    Let me start here to explain how SigmaStudio works and what it does for you. 

    The obvious is that you can drag in blocks and connect them to create a signal flow and processing of audio samples. The blocks have underlying assembly code of course. When you are ready to try your program you compile, link and download the program to the DSP. So that is the first job of SigmaStudio, to compose the program, build it and download it to the DSP.

    Then once that happens SigmaStudio has only one job. To communicate with and control the objects that are running in the DSP. SigmaStudio does NOT run any DSP code in the computer, it is all running in the DSP.

    So then SigmaStudio will send commands to change volume controls, flip switches, change filter coefficients, etc., etc., etc.

    It also will query the DSP for data and pick up data for things like meters that SigmaStudio will display. 

    So now the objects on the screen are simply control objects that sends commands to the DSP. Your microcontroller or system controller will operate in exactly the same way. In the Capture window you will see what is being sent to the DSP, what addresses it is writing to and what parameters it is controlling.  These commands are through the comms port that can be either SPI or I2C. You cannot send or receive audio data using the comms port because the rate is too slow. It is just control parameters.

    The program running in the DSP does not require SigmaStudio to operate. SigmaStudio is simply a tool to help you work out the details in your program and once it is done you can use any controller to do the same thing SigmaStudio is doing. 

    Now you asked about if it can do several different things. SigmaStudio is a very versatile system that is open to your imagination for creating signal flows and logic within your program. Yes, you can mute from the outside just like SigmaStudio does. Yes you can do it using an MP pin if that is best for your system or you can just send commands over SPI/I2C. 

    Your question about volume control using the AUX ADC inputs and external pots. Yes, you can do that. For I2S or SPDIF inputs you can write a creative program that would take that data coming in and properly scale it to control a volume control in your signal flow. Almost anything can be done. It is a very powerful graphical programming tool. 

    Now as far as a choice of processors. I think the ADAU1452 would be a better choice based on what you have told me. It is so much more powerful and has more capabilities. 

    This forum has many examples of the things you asked about. I understand that it takes some learning to be able to ask proper questions or search the forum. There are many example projects or pieces of projects to demonstrate some use case. So feel free to search the forum and you will start to learn more about it. 

    If you have a block diagram that shows your signal flow I might have example programs to get you started quickly. First you do need to decide on the processor. 

    Dave T