ES9023 DAC design for MiniDSP USBStreamer - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 9th January 2013, 11:33 PM   #1
Neil_J is offline Neil_J  United States
diyAudio Member
 
Join Date: Feb 2005
Location: Florida
Default ES9023 DAC design for MiniDSP USBStreamer

I'm a noname here, but I've been working on a DAC design over at diymobileaudio.com for a while now. Here's the link to the post where I described all the important design details: DIYMA Car Audio Forum - View Single Post - 2011 MINI Cooper CarPC Build

Here's a really quick summary:
  • This is a custom-designed 10-channel DAC to interface my Mac Mini CarPC, to date I've not seen anything remotely like it. I designed the circuit (with a bit of borrowing from existing designs out there), sourced the component parts, did the printed circuit board layout, and then built the board assemblies.
  • This is a no-compromise SQ design. I wasn't content with just using off-the-shelf equipment from a Sweetwater Music catalog. I'm looking for very high SNR numbers to my amplifiers, to get a great dynamic range (my amps will likely be modded too). I will be attempting to compete with this system in March at the IASCA spring break nationals (and the MECA event there as well). Hopefully I can get my acoustic issues fixed by then.
  • I'm using the MiniDSP USBStreamer (image below) as my USB-to-I2S bridge (I2S being the most common electrical protocol that audio DAC chips use). This component is responsible for virtually all of the jitter (or lack of it), since it's providing all of the clocking signals to the DAC.
  • Rather than use an expensive and complicated 8+ channel DAC chip, I decided to use individual low-cost stereo DAC chips and go with a "stacking" design. The clock signals are "fanned out" to the individual boards (with care taken to route the traces properly and prevent signal reflection. This design allowed me to do a lot of pcb layout tricks where I could keep all of the clock and analog signals guarded with a ground trace (which prevents signal crosstalk), and keep an uninterrupted ground plane (which prevents a lot of nasty EMI and other bad stuff from happening).
  • Total cost of the DAC project so far is $89 in component parts, $2.50 each for the custom circuit boards, and $145 for the MiniDSP USBStreamer. That's less than a lot of the shitty pro-audio equipment, and I'll hopefully have better specs....

Here's a picture of the MiniDSP USBStreamer, 10-channel USB-to-I2S converter. The yellowish stuff on the USB connector is a piece of insulating Kapton tape.
Click the image to open in full size.


Here's the original block diagram that I proposed back on October 31:
Click the image to open in full size.

Here's the schematic of the DAC PCB. I decided on the ESS9023P DAC chip because of the low-parts count, i.e. the KISS approach. Keep in mind that there will be five of these boards stacked on top of each other (for a total of 10 channels) to complete the final design.
  • J1 is the connector to the MiniDSP USBStreamer. Each board can be configured to route either of the four I2S streams to the chip, via R5-R8.
  • J2 is the power header and mute circuit.
  • J4 is the right RCA output.
  • J5 is the left RCA output.
  • IC1 is the DAC chip, the ESS ES9023P. It's specs are pretty good, but chip specs aren't as important as getting the board layout and component part selection right.
  • IC2 is a 3.6V low-dropout ultra-low-noise voltage regulator. I love Linear Technology parts, but they think their **** doesn't stink and therefore have very high prices; I opted to use the Micrel MIC5205-3.6YM5 instead (as have a few other hobby DAC designs).
  • SHIELD1 is an EMI shield (i.e. a faraday cage).
  • FB1 is a ferrite bead, which is used as an input EMI filter to the power supply.
  • You guys know what resistors and capacitors do hopefully, no need to explain those :laugh:
Click the image to open in full size.

Beginning of the build phase:
Click the image to open in full size.

Powering up for the first time. Checked the voltage regulator output voltage, and a few other test points.
Click the image to open in full size.

A close-up shot of the first board while powered up and playing a 1 kHz sine wave. Disregard the flux and wire leads sticking out, those will be gone after the testing phase.
Click the image to open in full size.

Here's the 1 kHz sine wave coming out of the DAC, and the 5V lab supply:
Click the image to open in full size.

Next step was to install the EMI fence. As mentioned earlier, this is a faraday cage to keep out the nasty electromagnetic radiation that plagues my BMW-designed car
Click the image to open in full size.

Now with the EMI fence's "lid" installed.
Click the image to open in full size.

The bottom of the PCB is a solid ground plane. I've never really seen a DAC that managed to have this before. RF guys use this technique religously, but consumer electronics do not (ever). A solid ground plane does many things for a pcb layout: It acts as a faraday cage for stray EMI (in both directions, i.e. radiated and susceptibility). It provides a quick "return path" for high-speed RF signals (keep in mind that my I2S clock lines are ~24 MHz with VERY high rise times. Any upset here will cause EMI and worse yet, jitter problems. Lastly, the solid ground plane provides a very beefy ground system with extremely low resistance, so that every point on the pcb seems the same ground potential (same reason you guys use beefy ground wires on your amps ). The holes on the board are "vias", they're plated copper and pass the ground plane to the front side of the board (but you guys already knew that, right?? )
Click the image to open in full size.

One more shot of the first guinea pig board.
Click the image to open in full size.

Component assembly of the remaining four boards:
Click the image to open in full size.

Click the image to open in full size.

Each module is conveniently labeled 1 through 5:
Click the image to open in full size.

Here's the complete assembly, from the back. Notice the TOSLINK in and out connectors on the MiniDSP USBStreamer, and the connectors that pass the signals back and forth between the modules.
Click the image to open in full size.

And finally, a shot from the front. Next step is to design and fabricate a nice metal enclosure for the whole thing to sit in.
Click the image to open in full size.

Channel 1 thru 8 have been tested and are working. Channels 9 and 10 still require a TOSLINK-to-I2S bridge to squeeze the maximum 10 channels out of the MiniDSP USBStreamer. For this, I'm planning on hacking up the $25 FiiO D3, as described by the Hifiduino blog.


I'd love to hear questions / comments / suggestions. Also, I have five boards left over if anyone is interested
  Reply With Quote
Old 10th January 2013, 01:04 AM   #2
qusp is offline qusp  Australia
diyAudio Member
 
qusp's Avatar
 
Join Date: Oct 2009
Location: Brisbane, Australia
nice work mate! I really like it!; however you are far from the first dac designer on here or elsewhere to use a 'solid' ground plane.

Acko finished this design over 2 years ago and the previous gen (without the w.fl connectors and rogers teflon board) was before that. its all gnd plane underneath there, but has guides (kinda segmented but its all continuous if you know what I mean) to help keep loop area small. its an ES9012 dac. 100MHz clocks =) bulk polymers arent fitted on this one yet as you can see. the headers underneath are for stacking on the reg board

one thing, just wondering, you arent worried about the dacs at the top getting a signal thats been through the impedance ringer vs the bottom one? is each i2s signal paired with a ground pin on that super long header? do you have any type of buffer driving the dac outputs?

soz, you did call for comments

love the RF guard, can I ask where you got them? very cute little boards, not in need of another dac, but i'm sure you'll get some takers. I was thinking of putting something like that on an ES9016 dac design i'm playing with.
Attached Images
File Type: jpg AKD12P_09Jan2013_1470.JPG (342.4 KB, 319 views)
File Type: jpg AKD12P_09Jan2013_1468.JPG (272.8 KB, 299 views)

Last edited by qusp; 10th January 2013 at 01:21 AM.
  Reply With Quote
Old 10th January 2013, 03:44 AM   #3
Neil_J is offline Neil_J  United States
diyAudio Member
 
Join Date: Feb 2005
Location: Florida
Quote:
Originally Posted by qusp View Post
nice work mate! I really like it!; however you are far from the first dac designer on here or elsewhere to use a 'solid' ground plane.

Acko finished this design over 2 years ago and the previous gen (without the w.fl connectors and rogers teflon board) was before that. its all gnd plane underneath there, but has guides (kinda segmented but its all continuous if you know what I mean) to help keep loop area small. its an ES9012 dac. 100MHz clocks =) bulk polymers arent fitted on this one yet as you can see. the headers underneath are for stacking on the reg board

one thing, just wondering, you arent worried about the dacs at the top getting a signal thats been through the impedance ringer vs the bottom one? is each i2s signal paired with a ground pin on that super long header? do you have any type of buffer driving the dac outputs?

soz, you did call for comments

love the RF guard, can I ask where you got them? very cute little boards, not in need of another dac, but i'm sure you'll get some takers. I was thinking of putting something like that on an ES9016 dac design i'm playing with.
Thanks for the comments. The RF fences were from Digikey, I believe the manufacturer is Laird Technologies. Pretty cheap and easy to work with. I really don't think they're overkill, especially in an EMI-rich environment such as a new BMW-designed car.

As for the signal ringing on the I2S fanout, the distances are so small, I wasn't going to worry about it. I'm not an RF guy, if it does add measurable jitter, I can always snip the appropriate pins on the stackable headers to remove the stub(s). Each line has a series 20 ohm resistor at the DAC. Another mod I was going to make was a voltage divider for each signal with the divider voltage at the logic low-to-high transition point, which I've been told can reduce jitter. At this point, I'm still waiting to do a full set of measurements on a good spec an, and a formal listening test.
  Reply With Quote
Old 10th January 2013, 07:01 PM   #4
diyAudio Member
 
Join Date: Jun 2003
Location: Hamilton, was Ottawa (Canada)
No tech eval but ...

Just Awesome! Nice designs, hard work, great layout, sweet stacking, the shield ... well done, sir. A beautiful implementation of miniDSP!

Can you tell us more about this channel 9,10 toslink issue?

Cheers,
Jeff

PS You even take good pictures!

Last edited by AudioLapDance; 10th January 2013 at 07:05 PM.
  Reply With Quote
Old 11th January 2013, 12:22 AM   #5
Neil_J is offline Neil_J  United States
diyAudio Member
 
Join Date: Feb 2005
Location: Florida
Quote:
Originally Posted by AudioLapDance View Post
Can you tell us more about this channel 9,10 toslink issue?
The MiniDSP USBStreamer provides 8 channels of I2S via the 2mm rectangular header, and then an additional two channels via fiber optic TOSLINK connector. I do need those extra two channels, so I've really got two choices: (A) make my own circuit board with a TOSLINK connector, a WM8804 or similar SPDIF to I2S chip, and a connector for the DAC board, or (B) modify something that already exists.

The FiiO D3 is a Chinese consumer-grade DAC that has a TOSLINK fiber optic input, an SPDIF to I2S converter chip, and a complete DAC chip and glue circuitry, with RCA outs. The Hifiduino blog linked above showed a lot of the details, you can get right at the I2S signals, disconnect the FiiO built-in DAC, and run your own DAC board. It's just as pictured in my block-level diagram above, except instead of a WM8804, they use a Cirrus Logic chip now, I believe.

I'm not too concerned about jitter or the relative delay between CH.9&10 and the other channels, as they're being used for rear fill and don't have to correlate with the other channels at all, and I also have the added bonus of time correction in my CarPC DSP code. I would probably be ok with using just the FiiO DAC as-is, and will likely go that route at first; jitter will not be improved much if any (depending on how much ESS marketing Kool Aid you believe), but will improve SNR by quite a bit (which is very important in the level of competition I'm attempting, you can lose points for audible noise floor).
  Reply With Quote
Old 11th January 2013, 02:31 AM   #6
tnargs is offline tnargs  Australia
diyAudio Member
 
Join Date: Sep 2006
I'm watching this, appreciatively.
I can't help with tech, but could well dip into the wallet when time comes. I have been trying to find a way to use the USBstreamer in this fashion; this would be my solution.
cheers
  Reply With Quote
Old 11th January 2013, 07:05 AM   #7
diyAudio Member
 
Join Date: Aug 2010
As mentioned already in the miniDSP Forum: Great work! And I also like your pictures. Not that easy to take good pictures of circuit boards with their reflecting surfaces

Really like the layout, the compact stacked design and especially the RF Fences

Can you please tell me what I2S signal buffer is used on the miniSTREAMER?

What was the reason for changing the original output LP Filter (4,7nF [F3:141kHz] -> 220Ohm + 2200pF [F3:157kHz?])? And what is the exact value of the ferite bead used to decouple power line?

Best regards, Daniel
  Reply With Quote
Old 11th January 2013, 11:10 PM   #8
Neil_J is offline Neil_J  United States
diyAudio Member
 
Join Date: Feb 2005
Location: Florida
Quote:
Originally Posted by curryman View Post
Can you please tell me what I2S signal buffer is used on the miniSTREAMER?
Probably just the XMOS ASIC chip itself. I didn't want to use a crazy system of buffers, instead I used the KISS approach, payed great attention to board routing and high-speed layout, and kept the trace lengths very short.

Quote:
What was the reason for changing the original output LP Filter (4,7nF [F3:141kHz] -> 220Ohm + 2200pF [F3:157kHz?])? And what is the exact value of the ferrite bead used to decouple power line?
Because the ODAC used those values, I'm taking NwAvGuy's word since he's done more real-world testing than I'm able to. My project is non-commercial and I've credited him for a lot of my inspiration for this project, so I'm hoping he won't mind

The ferrite bead is Digikey P/N 240-2399-1-ND, $0.07 USD. It has pretty generic specs, I selected it based off of availability and price.
  Reply With Quote
Old 11th April 2013, 01:29 AM   #9
Rixsta is offline Rixsta  United Kingdom
diyAudio Member
 
Join Date: Feb 2004
Location: Barrow-In-Furness, Cumbria
Send a message via Skype™ to Rixsta
hey, Im very impressed by this! great idea

Im actually wanting to do almost the opposite, the outputs are useful but I need atleast 4 to 10 inputs of analog audio to multitrack record to the PC.

Could anyone point me in the right direction on how to get USBStreamer set up like that? or anyone else doing this
__________________
www.Rixsta.co.uk Free music recorded by me/DIY pics Currently Selling, amps=Zen V4, Zen-lightenment‎, Jean Hiraga 20w, F5, F5T
  Reply With Quote
Old 11th April 2013, 03:53 AM   #10
diyAudio Member
 
Join Date: Feb 2013
Quote:
Originally Posted by Neil_J View Post
Also, I have five boards left over if anyone is interested
Great project. I would like to buy the boards.

PM to me if available to send to Hong Kong.

Thank you.
__________________
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ES9023 DAC PCB jean-paul Digital Line Level 212 23rd July 2013 01:45 AM
Measurements of an ES9023 DAC fitzfish Digital Line Level 66 27th May 2013 01:56 PM
WTB V2.6 PCB for ES9023 / WM8804 S/PDIF DAC –SUBBU DAC grufti Swap Meet 0 26th November 2012 06:51 PM
ES9023 DAC build heartwinter Vendor's Bazaar 8 7th July 2012 10:27 AM
ESS ES9023 DAC rvrazvan Digital Source 18 3rd August 2011 07:58 PM


New To Site? Need Help?

All times are GMT. The time now is 10:12 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2