Post Go back to editing

Simple example of ADAU1445 application to control analog input.

Hello Analog team, 

can you present simple application for ADAU1445, where we can connect external uC (like ESP) to control it? The most critical options we need:

- input volume gain/attenuate (from mute to + 20dB)

- apply tone control like baxandall regulation, using external uC 

- apply simple 5 frequency EQ (frequency modifable)

- apply low pass filter on demand

- (optional) input selector.

We would like to prepare simple board where number other elements will be deployed.

We want to start an experience with SigmaStudio. 

Maybe external uC will not be needed, but it depends on application 

best regards

Maciek

  • Hello Maciek,

    Everything you mentioned is easily done with SigmaStudio and everything that SigmaStudio can control via the GUI can be done with an external controller. There are many posts that detail this but there are some small differences between the different families of SigmaDSP parts. 

    How did you decide to use the ADAU1445? 

    Did you purchase an evaluation board for the ADAU1442? The ADAU1442 is the part in the family that has the most resources. It is wise to use it to develop your application then once it is done you can look at the MIPS and memory usage to see if it can be run on the 1445.  

    If you draw up a block diagram showing exactly what you need I may have a project that can get you started quickly. 

    Let me address your list:

    input volume gain/attenuate (from mute to + 20dB)

    Easily done with a volume control out of the library. There are several choices, some with slew to prevent zipper noise and some without. If it is a setting that is set during calibration then not moved again, then you do not need slew. 

    All the volume controls can be controlled externally. 

    apply tone control like baxandall regulation, using external uC

    This is just two shelving filters. That is easy to implement. How it is controlled will dictate what is the easiest way to implement. There are many ways to do this in SigmaStudio. If you want simply +/-10dB of attenuation in 1dB steps you can use an index controlled filter. It is much simpler to control from an external controller. If you want more fine control and changes in frequency then you will have to load in new filter coefficients. This is more complicated. There are some other options but this is why detailing how you want something controlled and the resolution can help decide which block to use. 

    apply simple 5 frequency EQ (frequency modifable)

    Do you mean one band, or filter, that can have five frequencies or do you mean five filters set to different frequencies and to be able to modify the frequency? This can possibly be done with an index controlled filter but may have to be done by the controller downloading new filter coefficients. 

    apply low pass filter on demand

    This can easily be done with many of the filters. Most of them have a bypass button that can be controlled externally. If not then you can use a MUX, a switch, to switch it in or out. If you are using a GPIO line going out to a physical switch to do this then using an externally controlled MUX is the way to do it. 

    (optional) input selector

    This is easy to do using a MUX, a switch, that can be externally controlled or not externally controlled. The one that is not externally controlled can still be controlled by a micro-controller but not via a GPIO. That is the difference. Anything you can control using SigmaStudio can be replicated by an external uC. 

     

    Dave T

  • Hello Dave,

    thank you for your attention. I would like to build my own evaluation/prototype board (i do not have EVB), based on information you can pass to me Slight smile.

    Here is a simple diagram, what I expect from prototype at beginning:

    Input and output is just simple stereo signal.

    I understand, I need dedicated programmer to deploy software generated by SigmaStudio to DSP, right? Or I can use the ucontroller like stm32 or esp32 to do it?

    If you could give a simple schematic for above "needs" I can build by myself to start "playing" with DSP

    thanks in advance

  • Hello Maciek,

    I suggest you get this eval board:

    EVAL-ADAU1452RevBZ Evaluation Board | Analog Devices

    It will come with the USBi programming interface. Then you can get an eval board for the STM32 and connect them together using SPI. 

    This way you can work on your program using SigmaStudio and get that all worked out, of most of the way. Then introduce the STM32 which is a bit of a learning curve to get it to control the objects in the DSP. So take this one step at a time. It will save your hair from being pulled out. 

    If you develop most of the application using SigmaStudio then download the program to the EEPROM on the eval board. Then you have the DSP selfboot and just start with getting the STM32 to control the DSP and not have to boot it up. Then if you want you can work on that part once the basic control is working. 

    If you want to see a schematic you can download the eval board user guide. There is a schematic in there. 

    As far a a SigmaStudio schematic, I would need a block diagram of the audio path in the DSP from the inputs to the outputs and what you need to do with the audio in the DSP. Then I can send over an example file to get you started on the DSP program. 

    Dave T