Welcome, Guest
Username: Password: Remember me

NOTE: This is a "Community" forum. Please be mindful that community members are here to help as part of a community effort. We therefore appreciate your effort in keeping this forum a happy place!

If you have a specific issue (e.g. hardware, failure) and want help from our support team, please use our tech support portal (Support menu - > Contact Us).
Thanks a lot of your help in making a better community.
  • Page:
  • 1

TOPIC:

miniSHARC - 8 channel digital output 11 months 1 week ago #53902

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
I recently built a miniSHARC with 8 channels of AES digital output and thought it would be good to share my experience in case anyone is interested in doing something similar. I imagine there might be more interest now that the OpenDRC-DA8 has been discontinued and there are no off the shelf miniDSP options with 8 channels of output and FIR filtering. This setup could also provide 8 channels of analog output if I2S DACs were used in place of the I2S to AES boards.

Project Goals:
1) 3 digital inputs
2) 2 input channels / 8 output channels
3) FIR filtering
4) ability to use an outboard DAC with volume indication (important for WAF)

I went in to this project as a learning experience and was fully prepared for it not to work out. As a result I did not order all the parts at once and went at it step by step. I consider myself a beginner to intermediate DIYer and had never done anything with I2S or SMD soldering prior to this project. In terms of the electronic work I got by with an old 100 MHz scope, a DMM, a standard soldering iron (Weller WP35) with a 1/32" conical tip and solder pump.

I first purchased two types of I2S to AES/SPDIF boards based on the WM8805 chip. I bought these on yoycart directly from China but the same boards are available at Audiophonics. The single output board is also available with coaxial or BNC outputs instead of AES.

www.yoycart.com/Product/540236665171/Sup...USB_interface_to_RCA
www.yoycart.com/Product/556563118257/XMO...USB_digital_interfac

For initial testing my goal was to use a single board to provide an AES output from the miniSHARC I2S header. I found the board with the coaxial/TOSLINK/AES outputs more forgiving in this configuration. That board was essentially plug and play with no issues. The board with the single AES output was very sensitive to grounding and only worked well if only one ground was connected. Admittedly I did not play around with termination at this stage and only used 3" long dupont wires for connection. For this project I preferred the single output board as it has a substantially smaller footprint than the multiple output board.

While doing research for the project it became clear that a buffer should be used when splitting clock signals. As I do not have the technical background to design one myself I was forced to look at off the shelf options. I ran across Ian Canada's McFIFO / McDual XO on the DIY Audio forum which seemed like a good fit for this project. The McFIFO / McDual XO should also provide some jitter reduction although that was not my primary motivation. Using the McFIFO / McDual XO I had no issues using the WM8805 board with the single AES output. I am not sure if this is due to isolation from miniSHARC, better clock integrity or something else.

github.com/iancanada/DocumentDownload

From the miniSHARC LRCLK, BCLK and 4 I2S data outs (as well as 6 corresponding grounds) are connected to the input header of the McFIFO. I was able to use 8" long dupont wires with no issue.

The McDual XO stacks nicely on top of the McFIFO and is connected to the McFIFO via a provided ribbon cable. The McDual XO provides a master clock signal via a provided coaxial cable with U.Fl termination to the McFIFO. The McDual XO has two 14-DIP sockets for oscillators and comes with 49.152 MHz and 45.1584 MHz oscillators. Although the McDual XO will select the appropriate oscillator depending on input signal sampling rate for miniSHARC applications only a 12.288/24.576/49.152 MHz oscillator is required as the miniSHARC only runs at 48 kHz or 96 kHZ sampling rates. The McDual XO provides 4 MCLK, 4 LRCLK, 4 BLCK (SCLK) and 7 I2S data outs (only 4 required for 8 output channels) via U.Fl sockets. As provided there are only 3 MCLK U.Fl sockets so I needed to solder an additional U.Fl socket. As all the McDual XO outputs are U.Fl sockets I needed some way to adapt from U.Fl socket to the pin header on the WM8805 board. Fortunately the WM8805 board and the Buffalo III DAC use 20 pin headers and Ian Canada sells U.Fl adapters for the BIII. As only 4 inputs are required to each WM8805 board (MCLK, LRCLK, BCLK, I2S data) I only soldered 4 U.Fl connectors to the adapter at the positions needed. I used extra long male breakaway headers to connect the female header on the WM8805 board and the U.Fl adapter board. I found that 2.5" long coaxial cables are bit too short for multiple WM8805 boards but 4" long coaxial cables are perfect. Although U.Fl sockets are bit touchy to connect/disconnect I quite like them once they are connected as they provide a relatively robust connection.

With the default 49.152 MHz clock and the 48 kHz plugin I immediately noticed significant distortion. After reading through the WM8805 datasheet I learned that the WM8805 does not support master clock frequencies greater than 512xFs (512 x 0.048 MHz = 24.576 MHz). Switching to the 96 kHz plugin solved the distortion issue as the master clock multiplier was now 49.152 / 0.096 = 512.

statics.cirrus.com/pubs/proDatasheet/WM8805_v4.5.pdf

As I wanted to have the ability to run the miniSHARC at 48 kHZ to maximize FIR processing power I needed to find a new oscillator running at 12.288 MHz or 24.576 MHz. Ian Canada sells 14-DIP adapters for SMD oscillators but they require some SMD soldering skills. I initially purchased a 24.576 MHz Crystek 957 oscillator and the associated adapter board. I found soldering of SMD capacitors substantially more difficult than soldering of U.Fl sockets as a result of the smaller size. I was unsuccessful in getting this to work on my first try as I was not getting a LRCLK signal from the McDual XO. As a more plug and play solution I purchased a Conwin OH14 OXCO running at 24.576 MHz which comes in a 14-DIP package and works perfectly with the 48 kHz plugin. Eventually I reflowed all the solder joints on the 957 adapter board and was able to get that oscillator working. Both oscillators seem fine to me. Both have similar close-in phase noise but the 957 has a lower phase noise floor at higher frequencies. If I were to do this again and use an oscillator requiring an adapter I think I would go with the NDK SDA as Ian Canada has an adapter board which is SMD finished (other than the clock itself) as this would be much easier to use than 957 adapter board which requires soldering of 9 SMD capacitors.

Current draw of the miniSHARC, DIGI-FP, VOL-FP, McFIFO, McDUAL XO and 4 WM8805 boards is less than 600 mA so I have been powering everything from the 2000 mA SMPS provided with the OpenDRC-DI. All of these components run at 5V so the provided power supply works perfectly. I used WAGO snap action wire block connectors for power distribution to the various components. I should note that the current draw of a single WM8805 board with coaxial/TOSLINK/AES outputs was upwards of 300 mA so if 4 of those were used I would be thinking about using a different power supply.

My original plan was to try and cram everything in the OpenDRC-DI box by punching holes in the side of the box for the AES outs but there were some spacing issues related to the stack height of the McFIFO / McDual XO. I think you could make the OpenDRC box work but it would require lower height standoffs for the McFIFO / McDual XO, removal of the VOL-FP and higher height standoffs for the miniSHARC to allow it to sit above the DIGI-FP board and a longer ribbon cable between the miniSHARC and the DIGI-FP. As I was already placing an order with Audiophonics and they carry HiFi 2000 aluminum cases at reasonable prices I decided to order a new case. The case I used has internal dimensions of 415 mm W x 230 D x 80 mm H and allows for all the connections to be made at the back of the case. For now I have forgone the VOL-FP as the processor sits in a cabinet and I do not use the volume control on the miniSHARC. The processor is always connected to a Mac Mini via USB which also sits in the cabinet and allows me to change the inputs/filters easily via remote VNC connection from my laptop.

Making the holes in the rear panel was rather time consuming. I did order some extra rear panels as they were pretty cheap and I wanted to do some testing with alignment / hole size. I made a scale paper template using Microsoft Visio which I then taped to the rear plate. With the template in place I center punched all the holes. For drilling I used a hand power drill which was OK but definitely not as precise as drill press. For the XLR holes I used a 7/8" knockout punch which worked well. The square holes for the TOSLINK / USB ports were definitely the most time consuming as I made these by drilling a 5/16" hole and then hand filing using a square file. Now that I have a good understanding of the layout I may look in to getting a rear panel laser cut / etched for a more professional look but it is low on the to-do list for now.

One thing to keep in mind is that as a result of the McFIFO there will be some amount of delay in this system. The default McFIFO delay is 200 ms but this can be reduced to 100 ms via onboard jumpers. According to Ian the delay can also be further reduced by using an Arduino but I have not attempted this. I was able to get acceptable audio/video sync performance with my audio/video source which is an Apple TV 4. As the Apple TV 4 only has an HDMI output I use an HDMI/SPDIF extractor to pull an audio signal upstream of my TV. The 100 ms McFIFO delay roughly matches the video processing delay of my TV and provides good audio/video sync performance, obviously this is not the case with the default 200 ms delay.

See below for a parts / cost breakdown. I would definitely recommend purchasing a few extra of the SMD components (U.Fl sockets, BIII adapters) especially if you are new to SMD soldering.

OpenDRC-DI (used) - eBay - $240
McFIFO - IanCanada - $189
McDualXO - IanCanada - $85
BIII adapter w/ SMT connector package - IanCanada - $8 x 4 = $32
SMT U.FL socket - IanCanada - $1 x 17 = $17
4" U.FL coaxial cable - IanCanada - $3 x 16 = $48
CCHD957 XO adapter kit - IanCanada - $12
I2S to AES WM8805 Interface - Yoycart - $22 x 4 = $88
Crystek CCHD957 24.576 MHz - DigiKey - $27
HiFi 2000 2U 230 mm Slimline Case - $73
Total - $811

The alternative Conwin oscillator is a just bit more than the Crystek 957 and the adapter board ($27 + $12 = $39) at $55 from DigiKey.

Overall I am quite happy with the project and was able to achieve everything I had hoped and learned quite a bit along the way. I came in just below the cost of a DDRC-88D+BM ($950) which in someways is not great as the DDRC includes a Dirac license. That being said this setup allows for user controlled FIR filtering and has multiple inputs which the DDRC-88D does not offer.

Michael

Please Log in or Create an account to join the conversation.

miniSHARC - 8 channel digital output 11 months 1 week ago #53903

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
Attachments:

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.

miniSHARC - 8 channel digital output 11 months 1 week ago #53904

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
Attachments:

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.

miniSHARC - 8 channel digital output 11 months 1 week ago #53905

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
Attachments:

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.

miniSHARC - 8 channel digital output 11 months 1 week ago #53906

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
Attachments:

Please Log in or Create an account to join the conversation.

Last edit: by mdsimon2.

miniSHARC - 8 channel digital output 11 months 1 week ago #53911

  • dreite
  • dreite's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Posts: 1520
  • Thank you received: 695
Nice!

Dave.

Please Log in or Create an account to join the conversation.

miniSHARC - 8 channel digital output 9 months 2 weeks ago #54829

  • DWP
  • DWP's Avatar
  • Offline
  • Junior Member
  • Junior Member
  • Posts: 24
  • Thank you received: 3
Well done and well thought out!

Please Log in or Create an account to join the conversation.

miniSHARC - 8 channel digital output 3 weeks 3 days ago #58265

  • ChrisMmm
  • ChrisMmm's Avatar
  • Offline
  • Junior Member
  • Junior Member
  • Posts: 37
  • Thank you received: 3
Just came across this thread as I investigated buying a DDRC-88D.

My requirement is a 2 in 6 (or 8) out crossover for a 3-way active system crossover. I already have a miniSHARC fed  via I2S from a Raspberry Pi (with Kali reclocker) and feeding 3 ES9023 DACS. Its a bit of a messy setup having had to grow it from a 2-way to a 3-way and I have always planned a new build with better DACS. Given the DIY SHARC cards (mini & nano) are no longer available I was thinking the DDRC-88D but its not ideal (prefer DACS attached by I2S) and very expensive.

So this post and the understanding that the OpenDRC-DI was effectively a miniSharc with VOL and DIGI-FP means now thinking the OpenDRC box is the way to go and rehouse as you have but using I2S DACS.

Quick question, I am assuming you are using the miniSHARC 4x8 plugin, is that the case? 

The Ian Canada boards are interesting but don't think I will be needing them for my intended use. Will read up on them, maybe more questions later.

Cheers

Please Log in or Create an account to join the conversation.

Last edit: by ChrisMmm.

miniSHARC - 8 channel digital output 3 weeks 3 days ago #58268

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
Yes, I used the miniSHARC 4x8 plugin. I also had better luck with using up to 3 ES9023 DACs as no master clock was required (they had onboard ASRC) but objective performance was not very good with those DACs.

I've actually moved on from this setup as I found a simpler / easier / cheaper way to do it. I am using an Okto dac8 pro DAC which has the capability to take an AES input, route it to a host computer via USB, apply DSP on the computer and then send the processed signal back to the DAC via USB. This works very well with a RPi4 running CamillaDSP on Ubuntu Server 21.10. I now use the OpenDRC-DI upstream of the Okto as source selection and ASRC all sources to a 96 kHz sample rate.

If your source is already a RPi I would definitely consider getting a USB DAC and using CamillaDSP. Okto is good option (just recently started taking orders again as they come available) as is the MOTU Ultralite Mk5.

Curious if you have found any good I2S DACs that work well with the miniSHARC? I did some experimenting with the DIYINHK ES9016/9038 DACs with the miniSHARC which have decent performance. However the cost quickly adds up once you add power supplies and they have some pretty gnarly turn on/off pops that need to be tamed. I also prefer a balanced output which certainly could be done with a external I/V stages but that increases cost even further. I documented some of this here -> www.audiosciencereview.com/forum/index.p...-measurements.23629/.

Michael

Please Log in or Create an account to join the conversation.

miniSHARC - 8 channel digital output 3 weeks 3 days ago #58274

  • ChrisMmm
  • ChrisMmm's Avatar
  • Offline
  • Junior Member
  • Junior Member
  • Posts: 37
  • Thank you received: 3
Thanks Michael, you have opened my eyes to more possibilities!

So after some reading I think what would work for me is a headless Linux box running CamillaDSP, I could also have it run SQUEEZELITE (I use LMS pretty much exclusively) so no external feed required. This would then feed something like www.diyinhk.com/shop/audio-kits/104-8-ch...d-dsd-audio-dac.html with a multi channel XMOS card. Sounds simple enough, minimal hardware and not expensive.

Multi-channel USB is new to me, more reading required. CamillaDSP looks doable using parameter files rather than a GUI but seems to have the functioality that the miniDSP plugins have. One thing I haven't been able to determine is volume control, documentation says "volume setting can be changed via the websocket" but I am unsure how this is achieved. More reading!

I have used mainly ES9023 DACS with the miniSHARC (and other miniDSP crossovers), easy as you say being 3-wire only. I did build a crossover using a nanoSHARC for a friend with DIYINHK AK4495SEQ dacs, I haven't listened to that other than brief test but my friend is very happy, with it, only issue is that the DACS power up too early and the MCK supplied by the nanoSHARC is not available initially, I installed a reset switch but a timer to delay the DAC power is a better solution. As you say the DIYINHK DACs require multiple power supplies and wiring gets messy with multiple DACS. BTW I had to split the clocks including MCK for the AK4495 DACS but haven't had any issues so wondering why you felt the need for the FIFO?

Cheers,
Chris
The following user(s) said Thank You: mdsimon2

Please Log in or Create an account to join the conversation.

miniSHARC - 8 channel digital output 3 weeks 3 days ago #58282

  • mdsimon2
  • mdsimon2's Avatar Topic Author
  • Offline
  • Elite Member
  • Elite Member
  • Posts: 247
  • Thank you received: 86
For volume control it is very easy to do in the web interface, with a little bit more work you can add a display with volume indication and IR volume control, see this thread for some examples of this -> www.audiosciencereview.com/forum/index.p...ct.20840/post-964578.

I mentioned this a bit in the OP but I had issues with dropouts without the McFIFO / McDualXO with the AES output boards. I really did not play around with termination and I imagine if I did some work with termination resistors and/or direct soldering it may have worked better but the specific I2S to AES boards I was using also seemed quite temperamental. The other variable is that I was using a DIGI-FP which in my experience loads the MCLK output of the miniSHARC, I've had better luck using direct I2S input to the miniSHARC. If you aren't experiencing audible dropouts I would not worry about it.

Michael
 

Please Log in or Create an account to join the conversation.

miniSHARC - 8 channel digital output 3 weeks 1 hour ago #58328

  • ChrisMmm
  • ChrisMmm's Avatar
  • Offline
  • Junior Member
  • Junior Member
  • Posts: 37
  • Thank you received: 3
Again, thanks Michael.

I started reading through the ASR thread you pointed me at, some very interesting stuff (and smart people) there. My big take away at the moment is that the latest MOODE download includes CamillaDSP with a GUI. So downloaded onto a Rpi 3 I have lying around and managed to get a test Pipeline running using Squeezelite to stream Tidal and out via a USB DAC. Yes, I can do this and I think the GUI is probably as easy to use as the miniDSP plugin or close anyway. Moode itself a bit clunky and I have no idea about stability at this stage.

So plan on getting the DIYINHK ES9038PRO 8 channel DAC and XMOS interface, cheaper and cleaner option. And I love that Squeezelite is running on the Pi with CamillaDSP.

One thing I need to sort out is how to feed the frequency sweep from REW when I measure my system/speakers. I used to have a SPDIF input to the miniDSP for that. Somehow I need to feed that in from REW to CamillaDSP on the Rpi.

EDIT: Looks like Bluetooth will be the simple way of getting audio into Camilla from the laptop running REW.

Cheers

Please Log in or Create an account to join the conversation.

Last edit: by ChrisMmm.
  • Page:
  • 1
Moderators: devteam