VF3xx USB HS Controller /USB Throughput

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

VF3xx USB HS Controller /USB Throughput

Jump to solution
619 Views
soichiyamamoto
Contributor V

Hello,

Is Throughput of VF3xx USB HS Controller more than ten 40MB/s ?

※bulk transfer.

And, please give me usb Throughput data.

Best regards,

soichi yamamoto

Labels (1)
0 Kudos
Reply
1 Solution
435 Views
richard_stulens
NXP Employee
NXP Employee

USB throughput depends much on the kind of traffic that is being sent.

For Bulk, per USB2.0 specification, the absolute maximum is about 53 MB/s. That is when all packets are 512 bytes long and no high-level protocol overhead is involved. (i.e. packes are sent back to back)

It is impossible to achieve this theoretical  maximum in a real-life system becaue there will always be protocol overhead.

Besided the protocol overhead, there is the CPU reponse time. The USB controller itself can transfer the packets at maximum speed but the CPU must prepare the data packets and the transfer descriptors (control blocks).If the CPU is busy with other tasks, or serving other interrupts, then the USB transfers will be delayed and throughput will be reduced.

So it all depends on what kind of data you transfer and how busy the CPU will be with other tasks. All this is application dependent. It is therefore impossible to give a meaninful throughput number.

In general. to achive 40 MB/sec, you would need to tailor the system and give priority to USB. I do not believe that you can achive that on a VF3 with Linux because of the system overhead in the device drivers.

Best regards,

Richard

View solution in original post

0 Kudos
Reply
1 Reply
436 Views
richard_stulens
NXP Employee
NXP Employee

USB throughput depends much on the kind of traffic that is being sent.

For Bulk, per USB2.0 specification, the absolute maximum is about 53 MB/s. That is when all packets are 512 bytes long and no high-level protocol overhead is involved. (i.e. packes are sent back to back)

It is impossible to achieve this theoretical  maximum in a real-life system becaue there will always be protocol overhead.

Besided the protocol overhead, there is the CPU reponse time. The USB controller itself can transfer the packets at maximum speed but the CPU must prepare the data packets and the transfer descriptors (control blocks).If the CPU is busy with other tasks, or serving other interrupts, then the USB transfers will be delayed and throughput will be reduced.

So it all depends on what kind of data you transfer and how busy the CPU will be with other tasks. All this is application dependent. It is therefore impossible to give a meaninful throughput number.

In general. to achive 40 MB/sec, you would need to tailor the system and give priority to USB. I do not believe that you can achive that on a VF3 with Linux because of the system overhead in the device drivers.

Best regards,

Richard

0 Kudos
Reply