VF3xx USB HS Controller /USB Throughput

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

VF3xx USB HS Controller /USB Throughput

ソリューションへジャンプ
1,341件の閲覧回数
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

ラベル(1)
0 件の賞賛
返信
1 解決策
1,157件の閲覧回数
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 件の賞賛
返信
1 返信
1,158件の閲覧回数
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 件の賞賛
返信