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

Introduction, and some questions about ADAU1701

SigmaDSP & SigmaStudio Audiodude Apr 29, 2018 00:00 2 replies Original on forum ↗
Subscribe
Audiodude Question
Apr 29, 2018 00:00

Hello everybody who reads this. my name is John and i'm from the Netherlands.

=

=

I own a lot of older Dynacord power amplifiers. They are very well builded. They do not have lots of power or are lightweight builded, but the sound quality is extremly good! I love them!

But i also loved DSP based amplifiers. They have lots of options, while the Dynacord amplifiers are pretty

straight. They have some options, but these are pretty outdated. But still i love the sound..

So i was thinking... why not combine best of both worlds, and replace the standard input PCB for a new one with DSP? And at this point the Analog Devices ADAU1701 makes his introduction!

But there was another problem: i'm a real analog guy. Programming and that kind of things are really not my thing,

so i was a little bit scared that this was a point to far... but if you do not try, you will never know!

=

=

So i designed a PCB with the layout rules from AD. It's a nice small PCB with an 8 pins DIP eeprom. The only thing i not included into the PCB, where the analog audio components, like input/output buffer opamps. I decide to make a sort of modulair PCB with all the necesery digital things and create for each application its own sort of mainboard, so i can use it not only in my Dynacord power amplifiers, but also in other equipment, or maybe stand alone. The PCB was created by Ceeed studio. They where the cheapest and in the past i had very positive experiences with the material and the customer service. And again, this time the PCB's where very nice!

=

=

At this point i builded the DSP. I added pinheaders into the design for all the in- and outputs (also the GPIO pins).

After this was done, i solder the DSP onto an experimental cardboard PCB with an 3V3 power supply. They do not have real tracks, so everything needs to be connected with wires. I had an other Dynacord power amplifier (Dynacord S900) which was easy to modify so the PCB could be connected to it for testing purposes. At this point, i didnt not have a programmer. I decided to make a very simple "input straight to output" design in Sigmastudio and program this with an eeprom programmer into the eeprom. On the internet i found a simple program to convert the AD hex into

an intel HEX. I program the eeprom with the programmer, and hope for the best!

=

=

And then... I was astonished... the DSP produces sound! And the sound quality was far above my expectations! And i was very proud! Me, never programmed anything before, has created a (at this point simple) DSP with very nice sound quality! Also there was hardly noise audible! Great!

=

=

Than i decided to create an programmer for real time debugging and programming. PCB was also make by Ceeed Studio. And i was a little bit nervious, because i suppose that programming the DSP with Sigmastudio was the hardest part. But i was so very wrong! After reading a lot on google and a couple of evenings experimenting i make my own very powerfull DSP with all the functions i ever need! Some functions are also selectable and configurable by the GPIO pens! It works like a charm, really!

=

=

So why make this new discussion? Because i have a couple of questions. Maybe they are very easy but rememeber, i'm a newby and very noob with this sort of programming things.

=

=

Here are the questions:

- I would like to create a "bridge" between the 2 DAC0 and DAC1 output, wich can be closed with an swich to one of the GPIO ports. I would like to convert the stereo output signal to mono by using a simple switch. I can do this with components on the PCB, but it's real easier if the DSP can provide this function.

=

=

- I would like to connect a LED Array driver IC. The A6276E which is mentioned in the help files is hard to get. I'm going to try to replace with an easy to get Texas TLC5916 or TLC5917 driver. I also ordered the A6276E from eBay if the Texas IC's do not work. I allready find out that it's possible with the Led table tocreate an external output LED meter. I allready installed the DLL in SigmaStudio. But i would like to know if it's possible to have beside the Level meter, also have some indication leds for indicating things like bridge or protect from the same LED driver array. The power amplifier itself provide all the signals which i can easelly connect to the ADAU1701, but i would like to know how i can get these routed to the right LED.

=

=

- In the evaluating doc's there is drawn a schematic. It use one 20K potentiometer to one of de ADC inputs. Is it possible to use a 10K potentiometer just to create a gain stage?

=

=

- Some filters are indicated with single precission, others with double precission. Can you tell me the difference? Maybe the doubles are more precise but uses more resources?

=

=

These where all my questions (for now haha). I hope you can answer these. And sorry for the long text. Also, my english language is not all the best, sorry for spelling errors!

=

=

Thank you very much!

=

=

(edit: for some reason the spaces between the text disappeared. Added the "=" marks between for better readability)

Audio Signal Processors

SigmaDSP Audio Processors

adau1701

DaveThib Reply
Apr 30, 2018 00:00

Hello audiodude,

Welcome to the world of SigmaDSP!

Use this forum, there is a lot of information already on the forum. Search the 1701 and GPIO and you should find a lot of examples. Some of the other SigmaDSPs use many of the same blocks so you can get some ideas there as well.

Now, I am assuming you were not thinking of actually shorting the two DAC outputs together to make mono? This is not how it is done. You would need some resistors to isolate the outputs from each other and sum the two signals. However, you are correct. This is easily done inside the DSP.

Your question about the filters. They are IIR filters so when you have to process low frequency data you need more precision to avoid truncation errors. So for low frequencies you should use double precision. It is a good idea to use double precision everywhere unless you start running out of MIPS. If I remember correctly, a rule of thumb is to use double precision if the corner frequencies are less than 10% of the nyquist frequency. Others reading this please chime in on this.

A 10K pot would work fine to drive the AUX ADC to setup an external gain control. It will draw more current from the 3.3V power supply than the 20K but it will not be a problem. For people who run the circuits off of batteries they need to conserve power as much as possible so they would use a 20K or higher resistor.

Dave T

Audiodude Reply
May 1, 2018 00:00

Hello Dave T

Thank you for answering my questions. I tried an 10K potentiometer, and it works very nice! Thank you for explaining me the function of the single precision filters versus double precision. I was not meantioned to tied up the DAC0 and 1 output fysically, but just in the sigma DSP program. I found a way to do this, triggered from an external switch. Works very nice!

So far so good. Now i have another question.

I would like to use one ADC input to control 3 different leds (just for testing, later i gonna use this for real functions). I have connect the 10K potentiometer to ADC0 input. In sigmastudio, i choose an ADC auxilarry input and configure it to ADC0. I connect a DSP readback to check out if the input works, and it does. I get values like 0.003906250 (potentiometer fully counter clockwise) to 0.99609370 (potmeter fully clockwise). So i assume this is working good.

Now i would like to connect a tolerance analyzer so i can make a decision which LED to control. But at this point i'm stuck. What i do, the output of the tolerance analyzer Always stays at zero. I checked this out with a second DSP readback. So i think i'm doing something wrong.

Can anybody help me?

Edit: I can confirm that the TLC5917IN works with the ADAU1701. I build an LED output array with 8 Leds, and it works great! I think its the best replacement for the A6276AE driver (this one has 16 led outputs), which is obsolete.