ΣSigmaStudio Ask AI Русский Log in

parameters with ADAU1701

SigmaDSP & SigmaStudio Netcien Jun 30, 2015 00:00 6 replies Original on forum ↗
Subscribe
Netcien Question
Jun 30, 2015 00:00

Hi Evryone,

I have a Evalboard ADAU1701 and i want stock the diffrent parameters in a extern EEPROM, because if iwant change the parametres i don't w'ant to go to Sigma Studio but with an button or interface telnet i select parametre in the EEPROM.

The question is how i ordre the DSP to change parameter with I2C may be but hoz i can tell him wake up for searching a new parametres?

If you have any suggestions i will be very happy ,

Thank you very much,

Audio Signal Processors

parameters

SigmaDSP Audio Processors

adau1701

KJBob Reply
Jun 30, 2015 00:00

Hello,

If your needs are modest, you can go with SigmaStudio blocks that feature control input pins. These include:

Index selectable filters

State-variable filter

External volume control

You can control these with GPIO and Aux ADC inputs to make a self-contained, self-booting system. This would be the easiest way to go.

If you need more than this, you can have an external microcontroller receive user commands, compute and/or look up the needed parameters, and I2C them to the DSP. This method, while more challenging, gives you more control.

Make a list of the features you would like to control at runtime. I'd be happy to help you see which method might work best, and then we could find info (much already on the forum) to help with it.

Best regards,

Bob

Netcien Reply
Jun 30, 2015 00:00

Thank you very much for your answer, i don't know yet wich parametre i have to change but for example i must change a frequency on number of bits how i can tell to ADAU1701 i want change the value of frenquency. ( knowing i have arduino ho translate the sigma studio program in EEPROM of card DSP )

KJBob Reply
Jun 30, 2015 00:00

Hello,

I'm afraid I'm not familiar with arduino, so perhaps others can jump in and provide more specific help. Here are some links to forum topics for controlling a SigmaDSP from a micro:

Booting the Sigma DSP from a microcontroller:

How do I create the microcontroller code to interface to my SigmaDSP?

Updating SigmaDSP Parameter with a Microcontroller

Calculating Parametric Filter Coefficients:

Calculating Filter Coefficients to Store in a Microcontroller

Safeloading the Coefficients into the ADAU1701:

https://ez.analog.com/message/61175#61175

Best regards,

Bob

Netcien Reply
Jul 1, 2015 00:00

Thank you Bob I have one more question what is the rol of safeload please ? it's a register for storing data ? can use it to stock parameter ?

Best regards

KJBob Reply
Jul 1, 2015 00:00

Hello,

Safeload is a method used to write new parameters to a running DSP. It can handle up to five parameters at a time. As its name suggests, it's the safe way to change parameters while audio is running, because it carefully updates the parameters during the dead time in between audio samples -- thus avoiding audible pops and clicks. It's described on page 30 in the ADAU1701 data sheet. It doesn't actually store parameters for you, these still have to come from your Arduino. It's just a different way to I2C the parameters from the your microcontroller to the -1701.

Here's an example project with several control methods illustrated. The screenshot below shows when we first boot the ADAU1701 from SigmaStudio:

Here in SigmaStudio's Capture Window, we see the Program Memory, Parameter Memory, and Core Registers being loaded. The initial program load simply dumps all this stuff into the DSP with Block Writes (directly writing to the memory locations). When you're looking to control the ADAU1701 via I2C, you'll find that the Capture Window is your friend. Essentially, if you have your Arduino do exactly what SigmaStudio shows in the Capture Window, you'll successfully control your -1701! The Export Files you get when you choose Export System Files after a Link-Compile Download contain the same information is a more convenient form for including in your Arduino's source code. The first parameter to load happens to be for DC Source 1 -- you can see the integer "7" above.

The General Second-Order Filter shown has no visible means of control -- it can only be adjusted via I2C. If we adjust it from SigmaStudio, the Capture Window shows what happens:

Here, SigmaStudio switches to Safeload writes since writing these parameters to a running DSP would cause audible disruption. Five parameters known as coefficients are needed to control the filter, and they have no obvious relation to the audio control you're changing. That's why you'll need to have your Arduino lookup or calculate these coefficients and then safeload them. The references I provided above show how to calculate and safeload the parameters.

On the other hand, the sample project's two Lookup Filters contain all the needed coefficients in the initial program load, only needing an Index input (an integer) to select the desired response from the pre-loaded choices. The Bass filter is connected to an Aux ADC for operator adjustment via potentiometer -- no I2C needed! Source DC1 and the multiplier serve to convert the -1701 Aux ADC's 0-1 decimal range to the 0-6 integer input for the lookup filter -- for more info on number formats, see What are the number formats for SigmaDSP?

We can also use a DC source to control the lookup via I2C, as done with the Treble filter:

SigmaStudio chose a Block Write when adjusting this filter, but it's best to use Safeload for any writes to a running DSP.

Thus, we see several ways to make your SigmaDSP jump through its hoops. Getting it all to work can be intimidating at first, but eventually you'll feel the "thrill of victory."

Best regards,

Bob

0550.5c4290b40fc61f7bab112cbbf744084f.png
0550.5c4290b40fc61f7bab112cbbf744084f.png
0550.5c4290b40fc61f7bab112cbbf744084f.png-620x461.png
0550.5c4290b40fc61f7bab112cbbf744084f.png-620x461.png
8228.2973688871d3ead66964c4ea7ef257ae.png
8228.2973688871d3ead66964c4ea7ef257ae.png
8228.2973688871d3ead66964c4ea7ef257ae.png-620x464.png
8228.2973688871d3ead66964c4ea7ef257ae.png-620x464.png
5353.7fde78730a2ae9b7e261e946da68d660.png
5353.7fde78730a2ae9b7e261e946da68d660.png
5353.7fde78730a2ae9b7e261e946da68d660.png-620x387.png
5353.7fde78730a2ae9b7e261e946da68d660.png-620x387.png
EZAdministrator Reply
Aug 2, 2018 00:00

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