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

Need some help selecting a DSP chip to use, some questions

Processors & DSP justin-zazzi Jul 2, 2017 00:00 8 replies Original on forum ↗
Subscribe
justin-zazzi Question
Jul 2, 2017 00:00

I'm an engineering student and this is my first post. I'm hoping this is the best place.

I would like to build a DSP with the specifications listed at the bottom of this post. I have spent some time browsing the SigmaDSP processors and I believe the ADAU1401A will do most of what I want and includes both ADC/DAC, but the ADAU1452 seems much more powerful however I would need to specify and design the ADC/DAC stages as well (I'm not opposed to this, just need to learn how to do that too). This will be a multipurpose learning project with possible applications as a car audio processor, or a 2.1 processor for a desktop speaker system, or a 4.0 processor for a bluetooth speaker system. Eventually I will concentrate on selecting a bluetooth module, audio amplifier, power supply and battery charger, but those will be other posts later.

My questions are:

1) Should I concentrate on the two SigmaDSP chips I listed above, or should I also consider something from Blackfin or SHARC or TIGERsharc too? I read the SHARC chips sometimes have more ram or longer time delay abilities.

2) I assume the SigmaStudio is the best environment to program all of these DSP chips, correct?

3) How much time/effort is involved in using the ADAU1452 chip and building the ADC/DAC sections myself with performance at least comparable to the ADAU1401A? Is this something I could reasonably do, or is there a lot of circuit-board level finesse that would be difficult to learn quickly?

4) For getting up and running quickly, would it be reasonable to buy a pre-made processor board similar to the Sure Electronics board below? I assume I can interface directly with the DSP chip and configure it as if I had a demo board from Sigma, but without spending the $500 for one which is way beyond my budget. http://store3.sure-electronics.com/adau1701-audio-digital-signal-processor-kernel-board

5) If I choose to build an external ADC/DAC section, it seems like I should choose a DSP chip that can supply a clock signal to the external chips, right?

6) Any other good questions I'm not asking?

--- my desired specs below:

Must do:

-2 channel analog input

-4 channel analog output

-each output channel needs multiple custom biquad filters (about 7 or more) and time delay (10ms or more)

-compatible with consumer home and automotive environments

-easy to connect to a bluetooth module for sound input, and an all-digital signal chain would be ideal

-high emphasis on sound quality in terms of THD, S/N, etc

-at least CD quality input and output resolution and sampling rate

-affordable on a student budget ~ $100 for this entire project and all related external components would be wonderful

Should do:

-digital input pins for changing the preset or signal processing (detecting headphones, detecting the use of certain output channels in use or not, etc)

-digital output pins for controlling things such as transistors, relays, LEDs, etc

-S/PDIF input either built-in or easily added using external circuitry, optical or coaxial

-single-ended and differential analog inputs and outputs (using an external ADC/DAC is ok)

-dynamic processing for limiters, thermal protection, excursion protection, etc

-at least 96khz/24-bit input and output with emphasis on sound quality

Would be nice:

-FIR filtering, possibly tens of thousands of taps

-convolution engine for each output channel

-headphone amplifier

-FFT and frequency-domain operations

-192khz/24-bit input and output with emphasis on sound quality

-digital output S/PDIF coaxial or optical, even if external components are needed

adau1401a

Audio Signal Processors

adau1452

SigmaDSP Audio Processors

ADIApproved Reply
Jul 7, 2017 00:00

Hello,

I completely agree with the answer posted by AlClark, thank you.

You would find the selection tables of SHARC processors in the following link.
http://www.analog.com/en/products/processors-dsp/sharc.html#SHARC_Processors

Regards,

Jithul

AlClark Reply
Jul 7, 2017 00:00

Given that you want to do large FIRs, you will want a board that supports external DRAM. This should be a SHARC 214xx board or a 5xx board. The best 214xx board would use the ADSP-21469 since it supports DDR2 memory which is much faster than plain vanilla DRAM. The fifth generation parts are very powerful but have a more complex learning curve. Large FIRs are usually done with partitioned convolution (FFT based). This is an area that the 5xx really shines with its FFT accellerator but you can do still do very large FFTs in a 21469.

Al Clark

www.danvillesignal.com

justin-zazzi Reply
Jul 8, 2017 00:00

Thank you both for the information about the SHARC processors. I listed the longer FIR filtering as a "would be nice", and I will investigate that a little bit later after I have a better grasp of the fundamentals.

I would very much like to learn more about the other questions I listed, numbers 2-5 in particular.

I thought I posted this question in the Student section, it appears to have been moved. I'm not really sure why since I'm new here. Maybe the folks better able to answer these questions are browsing the Processors/DSP forum instead? Oh well.

-Justin

AlClark Reply
Jul 8, 2017 00:00

I agree that perhaps read too much into the long FIR feature. This filtered my answer to a SHARC solution.

I think you need to examine these questions:

What is your overall motivation?

Are you trying to learn more about DSPs, filtering, etc or are you just trying to make something quickly and efficiently?

Do you want to be able to use whatever you learn for future projects?

How constrained is your budget?

Since you are clearly interested in audio, I think you should really contrast SHARC and sigmaDSP. These are the familiies that are best for audio processing.

The SHARC family is the more powerful. I would suggest something in the 214xx family as a good place to start if you have the budget. The EZ Kit boards have the features you are looking for. Review the 21469 EZ kit and I think you will see that it has the features you want. SigmaStudio is also supported on the SHARC but if you go this route, I would also learn how to program in C and assembly.

SigmaDSP is easy to use since you don't need to learn programming since it is GUI based. It won't do as much and will have more limited performance than a SHARC based system.

Given that you are a student, SHARC programming experience is a far more valuable resume item, than doing a sigmaDSP project.

Al Clark

www.danvillesignal.com

justin-zazzi Reply
Jul 9, 2017 00:00

Great questions AlClark, let me try to answer them.

My motivation is to learn by doing. I want to learn a little bit about a lot of things so that I am familiar with all aspects of designing and building a fully-contained DSP on a custom circuit board in an enclosure with all the bits and bobs to make it work (for example, can I make a MiniDSP clone as a learning project?). I already know many small parts of this puzzle from other projects, but I have not yet tried to create something this advanced from start to finish. I absolutely want to use what I build in a future project, or at least be able to adapt the design to a future project. My budget is a typical student budget and so while I cannot spend much on this, I am willing to stretch a little since this is very important to me. I'm hoping to keep all the initial software and material costs to around $100 or less to get a "hello world" version up and running on a breadboard. The budget can be stretched some since I have student access to some resources which helps a ton. I can add a little more money later to build custom boards, make an enclosure, add artwork, etc.

My goal is to build a no-compromise DSP with my own hands that is capable of all the features I listed in my first post. To get there, I need to start small and explore/learn one aspect at a time, but I want to start down the correct path and start with the best ecosystem so that I'm less likely to run into a wall somewhere down the line and be forced to switch to a different system and learn everything all over again. I can do some coding, but I prefer to avoid it if there is a graphical interface like the SigmaStudio to use since I'm not a programmer by training or by desire. I do not need to know C or assembly or any firmware-level understanding of what is happening, and I'm happy to trust that another engineer has programmed that for me. I'm much more interested in next level up, the hardware integration of the components and getting all the parts to talk to eachother, design of the circuit for good performance, and using a development package like SigmaStudio to program it.

You mention programming in C or assembly would have more potential with a SHARC chip than using SigmaStudio. I'm not sure what features would be unlocked with coding vs using the gui. Do you have any simple examples? Most of what I want to do seems to be covered by SigmaStudio, but I haven't made it that far yet so I might be mistaken. Do you see anything on my wishlists in the fist post that couldn't be done with the gui, or could be done better with coding?

Thank you so much for engaging these questions! It means a lot to me!

-Justin

AlClark Reply
Jul 9, 2017 00:00

Using a sigmaDSP is fine from the perspective of completing a first project. The learning curve is smaller and the costs are much lower than starting with a SHARC.

You are not going to create a no compromise DSP solution with this approach however. Actually all design is a compromise of sorts. SigmaDSP solutions can be good, SHARC solutions can be better.

Graphical design tools are very useful. They allow you to create signal processing systems much faster than you can do with conventional programming. We routinely supply our DSP crossovers using similar tools, but we also write underlying code to complement the signal processing chain. Much of this code is used for communications to the outside world, digital I/O, and addressing data converter registers directly.

I am suggesting that the universe of possibilities is larger with SHARC and also by acquiring coding skills. That said, completing a first real project is an important step along the way. So start with the sigmaDSP; it will get you on a path. You can always explore other approaches later.

Al Clark

www.danvillesignal.com

justin-zazzi Reply
Jul 9, 2017 00:00

Thank you again Al Clark.

Maybe I don't know what I don't know and this is making it difficult to ask the right question.

What would I be losing out on by settling for a graphic interface, rather than coding the processor directly? What could I not do? What could I not correct for? What other amazing wonderful things is directly coding the processor capable of that I cannot accomplish with a graphic interface?

-Justin

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