Since you guys brought it up, here is a little primer on USB audio. All modes in the official USB audio spec use isochronous transfer, this means the host is sending out packets to match a particular transfer rate (44.1 48 etc), this bandwidth is reserved on the bus. There is no handshake per packet, the host keeps on shoving them out no matter what.
There are three audio modes: synchronous, adaptive and asynchronous. (remember these are ALL isochronous, so you cannot say "isochronous or asynchronous", asynchronous IS isochronous!) Synchronous connects a PLL to the actual data stream on the USB bus. This is the simplest connection but is VERY susceptible to jitter on the bus since the PLL is directly tracking the bus. A number of cheap early USB audio devices used this mode, but its pretty rare today. Adaptive mode uses a frequency sysnthesizer of some sort to clock the data out of the chip. The frequency is changed slowly based on how full or empty the fifo is getting. The host is still in ultimate control, but the output clock is not directly slaved to the bus, this can have much lower jitter than synchronous mode. There are MANY different implementations of this mode, some almost entirely analog and some implemented in software on a processor. Some of these are actually pretty darned good. Almost all implementations today use this mode. Asynchronous mode, a completely separate clock is used to clock out the data (you CAN use a super low jitter clock for this). A separate channel is opened over the bus going from the receiver to the host which tells the host to occasionally slightly speed up or slow down the transmission. If the FIFO in the receiver is getting empty it tells the host to speed up etc. Note the asynchronous mode is not really the same as TCP/IP, there is no request or handshake per packet, there is NO error correction, if a bad packet is found, tough. (error detection bits are sent, but the only thing you can do with them is blink a front pannel light, there is no retransmission capability) The TI 1020 and 3200 are the only USB audio chips I'm aware of that even have the capability of asynchronous mode, BUT you have to program the chip to do this. This is not easy, I spent many months trying to do this and finally gave up. I only know of one person that has successfully implemented asynchronous mode on one of these chips. There HAVE been a couple of implementations using non-audio USB enabled microprocessors, but again this takes custom firmware and drivers on the computer. The companies that have done this are not high end companies and have not taken advantage of the asynchronous mode to produce very low jitter implementations. The high end companies can't afford the manpower and time it takes to implement one of these, and the companies that have implemented it are not sharing thier implementation with the rest of the world. I hope that clears the air a little on this subject. John S. -- JohnSwenson ------------------------------------------------------------------------ JohnSwenson's Profile: http://forums.slimdevices.com/member.php?userid=5974 View this thread: http://forums.slimdevices.com/showthread.php?t=33836 _______________________________________________ audiophiles mailing list audiophiles@lists.slimdevices.com http://lists.slimdevices.com/lists/listinfo/audiophiles