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

How to adjust parameters through SPI directly(ADAU1701 project)?

SigmaDSP & SigmaStudio JackieTan Nov 22, 2012 00:00 9 replies Original on forum ↗
Subscribe
JackieTan Question
Nov 22, 2012 00:00

Today I am very glad to receive an ADAU1701MINIZ board. Thanks to great support of Henry from ADI China.

Before I start my first project. I have one question :

I will creat a 5 bands EQ, I will creat a Dynamic Bass, and many other sound effect algorithms. Can I adjust parameters of them by setting parameter RAM or data RAM through SPI? For example, I will add many potentiometers in hardware. I will use them to set parameters. But I don’t know which RAM should be modified. How can I achieve this target?

Thanks in advance.

BR/Jackie

ADIApproved Reply
Nov 22, 2012 00:00

Hi Jackie,

There are a few ways to change parameters in real-time when the system is running.

Microcontroller:

Most systems have some kind of host device that can send commands to the SigmaDSP via the SPI port. There are several threads and tutorials on the forum describing how to do this. Here are some examples:

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

https://ez.analog.com/docs/DOC-1806

https://ez.analog.com/docs/DOC-1819

GPIOs:

Some SigmaDSPs, including the ADAU1701, have GPIO pins that can interface to pushbuttons, slide switches, potentiometers, or other control hardware. You need to program the SigmaDSP to interface with these correctly. Here are some guides for doing that:

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

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

Here are some example projects using the ADAU1701's GPIO: https://wiki.analog.com/resources/tools-software/sigmastudio/tutorials#adau170x-compatible_example_projects

I hope that helps.

JackieTan Reply
Nov 25, 2012 00:00

Hi BrettG

Thanks for your helpful suggestions. I will generate kinds of table to store all parameters, I think it is the fastest way but I have to do a lot of jobs to copy all of them from the capture windows. Is there any easy way to copy the capture windows?

A very important question , please see attachment. It is a reverb program I designed. I need a karaok echo sound. But it is too bad. I know due to memory limitation it can not be a hall effect. Thanks in advance.

BR/Jackie

JackieTan Reply
Nov 26, 2012 00:00

Hi

To copy capture window data, I will select those lines and save them as raw data.

About reverb, is there an ADI algorithm for ADAU1701?

Thanks,

Jackie

KJBob Reply
Nov 27, 2012 00:00

Hi Jackie,

I'm afraid that ADI has no reverb algorithm for the ADAU1701 -- please see this post for more info:

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

The ADAU1701 has 2048 words of data RAM, of which perhaps 2000 can be used for delay. This

works out to just over 40mS at 48KHz. Sound travels at about 1000 feet per second, or one foot each

millisecond. Thus, a reverb algorithm with 40mS simulates the reverberation you'd get from a wall 20

feet away (a 40 ft. round trip). That's not a particularly huge room. If you divide this delay in two

for stereo, you're down to 10 feet, even worse. Karaoke machines I've used mix the singers' mics

down to one (mono) channel and apply reverb to that. A mono reverb can use all the available delay

time, allowing for better sound.

ez.analog.com/.../7217.912dbeae1e55bda5ce86e608eee1981f.html

The attached project shows a mono reverb with filters in the delay path. Real room

reverberation has multiple reflections that tend to cancel frequency extremes. Filtering these out

makes the effect more natural.

Karaoke music (from CDGs, etc) normally is not routed through the reverb. Unfortunately, the

-1701 only has two ADC inputs, so you'll need a second -1701 (or a larger DSP) to run your mics while

also handling stereo EQ, etc. for the music. Other SigmaDSPs have more delay (data RAM)

available, but the -1701's built-in codec makes it easier to design with.

Best regards,

Bob

JackieTan Reply
Nov 27, 2012 00:00

Hi Bob

Thank you very much for your sample project. I can see 1701 can not process reverb algorithm well due to lack of RAM.

For farther study, if there is enough memory in 1701, I will input music from ADC_IN0/1, and use ADPM441, which is a MEMS microphone and it can output digital sound through I2S. I can connect it to SDATA_IN0. How do you think? I think the vocal and music can be processed by 1701 independently. Am I right?

BR/Jackie

KJBob Reply
Nov 27, 2012 00:00

Jackie,

You're correct. The ADAU1701 data sheet (page 16) says, "The ADAU1701 can operate with digital or analog inputs and outputs, or a mix of both."

Bob

JackieTan Reply
Nov 27, 2012 00:00

Hi Bob,

Good! I havn't try it yet, now no need to worry about it. I'm very happy! Thanks.

One question, sorry for so many questions... -- Is there a Bypass logic? So I can skip a block when need.

BR/Jackie

ADIApproved Reply
Nov 27, 2012 00:00

Jackie,

You can use a Switch cell (from the Multiplexers folder) to bypass a cell:

Some cells (like filters) also have a little blue button that you can click to bypass the cell.

85a12653a6de9c1d51833f10734d32da.jpg
85a12653a6de9c1d51833f10734d32da.jpg
85a12653a6de9c1d51833f10734d32da.jpg-377x301.jpg
85a12653a6de9c1d51833f10734d32da.jpg-377x301.jpg
14b7310346e277297ac868841e316e54.jpg
14b7310346e277297ac868841e316e54.jpg
14b7310346e277297ac868841e316e54.jpg-102x100.jpg
14b7310346e277297ac868841e316e54.jpg-102x100.jpg
JackieTan Reply
Nov 27, 2012 00:00

It works! I love it!

Have a nice day!

Jackie