diyAudio

diyAudio (http://www.diyaudio.com/forums/)
-   Digital Source (http://www.diyaudio.com/forums/digital-source/)
-   -   192KHz 8 channel USB DAC (http://www.diyaudio.com/forums/digital-source/160557-192khz-8-channel-usb-dac.html)

mahenreddy 3rd February 2010 11:09 AM

192KHz 8 channel USB DAC
 
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

Chris_F 3rd February 2010 12:30 PM

You didn't say what MCU you are using.

mahenreddy 3rd February 2010 03:20 PM

MCU is I.MX233

Chris_F 3rd February 2010 03:52 PM

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/digit...eclocking.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.

mahenreddy 3rd February 2010 04:45 PM

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


All times are GMT. The time now is 02:27 AM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio


Content Relevant URLs by vBSEO 3.3.2