Hey, folks!
I decided I wanted to design a really nice DAC that can be made (relatively) cheaply, and fit inside a Framework expansion card, among other things.
my_dac.pdf (502.6 KB)
The design is open-source, and I would greatly appreciate folks’ feedback! I am most interested in possible issues that I did not foresee, making this cheaper, improving its performance, as well as feedback on my requirements themselves:
Draft Requirements
The DAC must perform competitively with other top-of-the-line audio solutions:
- The PCB must be at least 4 layers, including ground and power planes, to minimize crosstalk between channels
- The DAC must support audio at 8.000kHz, 11.025kHz, 16.000kHz, 22.050kHz, 44.100kHz, 48.000kHz, 88.200kHz, 96.000kHz, 176.400kHz, 192.000kHz, 352.800kHz, 384.000kHz, 768.000kHZ
- Note: 768kHz is important, as some high-end consumers claim that they can hear the difference, and high-end products tend to have this feature
- THD+N must be below -120dB from 20Hz+
- Intra-channel phase shift must be 0. degrees from 0Hz to 20kHz and there must be no measurable inter-channel phase shift
- Frequency response must be flat below 20kHz, rolling off not before 20kHz
- The output must be capable of swinging 10V p-p, and should do more if there is space on the board for additional OpAmps on the output stage.
- Current-limiting on the analog rail (which must occur due to USB-PD constraints on many devices) must not affect these specs
The DAC must be cost-competitive at low volumes:
- The design will be manufactured at JLCPCB, and should take advantage of suppliers like LCSC and the cost-effective chips that they supply where they meet the requirements above
- The XU316 MCU must not be replaced, as it comes with a free reference software USB audio stack implementation that is known to support 768kHz USB audio with minor modifications
Initially, optimize cost for small batches of ~5 PCBs at a time
The debug interface on the MCU sheet must be easily removable if required to meet space constraints, ideally reattachable, though snap-off is acceptable.
The DAC must physically fit into a Framework expansion card. See the FrameworkComputer GitHub. I am not allowed to link it here as there is a post limit on links.
If interested, go ahead and review the design in more detail: GitHub - rothn/compact-hd-dac: A compact, HD DAC
- LTSpice simulations of selected analog circuits in root directory
- KiCad v9.0.7 schematics in “dac_board” subdirectory