CM6631A / USB Interface?
Jan 19, 2015 at 10:41 PM Thread Starter Post #1 of 15

TheAdmiralty

Head-Fier
Joined
Mar 30, 2013
Posts
62
Likes
19
Evening, gentlemen!
 
I'm a computer engineering student here at the university, and have recently set out on the mission of making myself a desktop DAC/Amp combo just for the heck of it.  I could list off the design if anyone's interested, but I'll keep it out of this post so things stay on-track.
 
I was originally planning on using C-Media's CM6631A as a USB interface, and then routing the I2S output into a Wolfson DAC for a bit higher quality, and then into the amp section.  The problem is that there apparently is a firmware update tool for the CM6631 used to generate the HEX file that gets flashed into memory.  I CANNOT find that tool.  Anywhere.
 
So, here's the question.  Does anyone either A) have that tool, or know where to find it, or B) have any thoughts on a different/simpler method of interfacing an I2S/I2C/Serial DAC with a USB Bus at full 24-bit/192k?  I've never worked too much with this sort of thing... mostly FPGAs and microcontrollers, so a lot of this is a good learning experience.
 
Any thoughts?
 
Much appreciated!
 
Jan 20, 2015 at 10:05 AM Post #2 of 15
  Evening, gentlemen!

 
I'm a computer engineering student here at the university, and have recently set out on the mission of making myself a desktop DAC/Amp combo just for the heck of it.  I could list off the design if anyone's interested, but I'll keep it out of this post so things stay on-track.

 
I was originally planning on using C-Media's CM6631A as a USB interface, and then routing the I2S output into a Wolfson DAC for a bit higher quality, and then into the amp section.  The problem is that there apparently is a firmware update tool for the CM6631 used to generate the HEX file that gets flashed into memory.  I CANNOT find that tool.  Anywhere.

 
So, here's the question.  Does anyone either A) have that tool, or know where to find it, or B) have any thoughts on a different/simpler method of interfacing an I2S/I2C/Serial DAC with a USB Bus at full 24-bit/192k?  I've never worked too much with this sort of thing... mostly FPGAs and microcontrollers, so a lot of this is a good learning experience.

 
Any thoughts?

 
Much appreciated!


You need an NDA with C-Media to get the firmware tool from them.
 
There are several FPGA and uController solutions kicking around.
The Audio Widget is a good place to start.
 
Jan 20, 2015 at 10:56 AM Post #3 of 15
Some people have had success writing code for the TAS1020B too. But I think it only does 24/96 (which is already more than waht is necessary imo).
 
Or, if you don't want to reinvent the wheel, I've had good results with this board: http://www.diyinhk.com/shop/audio-kits/32-isolated-32bit-384khz-usb-to-i2sspdif-cm6631a-pcb-for-es9018-ak4399-pcm1794.html There's a cheaper version without isolation.
 
Jan 23, 2015 at 9:35 PM Post #4 of 15
Mmm... I haven't been ignoring you guys, just drafting a few alternate designs.  I think I'm going to entirely drop USB support for now until I come up with the best way to get something enumerated as an Audio Class device without the need for any custom drivers.
 
Right now, here's what I think I'm looking at:
 
  1. Toslink, 2x SPDIF Inputs, Analog line in.  Will solder down a socket to allow for a USB expansion in the future; I'll probably use one of the small XMOS units available from eBay, or something similar.
  2. The entire DAC is going to be controlled by either an STM32F microcontroller or a Cypress PSoC 4 unit.  I have a thing for radial encoders - the front panel will consist of a pushbutton which will do mode select (vol, source, etc), an encoder to adjust values, a 6 digit 16-segment display, and a soft power switch.  Rear panel will have all the digital and analog I/O along with a 120V C13 power connector, fuse, and hard power switch.
  3. I've designed a relatively simple NOS DAC based on the TDA1543.  Specifically, both digital inputs will be handled by a Cirrus CS8416 receiver which will output into a total of ten parallel TDA1543 DACs.  I'm not entirely sure what I expect out of this setup... it should be interesting at first listen, to say the least.
  4. The array of DACs will feed through any external filtering and to what will basically be the most glorified CMOY amplifier that anyone's ever seen.  Since this will be driving nothing but my low-impedance headphones and IEMs, it will be equipped with an adjustable resistive load and gain in order to keep things table.  I'll probably be using Analog Devices AD843 OPAMPs for this one, since it's my understanding that I really don't need the mellow Burr-Brown sound ontop of a NOS DAC.  We'll see how it goes... I might just drop a Wolfson DAC  in there and call it a day if this fails too miserably.
  5. Separate digital and analog power supplies, with grounds and power planes on separate secondary coils from the transformer.
 
All that said, this might be interesting.  I'm anticipating a total failure the first time around as I've never actually worked on something quite like this before, but I expect it to be fun regardless.  I'll be having the boards prototyped by Silver Circuits, and when everything is said and done, I'm hoping to have an enclosure CNC milled out of something like a deep/royal blue transparent acrylic; my thoughts were to use this as a top shell with all the I/O and everything, and then the circuitry itself would be mounted to a quarter-inch thick aluminum plate which would double as chassis ground.  Put four screws up through into the acrylic shell, stick a couple LEDs in there along with some rubber feet, and it would look pretty nice I think.  Of course, I need to design the thing and get it fabricated first.
 
Mar 7, 2015 at 9:43 AM Post #5 of 15
I'm after the same thing as you. I want to build a USB DAC+AMP to use with my android device.

I'm looking at PCM1794A for DAC chip. Just the USB to I2S is remaining, I looked at PCM2704C sinc3 I don't have anything more than 16 bit 48 kHz but I'd like to be future proofed. The CM6631/a looks interesting, xmos seems costly for diy. I can program micros so that's not a problem if required.

I just need a good and easy to use USB I2S bridge
 
Mar 7, 2015 at 11:09 AM Post #6 of 15
I'm after the same thing as you. I want to build a USB DAC+AMP to use with my android device.

I'm looking at PCM1794A for DAC chip. Just the USB to I2S is remaining, I looked at PCM2704C sinc3 I don't have anything more than 16 bit 48 kHz but I'd like to be future proofed. The CM6631/a looks interesting, xmos seems costly for diy. I can program micros so that's not a problem if required.

I just need a good and easy to use USB I2S bridge


What's wrong with PCM2706/7?
 
Mar 8, 2015 at 7:34 AM Post #8 of 15
 
What's wrong with PCM2706/7?

Cost.

As a USB to I2S bridge only these chips don't have differences. So I can use the cheapest chip that offers this functionality

 
Sorry, but that's a bit ridiculous.
 
The cost difference is about $2 at most and 32-pin TQFP is a lot simpler to solder by hand than 28-pin SSOP.
 
Mar 8, 2015 at 12:35 PM Post #10 of 15
Actually the website from which I can source these components has a larger p4ice difference, PCM2707C is almost twice as that of PCM2704C.


So maybe a $5-$6 difference instead of $2?  Just curious, but have you soldered a 28-pin SSOP chip before?  The 32-pin TQFP has enough spacing that it can be soldered one pin at a time, if desired.  There are other ways to conserve money than just looking at price.
wink.gif
 
 
Still, I guess this is a thread-jack to continue this discussion.  My apologies.
 
Mar 9, 2015 at 8:02 AM Post #11 of 15
My question would be:
Do you have the resources to employ the CM6631A?
Access to these resources usually requires a NDA with CMedia.
 
Mar 10, 2015 at 3:41 AM Post #13 of 15
Thanks for correcting me @00940
 
This leaves me with PCM2707, CM6631A, XMOS for USB to I2S.
 
PCM2707 supports only 16-bit/48 kHz.
 
Someone pointed me out to a project that uses AT32UC3A3 as a USB to I2S bridge with 24-bit/192kHz.
 
Mar 16, 2015 at 1:09 AM Post #15 of 15
Exactly, looking at that I feel it is possible to program some capable MCUs to do the same job as a generic UAC 2.0 device. The TI DSP may be suitable for the job, have to look at this possibility, it'll be quite a learning experience
 

Users who are viewing this thread

Back
Top