My new minisharc dsp audio preamplifier/crossover project

Status
Not open for further replies.
Hello to everyone,
I would like your opinions about the following:
I have made a 3 way active speakers using analog active crossover and i am happy with it. I thought about using a dsp for a phase correction. What would you do ? Use the dsp only for phase correction keeping my active crossover or using it as Fir linear phase crossover. In this case i would not need anymore my analog active crossover.
The speakers are seas excel 3 way in closed box and the crossover was developed exactly for that speakers using measurements etc.
So what would you do? Is it worth the hassle?
 
yes i thought that too. Less is better. I want to use the minisharc unit. Do you think it is worth the money needed for the complete setup? (minisharc,adc, dad's, power supply etc) I mean the linear phase speaker is that important for the sound? it is a huge difference?
 
yes i thought that too. Less is better. I want to use the minisharc unit. Do you think it is worth the money needed for the complete setup? (minisharc,adc, dad's, power supply etc) I mean the linear phase speaker is that important for the sound? it is a huge difference?


What are your input and output requirements? Analog in? Analog out?

You say active speakers and it seems like around here most folks run SPDIF to such things rather than an analog signal.

If you are running a digital input and analog outputs, I would suggest you ditch the analog crossovers and any other analog components in the signal path and get yourself a miniDSP OpenDRC. We have been using one for a few months now and it's perfect for what you are trying to do.

It has enough grunt to handle 1536 tap FIR filters on 6 output channels @ 48KHz sample rate.

If you need 96KHz you're limited to around 3000 taps total to use across all of your output channels. Bear in mind you can do something like a 96dB/oct "nearly-brickwall" filter with as few as 550-600 taps, so as long as you aren't trying to get too fancy, you can potentially make it work @ 96KHz.

Alternatively, I would also say if you need more processing power than that, just get two of them. You'll save money in the long run.

Just my 2 cents!

Edit: OH but the OpenDRC comes with SPDIF (coax... we had to put an Optical -> Coax converter on it) input only. It has I2C onboard that you can tap in to if you know what you're doing, though, and I am sure they would help you out with integrating one of their ADC frontends if you wanted to get it from them.

Or you can just get the kit and the front and backend boards you want and piece them together, but the OpenDRC comes in a nice little box with a wall wart and it's ready to go. Apple TV remotes work with it out of the box for volume control and whatnot, too. It's pretty slick.
 
Last edited:
hi,
i am designing my own circuit-pcb that will use the minisharc pcb. That board will have 2 analog inputs, 2 isolated spdif and 1 optical inputs, one usb streaming input, one i2s expansion input, 6 analog outputs and one isolated spdif output. As the input selector on the analog side will be one relay , ADC the CS5381, for digital input selection (between ADC-spdif-optical) the CS8416 ic, for i2s selection (i2s bus switch between CS8416, I2s or usb) i will use the 74AC11257, then the i2s signal will go to the minisharc dsp and the i2s outputs to pcm1794a Dac's. After the analog section (opa2134) of those dacs there will be a cs3318 volume control ic. All the ic's will be controlled using pic16f877 micro controller.
I have done this ic selection very carefully. If you have to suggest something else please do it.
After many hours of reading and internet searching i have the following questions.
1. the minisharc i2s (bclk, lrclk) outputs directly to all dasc and only the mclk via the cdcv304 clock buffer? or all clk's via cdcv304?
2. all the i2s via a buffers like SN74lvc245a? (minisharc bclk,lrclk,mclk and data to the buffer and then the clk lines parallel to all dacs?)

3.the micro controller outputs which will be controlling all the peripherals should they be isolated? for example using SI8445 isolator. Then the micro controller can be powered with 5volts and the others chip with 3,3volts and will have separated grounds.

please help me with the above if you can. thank you.
 
Last edited:
hi again,
finally i found time to design the pcb. I send the pcb files to pcbway.com as always for the pcb manafacturing. The cost for 5 pcb's was about 150$ (4layers gold plated) On the photos you can see the pcb quality. The soldermask and holes are very well centered and the silkscreen is fine. The size is 130x230mm. I have already soldered a few components on the board. Soldering 805 size and tsop ic's is little difficult and time consuming. So far i have completed the input part of the board. I have working adc (cs5361) and digital receiver (cs8416) and spdif in-out level converters. (the minisharc need level 3,3v so level converters are needed). Also the pic microcontroller is working fine (lcd, infrared control, encoder and communication with the other ic are ok). So far i have only checked the waveforms using oscilloscope - i dont have the minisharc yet. the next week i will have the minidsp unit so i will be able to test the input signals with it. Now i have to solder the output components (DAC's with pcm1794a, opamps and the CS8316 for volume control).
For opamp i finally choose the opa1642 and everywhere on this board i am using this type (total 19 opamps). I hope that when i receive the minisharc everything will be fine because i have invested a lot of time and money in this unit. The purpose of doing it is because i want to make my speakers, (active with analog crossover) time coherent and see the difference. Later i will add a usb to i2s pcb so i can stream audio from my pc. For that purpose i have a i2s isolated input already on this pcb. So, what are yours thoughts about this design? it is waste of time-money or it is worth it? My speakers are 3way Seas excel units whitch needs some equalizations. My purpose , as i already mensined before, is to use this board as FIR filter. Do you thing that if i will use the 96khz plugin for the minidsp it will have a sound difference vs the 48khz plugin? Using the 48k i will have more taps available so which will be more suitable for me?
On the photos you can see the input connectors, 3 analog stereo inputs, 2 coax inputs, 2 optical inputs, second independent direct to minisharc coax input (yellow) and one coax output (yellow). I have already designed the power supply board (which i will build after the completion of this pcb and only if everything will be ok). The power supply will have three outputs. The first +5v for the microcontroller section which i isolated from the rest circuits, second +5v rail for all the ic's which needs +5v (from this +5v almost every ic's have a dedicated 3,3v low noise voltage regulators-total if i remember 13pcs on this board) and of course third output +12V and -12V for the opamps and the cs3318 volume control chip which again have its own ultra low noise regulators to +9V and -9V.
 

Attachments

  • 7.jpg
    7.jpg
    417.2 KB · Views: 1,068
  • 3.jpg
    3.jpg
    689.4 KB · Views: 285
  • 4.jpg
    4.jpg
    453.7 KB · Views: 322
  • 5.jpg
    5.jpg
    561.5 KB · Views: 296
  • 1.jpg
    1.jpg
    629.4 KB · Views: 281
  • 12.jpg
    12.jpg
    688.5 KB · Views: 995
  • 10.jpg
    10.jpg
    444.7 KB · Views: 1,011
  • 9.jpg
    9.jpg
    952.7 KB · Views: 1,035
  • 8.jpg
    8.jpg
    887.8 KB · Views: 1,075
Last edited:
That is a very impressive I/O board!

You ask if it is "worth it" and that's a question that is so utterly subjective that only you can answer it.

The cheap and easily available analog I/O add-on boards from MiniDSP are really not bad to start with, so you could have saved a lot of time and money potentially, but that's not really what this is about, right? Doing it yourself, your way is half the point.

So in that sense, once you have that beautiful PCB fully populated and tested, the DSP board connected and programmed, and you fire up the music for the first time...only then can you decide for yourself whether or not it was worth the time and money.

I'm betting that you're going to decide that it was. ;-)

Using the 96KHz "plugin" on a '6-way' setup will severely limit you. ~3000 taps is really not enough.

Your level of expertise is such that you could integrate your front end solution on any DSP solution you want, as long as I2S is supported, so why not look at other embedded options?

One that springs to mind (since 'overkill' is the theme here) is the BeagleBoard X15.

The test results I've seen from DSPConcepts say the Cortex A15 cores used there are more powerful by a factor of 2 or 3 than the fastest model of SHARC (by virtue of the A15s being clocked at 1.5GHz) and the chip on the miniSHARC is a midrange model, not the top end 450MHz unit.

This is before you consider the fact that the Sitara CPU on the X15 has not only the two 1.5GHz cores with NEON floating point and SIMD extensions but two actual TI C66x DSP cores with full access to the onboard DDR3 memory. You can do DMA operations that move buffer data back and forth from your general purpose processors to the DSPs, leveraging parallelism even further to get some truly monstrous performance out of the thing.

And since it is a REAL computer, once you have your base initial configuration working, is, DSP only, you can make move on to setting the unit up to be a media hub and playback device as well, so streaming from your PC may become an 'old and busted' way to consume your music, now you could just have the X15 stream from your web music service, or play from a USB, SATA or PCI Express storage device, all of which the X15 supports, right out of the gate.

An X15 solution would require a lot more R&D time on your part, but what you want to do can be accomplished using open source technologies that will allow you to do whatever you can dream up, rather thsn being stuck with only what miniDSP cares to allow you to do. The miniSHARC is a great way to get into a real DSP quickly and easily, but it has its' limitations, and in my opinion if you saddle that awesome I/O board (I keep wanting to call it a "sled") with such a small and limited DSP unit, the "is it worth it" judgment call becomes a lot less certain. Just my opinion though.

Either way you're going to have a great setup, but I strongly urge you to imagine how awesome having a fully integrated media console powered by an X15 and managed via a web interface, a touch screen, mobile app, or anything else you can dream up would be, sitting in your living room. (The thing could even be your actual media source, driving the HDMI input on your TV for video and your speakers for the audio!)

Here's the wiki page on the X15. The "public" release of the thing is only just now becoming available, and most of the units are in Europe, which is where you are I think, so that's no obstacle for you. Check it out! If you have any questions post up here or PM me, I've done a fair bit of research on using ARM-based SBC solutions for DSP so I may be able to save you some time.

Beagleboard:BeagleBoard-X15 - eLinux.org
 
hi
yes i already know and if it is gonna to be working then yes it is worth it for sure. 🙂
The minisharc has 9600 total taps at 48k and 4300 at 96k. 2048 taps max per channel in both sample rates. So you are saying that i am gonna to need more taps than 4300? I have not done any simulation using fir filter so far but i will not need slopes more than 24-36db/oct. I have dip switches on the pcb and i can very easy change the sample rate of the adc from 96 to 48k but even this is not needed because the minisharc has its own asrc on board.
 
inn the minisharc manual says 4300 taps at 96k but the plugin manual only 3400. Maybe this is a manual typo or the software has its limitation. Anyway, they are selling both plugins 48k and 96k at one cost.
probably i will use the 48k. I thing there is no benefits for me by using the 96k sample rate.
i just thing that the adc and dac's and the quality of the components around them (of course the power supply also) is far more important for music quality.
What is your opinions about this?
mainly i listen to music from my cd player (44,1k) and sattelite receiver (48k).
As i can see from the minisharc spec. they are using the sharc 21369 processor at 333mHz. From the analog devices website i can see i can be clocked at 400Mhz. Probably there must be some reason to running them at slower clock.
 
inn the minisharc manual says 4300 taps at 96k but the plugin manual only 3400. Maybe this is a manual typo or the software has its limitation. Anyway, they are selling both plugins 48k and 96k at one cost.
probably i will use the 48k. I thing there is no benefits for me by using the 96k sample rate.
i just thing that the adc and dac's and the quality of the components around them (of course the power supply also) is far more important for music quality.
What is your opinions about this?
mainly i listen to music from my cd player (44,1k) and sattelite receiver (48k).
As i can see from the minisharc spec. they are using the sharc 21369 processor at 333mHz. From the analog devices website i can see i can be clocked at 400Mhz. Probably there must be some reason to running them at slower clock.

Yes the 3400 number is the correct one. The 4300 is probably the "theoretical" maximum based upon the 400MHz clock speed for that family of chip, but as you noticed, they don't run it at 400MHz.

So 3400 split in half (for stereo operation) yields only 1700 taps per channel, which is really not enough, for me anyway.

I would suggest that you download rePhase (free software) and play around with building some FIR filters to see how many taps it really takes to make a smooth output. Once you have a firmer handle on that, you can make your decisions accordingly.

I must say though, according to the benchmarks I have been able to find out there (mostly from DSP Concepts) a pair of A15 cores at 1.5GHz, before you even factor in the dual C66x DSP cores @ 700MHz, is roughly equivalent to 5 or 6 full speed (450MHz) SHARC cores, not including any overhead. Supposedly there is a Beagle/ARM specific release of AudioWeaver coming for enthusiasts to use that will be easy to use and low cost, that'll make doing your own DSP almost trivial.

I would just strongly caution you to consider an ARM-based solution before throwing all in with the miniDSP. It's not a bad product, but if you're doing THIS MUCH custom work, why stop there?
 
today i soldered almost all remaining parts except 4 pampas which i don't have yet. So, after i put all the parts i had , including the minisharc i fired it up and start checking if and how it works.
The mini shark is working at 48k sample rate, the analog to digital converter also (but it can be changed to 96 or 192 via on board dip switch). The shark recognise the i2s input and shows input level. The cs8416 is working fine also. All the inputs can be switched via remote or rotary encoder and be displayed on the led display. The communication to the cs3318 digitally controlled volume control ic is working fine. With the oscilloscope i can measure about 1mVpp noise at the analog outputs when there is no signal at the input and with the volume at max level (+22db) Of course i will never use that level with my power amplifiers. When the level is lower (for example -20db) then the noise is about 5 times lower but again that volume level is high. The sine waves i tried from 20 to 20khz have no visible distortion at all (always using only oscilloscope).
I noticed that the opamps in the dac I/V stage get quite hot. (of course you can keep your finger on it). I measured the opamp current drawn and on the negative rail the current is higher.
Also the cs3318 is hot too so i put on it a small heatsink (but it is really not needed) which i already had from other circuit.
Now i am designing the power supply for this unit. It will use low noise low drop linear regulators. The power supply board must give the following outputs: +5v for the microprocessor circuit that will be always on (stand-by), one 5v output (from this output are powered all the ic's and almost each of them has it own 3,3 low noise regulator on the dsp board) and the +-12V for the opamps. The cs3318 is powered from the +-12v rails and via ultra low noise LDO regulators (tps7a4901 and tps7a3001) to +-9V and 3,3V from separate regulator for it's digital power needs.
I am designing now the power supply unit because i was not sure if the dsp will work but now i know that it is working fine the supply board can be build.
One think i will also need is a usb to i2s or bluetooth to i2s board. What is your opinion about this? Usb is better for sound quality or i can find a decent bluetooth for streaming music? do you have to suggest some boards? There is no need for these board to have isolated i2s output because my i2s input is already isolated.
 

Attachments

  • 20161125_195327.jpg
    20161125_195327.jpg
    494.4 KB · Views: 416
  • 20161125_164501.jpg
    20161125_164501.jpg
    471.4 KB · Views: 414
  • 20161125_195400.jpg
    20161125_195400.jpg
    437.2 KB · Views: 422
  • 20161125_195336.jpg
    20161125_195336.jpg
    435.1 KB · Views: 420
  • 20161125_164400.jpg
    20161125_164400.jpg
    537.1 KB · Views: 428
  • 20161125_195309.jpg
    20161125_195309.jpg
    875.9 KB · Views: 176
today i soldered almost all remaining parts except 4 pampas which i don't have yet. So, after i put all the parts i had , including the minisharc i fired it up and start checking if and how it works.
The mini shark is working at 48k sample rate, the analog to digital converter also (but it can be changed to 96 or 192 via on board dip switch). The shark recognise the i2s input and shows input level. The cs8416 is working fine also. All the inputs can be switched via remote or rotary encoder and be displayed on the led display. The communication to the cs3318 digitally controlled volume control ic is working fine. With the oscilloscope i can measure about 1mVpp noise at the analog outputs when there is no signal at the input and with the volume at max level (+22db) Of course i will never use that level with my power amplifiers. When the level is lower (for example -20db) then the noise is about 5 times lower but again that volume level is high. The sine waves i tried from 20 to 20khz have no visible distortion at all (always using only oscilloscope).
I noticed that the opamps in the dac I/V stage get quite hot. (of course you can keep your finger on it). I measured the opamp current drawn and on the negative rail the current is higher.
Also the cs3318 is hot too so i put on it a small heatsink (but it is really not needed) which i already had from other circuit.
Now i am designing the power supply for this unit. It will use low noise low drop linear regulators. The power supply board must give the following outputs: +5v for the microprocessor circuit that will be always on (stand-by), one 5v output (from this output are powered all the ic's and almost each of them has it own 3,3 low noise regulator on the dsp board) and the +-12V for the opamps. The cs3318 is powered from the +-12v rails and via ultra low noise LDO regulators (tps7a4901 and tps7a3001) to +-9V and 3,3V from separate regulator for it's digital power needs.
I am designing now the power supply unit because i was not sure if the dsp will work but now i know that it is working fine the supply board can be build.
One think i will also need is a usb to i2s or bluetooth to i2s board. What is your opinion about this? Usb is better for sound quality or i can find a decent bluetooth for streaming music? do you have to suggest some boards? There is no need for these board to have isolated i2s output because my i2s input is already isolated.

Hey there, glad to hear it's all working!

Didn't know you already had the miniSHARC, I wouldn't have filled your thread with all that info if I'd known you had already bought it. 😉

If being tethered to a USB audio source is palatable to you, it's hard to beat this:

https://www.minidsp.com/products/usb-audio-interface/ministreamer

If you need more than two channels, they have a different version that supports 8 channels of input and output.

Have fun!
 
The plugin for the Minisharc suports one set of I2S inputs and one set of SPDIF inputs. To switch between these, you use two configs, with routing from one set of inputs or the other as needed.

The ministreamer can then be used to handle USB sound input.

I'm using a ministreamer in a separate box to get measurement signals from REW into my OpenDRC.

I've added an AN-FP module to handle analog in.

Johan-Kr
 
Last edited:
Help me understand something, what does your custom setup gain you over using MiniDSP's off the shelf front end modules?

I have to assume that you're getting some performance benefit, but what, specifically, motivated you to go to these lengths?
 
hello,
i believe that it is better for the following reasons:
1. one board without wires and cables means shortest connections and better noise performance
2.ability to choose the components you want - better quality components (dac,adc) better design (for example separate ultra low noise linear regulators everywhere etc.) - without the cost limit factor
3. using the minidsp components i could not have this combinations of in-outs
4. multichannel analog volume control - the benefits are well known
5. using muting relays on outputs to eliminate any power on-off noises - very important

that way i design it i will have only 2 pcb's one the mainboard and the other one the power supply which i have already designed. 🙂

using the minidsp boards i would need many separate pcb's plus power supply pcb (minisharc, input boards, dac's, clock buffer/driver for dac's, output relay and many more.)

i believe that is much better to have it all on one well designed pcb using very good quality component where needed.
Sh0velman than you for asking i am always happy to hear others member opinion. 🙂
 
also noticed that this has 6 analog outputs. 8 Ch for 4-way loudspeakers would have been great.

Just a theoretical technical question:
Is it possible to bank two nanosharc boards running synchronized from the same I2S inputs and driving 4 DAC channels each.
Basically is this a feasible way to achieve higher taps?
I believe clock distribution and keeping the channels synchronized is a serious board design challenge. Just looking for your thoughts.
 
also noticed that this has 6 analog outputs. 8 Ch for 4-way loudspeakers would have been great.

Just a theoretical technical question:
Is it possible to bank two nanosharc boards running synchronized from the same I2S inputs and driving 4 DAC channels each.
Basically is this a feasible way to achieve higher taps?
I believe clock distribution and keeping the channels synchronized is a serious board design challenge. Just looking for your thoughts.

I can't speak to whether ioannidis' solution can do this, but using, say, an AD1938 codec, you can have the I2S targets run in slave mode against the '1938's internal clock source, or clock them all against a high quality crystal, so "yes" is the short answer.

ioannidis can speak more on what the ICs he is using are capable of doing.
 
hello,
i believe that it is better for the following reasons:
1. one board without wires and cables means shortest connections and better noise performance
2.ability to choose the components you want - better quality components (dac,adc) better design (for example separate ultra low noise linear regulators everywhere etc.) - without the cost limit factor
3. using the minidsp components i could not have this combinations of in-outs
4. multichannel analog volume control - the benefits are well known
5. using muting relays on outputs to eliminate any power on-off noises - very important

that way i design it i will have only 2 pcb's one the mainboard and the other one the power supply which i have already designed. 🙂

using the minidsp boards i would need many separate pcb's plus power supply pcb (minisharc, input boards, dac's, clock buffer/driver for dac's, output relay and many more.)

i believe that is much better to have it all on one well designed pcb using very good quality component where needed.
Sh0velman than you for asking i am always happy to hear others member opinion. 🙂

All great answers!

I applaud your ambition, I was just curious what gains you were hoping to realize. I agree on all points, just wanted to know for your situation specifically.

I am conflicted about using a DSP solution + custom front end vs "rolling my own" from end to end, meaning DSP functions on an MCU or SBC-style CPU (like an A15, for example).

Each has its' own distinct benefits and challenges. The biggest one, for me, in using the miniDSP SHARC products in particular is that I absolutely loathe their software implementation, and I have not been successful in getting them to surrender any build data that would allow for custom firmware, not that I can really blame them, I suppose, but I wish they'd take that final step and open-source at least everything up to whatever passes for a 'bootloader' on their platforms so that customers could develop custom firmware in the toolchain of their choice and use the miniDSP software simply to upload the binaries. If they took this step, the choice would be a lot simpler for me, especially given that they've moved up to a newer SHARC with a lot more grunt only very recently.

'Wish in one hand...', as they say.
 
Status
Not open for further replies.