ページの先頭です
本文へジャンプする

本ウェブサイトでは、JavaScriptおよびスタイルシートを使用しております。
お客さまがご使用のブラウザではスタイルが未適応のため、本来とは異なった表示になっておりますが、 情報は問題なくご利用いただけます。


転送レートの違い


480MHzのBus動作を実現するためには電気的な仕様の変更が、 USB1.xとの互換性を維持しながら必要になります。 また、12/1.5MHzの 転送と480MHzの転送が混在できるようにするために、プロトコルの変更が必要になります。また、USB1.xで目立つようになってきた 問題点も改善されます。



USB1.xでは一つのエンドポイントに対するInterruptまたはIsochronous転送は1 フレームに1回以上は行えませんでしたが、USB2.0では一つのエンドポイントに対するInterruptまたはIsochronous転送は1 マイクロフレームに3回まのでの転送が許されます。このような転送に対応するエンドポイントをUSB2.0ではHigh-Speed, High Bandwidth Endpointと呼びます。USB2.0ではこの複数回の転送を実現するためにEndpoint DescriptorのwMaxPacketSize Feildを以下のように変更しています。


Endpoint Descriptor wMaxPacketSize Feild
Bits 15:13 12:11 10:0
Feield Reserved Number of transactions per microframe Maximum size of data payload in bytes


この時、マイクロフレーム当たりの転送回数と1つのパケットのデータ ペイロードには以下のような制約があります。


  1. transaction, Max packet size < 1024 bytes
  2. transactions, Max packet size 513-1024 bytes
  3. transactions, Max packet size 683-1024 bytes

USB1.X Isochronous転送ではData packetのPIDとしてDATA0(C3h)のみを使用していましたが、リトライの無いIsochronous転送で転送に失敗した場合にHigh Bandwidth Isochronous転送では、どのパケットが有効であったかを知ることができません。このため、DATA0(C3h)以外にDATA1(4Bh)、DATA2(87h)、MDATA(0Fh)の3つのPIDを新たに使うようになりました。


USB2.0のIsochronous転送

なお、High Bandwidth Interrupt転送は通常と同じData toggle sequenceを使います。



USB2.0の仕様概要