A question on USB2 trasnfert rate

Status
Not open for further replies.

eltonjohn

Advanced Member level 4
Joined
Feb 22, 2002
Messages
1,434
Helped
64
Reputation
126
Reaction score
29
Trophy points
1,328
Activity points
16,333
USB2 is 480 megabit /second .but i wonder if this is the maximum transfert rate per port or per USB subsystem .In other words is it possible to have two usb2 subsystems each one with 480 mega bit trasnfert rate??
I mean two usb2 pci boards ? .
if pci (33 mhz) is 4 X 33 mega bytes there is plenty of bandwith to supply several usb2 subsystems .. is there any catch with this .Will windows crapy systems will bea able to handle it ??
 

Theoretically this can be done; but practically this is not done

You have to write your own driver because M$ Windows doesn't support such things. With this part you will spent a lot of time.

But with the proposal you made you can indeed speed up the system.

Maybe if you want to go for speed 1394 (Firewire) is an option?
 

The 480 mbit is shared among all devicec connected to one EHCI host controller on a pci usb card (for example). Normaly, as far as I know, there is only one hi-speed EHCI host controller in a PCI USB2 chip and the 480mbits ot this will be shared among all the connected devices.

For full speed OHCI 12mbit devices there normaly are two host controllers included in the same chip as the EHCI controller using diferent physical ports to get som more speed out of it. This gives that if you connect two devices and use proper physical ports on the chip you can get them to work at 12mbit at the same time.

However allt the speed figures found in speces are theoretical and you never reache them in real life. What I have seen is that its preaty easy to create driver (host and device) that givec about 10Mbyte/s and 20-25Mbyte/s can be done but abow that is hard to do...

Also dont forget to check out the developers forum at usb.org for questions like this.

re Me
 

It lie on the join number of the USB2 Host.
If ONly One, It is the transfer rate the 480M that the Host operate the USB2 , NOT the every USB2 device, In other words, in the same time ONly one device can emply the USB BUS.
 

Ok .ok ..let's make it simple .Let's not worry about several USB ports on a PCI card .Let's say one USB2 port per card . If i have two pci usb2 cards with just one port used in each one Can i tranfert 480 mb/s by card at the same time ?

can i loop one card into the other and transfert 480 megabits? Is it a windows problem or the chip are not cached and enough buffered ?
 

Loop one card into the other? This can't be done there can only be one host on the bus at the same time. If you need to do what you are talking about you must have two host chips comunicating with two device chips on two separate busses (cables). Data need to me split before going into the two device chips and the joined after coming out of the host chips.


In theory...

-One host PCI card with one device attachet -> 480mbit

-Two host PCI card with one device on each -> 480mbit for each device 960mbit in total

What you realy get...

To begin with you would NEVER get the 480mbit due to overhed in the transfers and drivers, what you will get in speed is in great deal dependent on the windows driver used and the device implementation of USB. The only whay to figure that out would be to test with the device and PC that is to be used.

Using two PCI cards with one device on each would give higher owerall transfer rate but probably not twice as they are sharing the same driver base structure. In this case the speed gained would only be dependng on the windows driver. Again the only way to find out would be to test.

As PCI usb cards are not expensive and you can have several of them in a PC, testing would be easy. Get two cards and two usb disks, test the transferrate for large files for each of the disks with only one working and then the two of them.

If you realy need a high speed datalink I would go for PCI directly or some other bus.

re Me
 

Well my deal is kind a different .I just wanted to know about the Driver side .
I want to use USB2 on a laptop .Now you can buy PCMCIA -USB2 cards very cheap .i want to use them on a peripheral but with a higher bandwidth than 480 megabits .So the idea was to use two PCMCIA cards .
I guess i will have to buy them and try them .Yes i know that you can't just loop them just like that .I was thinking to use a couple of cypress Cy7c68013A slaves
with fifos !
 

The 480 Mbps (60MBps) speed is shared among all the devices under a single host controller. But only one device can communicate at a time. So your device should be able to have 480Mbps speed in its own time window. Usaually many manufacurers provide two USB 2.0 port under one Host Controller. Also you can extend the hieracrchy using USB hubs on the network.

When you have two different Host Controllers on PCI they can work simultaneously. But according to the architecture there is only master manager thats the OS. So according to the PCI standards both hosts can pump data at highest rates. Also both hosts can provide highest data rates to one of the slave devices under them. But it depends on how OS is handling the data stream from the Host Controllers which decides the data rate you by the combination of Host Controllers.

Actually I recommend IEEE 1394 for this kind of high speed apps. Because only IEEE 1394 can provide high sustained data rate which USB can't.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…