I'm designing an audio data transfer circuit using USB 2.0 interface. I use the Cypress USB tranceiver. I want to know the worst case transmission speed of USB 2.0. I already read USB 2.0 Specification, but I cannot found any information about that. In USB 2.0 spec., there are only information about Maximum data rate,
480Mbit per sec. So, please answer about the worst transmission speed of USB 2.0. Thanks for any help with this.
Thanks for your answer. I think my question is not enough. So, your answer is 0 Mbps. I want to explain my question again. In 1394 interface, there is a guaranteed minimum data rate, 100Mbps. Like this, is there a guaranteed minimum data rate in USB 2.0 interface? I assume that the device is high speed mode and there are only one plugged USB 2.0 device in the host PC. In this conditon, is it possible that my system have data rate higher than 2Mbit per sec when it is received a certain audio data such as speech signal from microphone?
Actually, the answer of 0 was correct. USB does not guarentee a minimum data rate.
During the enumeration process, it is possible for devices to REQUEST a certain data rate from the host. The host may accept or deny this request, and even if it accepts the request it isn't guarenteed that the requirement will always be met.
Generally speaking, unless the host is extremely encumbered with other processing or there are a lot of items on the USB port, getting a sufficient datarate isn't a problem.
Based on the type of information being transfered, you can choose the type of USB transaction accordingly. For example, streaming applications will often times use the isochronous, which I believe attempts to poll for data at a steady rate, but does not perform error checking so that data may be lost. This transaction can obtain very high data rates. If the data must be guarenteed, then another protocol, such as bulk transfer must be used. If you need data to be communicated at a steady rate, the interrupt transfer may also apply, but I believe that interrupt transfers are relatively low in their bandwidth per packet.
Heh, he is right; definitely the worst possible rate is 0 bits per second.
I have not used 1394, but such a guarantee is impossible. You can either guarantee to attempt to send at some rate (isochronous or UDP in ethernet), or guarantee to get data through using retries etc (bulk or TCP in ethernet). Communication by definition implies failures, so a medium can either ignore them or retry. Guaranteed success is impossible.
However, assuming things are working properly the maximum rate depends on both the host and device speed. USB 2.0 is a spec version and has nothing to do with the actual speed of the interface. A low-speed mouse could be USB 2.0, so people have confused high speed with USB
The USB host dma speed limits the upper end of the high speed. The spec allows a guaranteed isochronous data rate of 3 1k blocks every microframe. This works out to about 30 Mbyte/sec for just iso. Bulk will pack in all available bandwidth so it is quite possible to get on the order of 40 Mbyte/sec of non-guaranteed speed.
For audio you will probably use isochronous, which means guaranteed rate, but not perfect delivery. Depending on your device, you should be able to easily meet the 2 Mbit/sec rate, in fact on a full speed system you could theoretically hit 8184000 bits per second. That is using 1023 (yes a funny number) byte packets every ms. So like all good USB 2.0 devices you should be able to fall back to full speed if the host cannot handle it and still transfer your 2Mbit/sec data.
Regards, Steve There is no "x" in my email address.