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

Control parameters in SigmaStudio without  MCU

SigmaDSP & SigmaStudio zhuangqiong Dec 21, 2016 00:00 3 replies Original on forum ↗
Subscribe
zhuangqiong Question
Dec 21, 2016 00:00

Hi all,

I have used modules in sigmastudio to configure the DSP in ADAU1761.

Now, I want to write C program to control the module parameters.

I know that the files generated by sigmastudio can be integrated into the main controller(MCU)

But , here, I don't want to use an external master controller to control the module parameters

I just want to write programs in certain programming software to control parameters directly , without MCU !!

( I know the script in sigmastudio can be used, but I don't want to use c# language or Visual Basic )

Then, what programming software can I use to write C ? Can I use the codeblock?

best regards,

Thank you

Audio Signal Processors

sigmastudio

SigmaDSP Audio Processors

adau1761

DaveThib Reply
Dec 21, 2016 00:00

Hello,

You will need to communicate with the DSP in the same way as the USBi, the USB Interface we use.

The USBi is simply a USB to I2C/SPI converter. I suggest you look into the Aardvark or the Promira product. It is made to do this and it has some SDKs and drivers to be able to control it from custom software. They are in the business of supporting these sorts of applications and so they do a good job doing it. I think this will be the best solution. We do not have any support for using our interface from external programs.

Aardvark I2C/SPI Host Adapter - Total Phase

You will still need to export the "System Files" in SigmaStudio after you compile your program. If you watch the "Capture" Window you will see what SigmaStudio does to program and to then control the part. Part of the system files output are headers that you can use for your program to know where the controls reside in the DSP memory.

The ADAU1761 does not selfboot so you will have to boot up the part as well as control it. This is a little more complicated. I am not sure if the ADAU1701 would work for you or perhaps some other parts? If you supply some of the details of your application then perhaps we can help you make this project simpler.

Thanks,

Dave T

zhuangqiong Reply
Dec 22, 2016 00:00

Dave Thib,

Thank you

In fact,I will eventually use the external controller to control the parameters in ADAU1761, and I do not intend to use other chips such as ADAU1701.

Since there is no other way, I would like to directly use the main controller to control the parameters.

I find an example in other discussions about how to program a microcontroller to emulate SigmaStudioto communicate with a SigmaDSP IC in a real production system.

https://ez.analog.com/servlet/JiveServlet/download/20567-1-5355/ADAU1761_Demo.zip

But the design is a little different from mine.

My design as shown below

I want to select different processing paths according to different input sampling rate ( 8kHz 16kHz 32kHz )

Can I achieve three different sampling rates in a project ??

When the input sampling rate is different , how do I change the sample rate of the chip and whole project ??

Thank you for your time,

qiongzhuang

964fe2874c8319a55d9c44f0f13eb826.png
964fe2874c8319a55d9c44f0f13eb826.png
964fe2874c8319a55d9c44f0f13eb826.png-615x733.png
964fe2874c8319a55d9c44f0f13eb826.png-615x733.png
DaveThib Reply
Feb 9, 2017 00:00

Hello qiongzhuang,

In this part you cannot have several different sample rates going on inside a project. You will have to sense the sample rate with the external system controller and then change all the sample rate registers in the part so it is running at a different rate. This will probably require changing the PLL settings so that means shutting down the part then restarting the PLL.

The other issue is that if you happen to have cells that use the sample rate as part of the calculations then you will have problems. For instance, Signal generators will need to use the sample rate. So if it was compiled with a 48kHz sample rate and you are now running it at 24kHz, the output frequency will be half of what is expected. Generally, filters will scale so no issues there. Any timers will have issues.

So you may have to actually have different projects that are loaded each time the sample rate changes. This all depends on your application and what is in your project. You may be able to just adapt by changing the settings of a timer or an oscillator knowing that it will be different. So you probably could work around this to some extent.

Dave T