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:
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.
Here's the original block diagram that I proposed back on October 31:
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.
Beginning of the build phase:
Powering up for the first time. Checked the voltage regulator output voltage, and a few other test points.
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.
Here's the 1 kHz sine wave coming out of the DAC, and the 5V lab supply:
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 :p
Now with the EMI fence's "lid" installed.
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 :cool: ). 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?? :cool: )
One more shot of the first guinea pig board.
Component assembly of the remaining four boards:
Each module is conveniently labeled 1 through 5:
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.
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.
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 :)
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.
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.
No tech eval but ...
Just Awesome! Nice designs, hard work, great layout, sweet stacking, the shield ... well done, sir. A beautiful implementation of miniDSP! :worship:
Can you tell us more about this channel 9,10 toslink issue?
PS You even take good pictures!
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).
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.
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
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.
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
PM to me if available to send to Hong Kong.
|All times are GMT. The time now is 09:30 AM.|
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio