| Theme: light

USB 2.0 Multichannel DAC Project


This project is in the very early design stages. I'm currently looking around which chips to use...

Design Goals

  • Must offer USB 2.0 high speed compliant audio device so no driver is needed under linux
  • Sample rates above 48kHz must be possible, ideally 192kHz and 24bit sample depth would be very desireable.
  • Multichannel design. For the moment i need at least 4 output channels but the board should easily be upgradeable to 6 or 8 channels
  • As USB synchronous transfer mode is prone to jitter a resampling DAC chip with a very good PLL is required as well as a low-noise DAC clock oscillator.
  • Low noise external power supply should be considered as USB bus power will always be pretty dirty. Maybe powering the USB->I2S converter with USB bus power is a good idea though as we will spare some components and can completely isolate these power rails.
  • A fine-grained software wolume control is mandatory. Possibly by adding a second usb port for remote control options or a esp8266 daughter board that can send I2C control signals to the DACs and operate as a webserver to receive volume control commands?

DAC chip considerations

PCM5102A ES9023 ES9038
Datasheet Available N/A N/A
Price 0,00€ (Samples!) ? ~90 US$
Module Price ~25 US$ ~22 US$ not sensible, want to use all 8 channels then
Output (I/V) Voltage Voltage Voltage, better in current mode
Internal PLL Yes Yes Yes
Voukme control No Yes Yes

Usb to I2S chip considerations

There are currently three USB to I2S solutions that are in the race:

  1. The C-Media CM6631A (2+2 I2S putputs) and CM6632A (8+2x I2S outputs). The first on would be suitable for now as i only need 4 channels at the moment. The second one would be more future proof but no modules are available on eBay or aliexpress.
  2. XMOS X200 class of chips. unfortunately these are not in any way sound specific chips but only fast microcontrollers with lots of IO and a USB 2.0 compliant PHY. Would require a lot of development.
  3. The Amanero USB to I2S solution uses an ATMEL microcontroller and a CPLD to. Pros: Maybe firmware available! Cons: Only 2 channel I2S at the moment.