I understand that there isn't likely anything off the shelf that I could install into a DAC, but if anyone has had any experience taking apart commercial USB to Spdif converters, I'd love to hear from you. Looking for a simple install (like jumpering output to input).
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.
You should upgrade or use an alternative browser.
Any "drop in" solutions for asynchronous USB?
- Thread starter FraGGleR
- Start date
wakibaki
1000+ Head-Fier
- Joined
- May 26, 2011
- Posts
- 1,088
- Likes
- 68
I don't think there are.
Unfortunately the USB Audio Device Class Definition document is written in the most impenetrable style which seems intended to disguise rather than clarify how the system operates. This is not the first system I have encountered where you can read seemingly endless pages without achieving the faintest glimmer of understanding of what the authors are talking about. Canbus is another such system.
RS232 serial data is straightforward to understand. The data transmission can be controlled by dedicated connections such as RTS (request to send) and CTS (clear to send) or by software flow control characters (XON\XOFF). These make it easy to manage the data and clocks, which would otherwise be problematic, as differences in clock rate could soon accumulate to the point where transmission errors would occur. Data is sent faster than it can be used (by e.g. a printer) in bursts, and buffered. When the buffer approaches empty another high-speed frame of data is sent. This makes it possible for the clock at the receiving end to be totally independent of that at the transmit end.
When USB audio was designed, no consideration seems to have been given to making this most basic way of ensuring low jitter at the DAC the primary mode of operation, i.e. a low jitter clock located at the DAC. All the effort seems to have gone into making it possible to have NO clock at the DAC, other than a clock derived from the intrinsic timing embedded in the datastream.
This is a similar type of system to that which was adopted for S/PDIF and AES/EBU, although in these cases there is perhaps more justification, as in that case multiple devices in the system may be required to synch to the same clock.
Asynchronous USB is consequently difficult. The easiest assured way to implement it would be under USB Audio Class 2, because (as I understand it) the features supporting it are built into the driver. Asynchronous USB should also possible under USB Audio Class 1 (I think) but I have been unable to understand the definition sufficiently to exploit it.
This is the best of my understanding. As I said already the documentation surrounding these subjects is impenetrable in the extreme, and the guys who do understand it are so snotty it's impossible to get a direct answer out of them without thumbscrews.
USB Audio Class2 is not supported under Windows. It is supported under Linux and Mac OS. Consequently, if you want asynch USB under Windows you have no option but to buy a system with a custom driver. There are some systems out there such as the Xmos using the Thesycon driver, but they are expensive. I believe they're plug'n'play under Linux and Mac.
There is an asynchronous FIFO project over on diyaudio, I haven't dug into it, but I believe it does some kind of buffering and reclocking.
Dan Lavry (http://www.lavryengineering.com/splash.html) also has a reclocking DAC, I believe it is uprocessor based, and uses a buffering system with a low jitter VCXO whose frequency is adjusted infrequently by a 12-bit DAC to cause the buffer to empty and fill.
You might be interested to look at this solution http://wakibaki.com/audio.php#t1 which I designed a while ago. It is similar to the Lavry system, but instead of being microprocessor controlled it uses a comparatively simple finite state machine implemented in a CPLD to adjust the VCXO, again based on how full (or empty) the buffer becomes. A second CPLD clocks the information in. I never built this device, I just had the idea during an argument about asynch. USB so I wrote it up and wrote the VHDL to make it work in simulation as a proof of concept. I'm not actually convinced that jitter in regular USB systems is audible, and the work and cost involved in building it would be considerable, although I do have most of the components on hand.
w
Unfortunately the USB Audio Device Class Definition document is written in the most impenetrable style which seems intended to disguise rather than clarify how the system operates. This is not the first system I have encountered where you can read seemingly endless pages without achieving the faintest glimmer of understanding of what the authors are talking about. Canbus is another such system.
RS232 serial data is straightforward to understand. The data transmission can be controlled by dedicated connections such as RTS (request to send) and CTS (clear to send) or by software flow control characters (XON\XOFF). These make it easy to manage the data and clocks, which would otherwise be problematic, as differences in clock rate could soon accumulate to the point where transmission errors would occur. Data is sent faster than it can be used (by e.g. a printer) in bursts, and buffered. When the buffer approaches empty another high-speed frame of data is sent. This makes it possible for the clock at the receiving end to be totally independent of that at the transmit end.
When USB audio was designed, no consideration seems to have been given to making this most basic way of ensuring low jitter at the DAC the primary mode of operation, i.e. a low jitter clock located at the DAC. All the effort seems to have gone into making it possible to have NO clock at the DAC, other than a clock derived from the intrinsic timing embedded in the datastream.
This is a similar type of system to that which was adopted for S/PDIF and AES/EBU, although in these cases there is perhaps more justification, as in that case multiple devices in the system may be required to synch to the same clock.
Asynchronous USB is consequently difficult. The easiest assured way to implement it would be under USB Audio Class 2, because (as I understand it) the features supporting it are built into the driver. Asynchronous USB should also possible under USB Audio Class 1 (I think) but I have been unable to understand the definition sufficiently to exploit it.
This is the best of my understanding. As I said already the documentation surrounding these subjects is impenetrable in the extreme, and the guys who do understand it are so snotty it's impossible to get a direct answer out of them without thumbscrews.
USB Audio Class2 is not supported under Windows. It is supported under Linux and Mac OS. Consequently, if you want asynch USB under Windows you have no option but to buy a system with a custom driver. There are some systems out there such as the Xmos using the Thesycon driver, but they are expensive. I believe they're plug'n'play under Linux and Mac.
There is an asynchronous FIFO project over on diyaudio, I haven't dug into it, but I believe it does some kind of buffering and reclocking.
Dan Lavry (http://www.lavryengineering.com/splash.html) also has a reclocking DAC, I believe it is uprocessor based, and uses a buffering system with a low jitter VCXO whose frequency is adjusted infrequently by a 12-bit DAC to cause the buffer to empty and fill.
You might be interested to look at this solution http://wakibaki.com/audio.php#t1 which I designed a while ago. It is similar to the Lavry system, but instead of being microprocessor controlled it uses a comparatively simple finite state machine implemented in a CPLD to adjust the VCXO, again based on how full (or empty) the buffer becomes. A second CPLD clocks the information in. I never built this device, I just had the idea during an argument about asynch. USB so I wrote it up and wrote the VHDL to make it work in simulation as a proof of concept. I'm not actually convinced that jitter in regular USB systems is audible, and the work and cost involved in building it would be considerable, although I do have most of the components on hand.
w
MisterX
Headphoneus Supremus
- Joined
- Dec 30, 2002
- Posts
- 3,880
- Likes
- 23
You can snag the Xmos USB 2.0 reference design from Digi-key....
http://www.digikey.com/scripts/dksearch/dksus.dll?vendor=0&keywords=880-1017-ND
$150 is a little expensive and if you're looking for just a S/PDIF out you won't need half of the features that are built into the board but it's kinda fun to play with.
http://www.digikey.com/scripts/dksearch/dksus.dll?vendor=0&keywords=880-1017-ND
$150 is a little expensive and if you're looking for just a S/PDIF out you won't need half of the features that are built into the board but it's kinda fun to play with.
Quote:
Wow, quite some work you have done. I am a plug and play kind of guy that is reasonably handy with a soldering iron, so I doubt I could even make 100% sense of just your descriptions. Thank you, though for sharing your work.
Mister X, that looks like an interesting solution, but you are right in that it has more functionality than I need. That being said, it is still cheaper than many products that are probably not any better engineered that I could take apart and install into my DAC case. The Hiface 2 was something I was looking at, which seems to be a fairly stock implementation of the XMOS solution.
I will keep poking around. Hard to tell which ones might be good just looking at chipsets. Don't want to go much over the $150 mark at the moment.
I don't think there are.
Unfortunately the USB Audio Device Class Definition document is written in the most impenetrable style which seems intended to disguise rather than clarify how the system operates. This is not the first system I have encountered where you can read seemingly endless pages without achieving the faintest glimmer of understanding of what the authors are talking about. Canbus is another such system.
RS232 serial data is straightforward to understand. The data transmission can be controlled by dedicated connections such as RTS (request to send) and CTS (clear to send) or by software flow control characters (XON\XOFF). These make it easy to manage the data and clocks, which would otherwise be problematic, as differences in clock rate could soon accumulate to the point where transmission errors would occur. Data is sent faster than it can be used (by e.g. a printer) in bursts, and buffered. When the buffer approaches empty another high-speed frame of data is sent. This makes it possible for the clock at the receiving end to be totally independent of that at the transmit end.
When USB audio was designed, no consideration seems to have been given to making this most basic way of ensuring low jitter at the DAC the primary mode of operation, i.e. a low jitter clock located at the DAC. All the effort seems to have gone into making it possible to have NO clock at the DAC, other than a clock derived from the intrinsic timing embedded in the datastream.
This is a similar type of system to that which was adopted for S/PDIF and AES/EBU, although in these cases there is perhaps more justification, as in that case multiple devices in the system may be required to synch to the same clock.
Asynchronous USB is consequently difficult. The easiest assured way to implement it would be under USB Audio Class 2, because (as I understand it) the features supporting it are built into the driver. Asynchronous USB should also possible under USB Audio Class 1 (I think) but I have been unable to understand the definition sufficiently to exploit it.
This is the best of my understanding. As I said already the documentation surrounding these subjects is impenetrable in the extreme, and the guys who do understand it are so snotty it's impossible to get a direct answer out of them without thumbscrews.
USB Audio Class2 is not supported under Windows. It is supported under Linux and Mac OS. Consequently, if you want asynch USB under Windows you have no option but to buy a system with a custom driver. There are some systems out there such as the Xmos using the Thesycon driver, but they are expensive. I believe they're plug'n'play under Linux and Mac.
There is an asynchronous FIFO project over on diyaudio, I haven't dug into it, but I believe it does some kind of buffering and reclocking.
Dan Lavry (http://www.lavryengineering.com/splash.html) also has a reclocking DAC, I believe it is uprocessor based, and uses a buffering system with a low jitter VCXO whose frequency is adjusted infrequently by a 12-bit DAC to cause the buffer to empty and fill.
You might be interested to look at this solution http://wakibaki.com/audio.php#t1 which I designed a while ago. It is similar to the Lavry system, but instead of being microprocessor controlled it uses a comparatively simple finite state machine implemented in a CPLD to adjust the VCXO, again based on how full (or empty) the buffer becomes. A second CPLD clocks the information in. I never built this device, I just had the idea during an argument about asynch. USB so I wrote it up and wrote the VHDL to make it work in simulation as a proof of concept. I'm not actually convinced that jitter in regular USB systems is audible, and the work and cost involved in building it would be considerable, although I do have most of the components on hand.
w
Wow, quite some work you have done. I am a plug and play kind of guy that is reasonably handy with a soldering iron, so I doubt I could even make 100% sense of just your descriptions. Thank you, though for sharing your work.
Mister X, that looks like an interesting solution, but you are right in that it has more functionality than I need. That being said, it is still cheaper than many products that are probably not any better engineered that I could take apart and install into my DAC case. The Hiface 2 was something I was looking at, which seems to be a fairly stock implementation of the XMOS solution.
I will keep poking around. Hard to tell which ones might be good just looking at chipsets. Don't want to go much over the $150 mark at the moment.
Just thought I'd share this as something that hits on almost all points for me: http://luckit.biz/new/?tcp_product=waveio
wakibaki
1000+ Head-Fier
- Joined
- May 26, 2011
- Posts
- 1,088
- Likes
- 68
Interesting, I didn't know that this was this far advanced, or that the price was down to 99 euro. Thanks.
w
w
G.Trenchev
100+ Head-Fier
- Joined
- Mar 12, 2010
- Posts
- 187
- Likes
- 34
Anyone tried the miniSTREAMER ?It features the Tenor TE7022.
http://www.minidsp.com/products/usb-audio-interface/ministreamer
http://www.minidsp.com/products/usb-audio-interface/ministreamer
MisterX
Headphoneus Supremus
- Joined
- Dec 30, 2002
- Posts
- 3,880
- Likes
- 23
Quote:
It is not an asynchronous device.
Anyone tried the miniSTREAMER ?It features the Tenor TE7022.
http://www.minidsp.com/products/usb-audio-interface/ministreamer
It is not an asynchronous device.
See if Audio-gd wont sell you a USB-32 board with the VIA chips with firmware allowing S/PDIF output (the default is I2S). It kicks the crap through XMOS solutions IMO.
Quote:
Good idea, I will shoot him an email. Do you (or anyone else) happen to have tried a CM6631A based converter? It is the one that Schiit and a couple other companies use. I have found some boards based on that chipset as well.
Wish I had the time/money to experiment.
See if Audio-gd wont sell you a USB-32 board with the VIA chips with firmware allowing S/PDIF output (the default is I2S). It kicks the crap through XMOS solutions IMO.
Good idea, I will shoot him an email. Do you (or anyone else) happen to have tried a CM6631A based converter? It is the one that Schiit and a couple other companies use. I have found some boards based on that chipset as well.
Wish I had the time/money to experiment.
MrSlim
Member of the Trade
- Joined
- Oct 31, 2007
- Posts
- 784
- Likes
- 38
There's been some ongoing group buys for the Amanero Async USB board over at diyaudio: http://www.diyaudio.com/forums/vendors-bazaar/216474-usb-i2s-384khz-dsd-converter.html
Single unit price isn't so great, but if you can get in on the GB, you can get a break.. It's I2S only, but I don't think you specified..
More details here: http://amanero.com/
They include windows drivers if you are so inclined
Single unit price isn't so great, but if you can get in on the GB, you can get a break.. It's I2S only, but I don't think you specified..
More details here: http://amanero.com/
They include windows drivers if you are so inclined
Wow. That looks awesome, especially for the price, but unfortunately I am trying to hack something onto an existing dac and I dont think I have ready access to the I2s lines. Thanks for the heads up.
G.Trenchev
100+ Head-Fier
- Joined
- Mar 12, 2010
- Posts
- 187
- Likes
- 34
So I ordered this :
http://www.ebay.com/itm/XMOS-384kHz-high-quality-USB-to-I2S-PCB-with-ultralow-noise-6-5uV-regulator-/230961204617?pt=US_Amplifier_Parts_Components&hash=item35c65c4d89
Any thoughts on it?Looks promising.I plan to use it with PCM1793 or whatever.
http://www.ebay.com/itm/XMOS-384kHz-high-quality-USB-to-I2S-PCB-with-ultralow-noise-6-5uV-regulator-/230961204617?pt=US_Amplifier_Parts_Components&hash=item35c65c4d89
Any thoughts on it?Looks promising.I plan to use it with PCM1793 or whatever.
Quote:
This guy seems to like it: http://hifiduino.wordpress.com/
He has been a great resource for me. I now have a Musiland Monitor 01 USD 2012 that I have stripped down to just the board that I will be using in my DAC. Good reviews, improved performance so far over my stock USB.
So I ordered this :
http://www.ebay.com/itm/XMOS-384kHz-high-quality-USB-to-I2S-PCB-with-ultralow-noise-6-5uV-regulator-/230961204617?pt=US_Amplifier_Parts_Components&hash=item35c65c4d89
Any thoughts on it?Looks promising.I plan to use it with PCM1793 or whatever.
This guy seems to like it: http://hifiduino.wordpress.com/
He has been a great resource for me. I now have a Musiland Monitor 01 USD 2012 that I have stripped down to just the board that I will be using in my DAC. Good reviews, improved performance so far over my stock USB.
Mullet
1000+ Head-Fier
- Joined
- Jan 18, 2005
- Posts
- 1,026
- Likes
- 137
I just bought two Amanero boards. I'm about to embark on two projects based on the ES9023 DAC. One of the projects is a board designed by curryman over at diyaudio. It's a combo board that features a the ES9023 integrated with a buffer designed by Joachim Gerhard. I'm also going to use this... http://www.diyaudio.com/forums/digital-line-level/147817-ackodac-based-es9018-13.html#post3320259 ...to isolate the Amanero from the DAC. The acko board also features a re-clocker that I might experiment with. I don't mean the hijack the thread but the Amanero seems to have a lot of bang for the buck. It's prolly not as plug and play as you're looking for. I'm still quite a novice when it comes to DACs, clocking, isolation, multiple power supplies, and making it work together. I feel that with a bunch of research and sweat I can get through it.
Users who are viewing this thread
Total: 2 (members: 0, guests: 2)