192KHz 8 channel USB DAC

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
I have a micro controller with high speed USB 2.0 port and deveoping a custom driver to stream 8 (7.1) channel 192 KHz audio data fromthe PC into the micro. I have no issues with this part but my micro has only 3 I2S data out ports each supporting 2 channels at 192KHz driven by common I2S clocks. Need your help in getting the remaining 2 channels out of the micro in I2S format with data aligned to the clock lines of the other 3 I2S ports.

The whole idea is to get 8 channels out of the PC at the original sampling rate (44.1 upto 192KHz) and run it through ASRCs to optionlly upconvert everything less than 192KHz to 192KHz before feeding passing the data to DACs.

-M
 
Holy cow. That's on hell of a beefy uC.

I guess your options would be to use internal 3x I2S + 1x BitBang I2S. I'm sure that thing has a tone of GPIO lines and it's fast enough that I'm sure it could handle it. You may even be able to get away bit banging all 4 I2S lines.

If that doesn't work out, I suppose you could read this thread here: http://www.diyaudio.com/forums/digi...ple-fifo-i2s-cpld-mcu-players-reclocking.html

You could implement a 4xI2S core in a CPLD and then interface it to the MCU with a parallel interface (8bits, 16bits, 24bit doesn't really matter) or maybe using some type of serial connection, maybe SPI. For a serial connection you are going to need around 37MHz.
 
Chris,

Thanks. I too thought about those two options and currently exploring the possibility of bitbanging in sync with the clock edges of the other three dedicated I2S ports. I am trying to find a way to know/access the I2S clock from inside the program . If it is not possible I will probably have to take the CPLD route.

-M
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.