Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

FX2LP™のアイソクロナス転送のスループット - KBA87932 - Community Translated (JA)

FX2LP™のアイソクロナス転送のスループット - KBA87932 - Community Translated (JA)

IFX_Publisher1
Community Manager
Community Manager
Community Manager
250 sign-ins First comment on KBA 250 replies posted

Community Translated by NoTa_4591161    Version: *A

Original kBA: Throughput for Isochronous Transfers for FX2LP™ - KBA87932

 

質問:

FX2LPを使用したアイソクロナス転送のスループットは、バッファ長、MaxPktSize、およびwMaxPacketSizeの関係を示していますか?

 

回答:

ISO転送の場合、バッファ長とエンドポイントの転送サイズは、エンドポイントのMaxPktSize8倍の倍数です。

例えば:

wMaxPktSize0x1400(バイナリ= 0001 0100 0000 0000)の場合

MaxPktSize = [バイナリ100 0000 0000] * [バイナリ10 + 1] = 1024 * 3 = 3072

FX2LPで使用できるFIFOバッファスペースは最大4096バイトです。したがって、1つのエンドポイントを使用している場合は、4Kを割り当てることができます。

EP2FIFOCFGレジスタでクワッドバッファリング用に構成されたエンドポイント2を使用する必要があります。

EP2 FIFOは最大4096バイト、EP6 FIFOは最大2048バイト、EP4およびEP8 FIFOは最大1024バイトの長さにできることに注意してください。

したがって、4KBのエンドポイントRAMしか使用できない場合、アイソクロナス転送では、アイソクロナスパケットごとに1024バイトしか転送できません。

最大帯域幅を実現するために、USB 2.0仕様では、単一のデバイスがマイクロフレームごとに最大3つのアイソクロナスパケットをリクエストできるようになっています。これにより、マイクロフレームの最大帯域幅は3072バイトになります。マイクロフレームは125マイクロ秒であり、スループットは24 Mバイト/秒です。

マイクロフレームあたりの転送数は、エンドポイントディスクリプタのwMaxPacketSizeフィールドで定義されます。このフィールドのビット12とビット11は、マイクロフレームごとの追加トランザクションの数を指定し、次のように設定できます。

00 =なし(マイクロフレームごとに1回の転送、たとえば1024バイト)。
01 = 1追加(マイクロフレームあたり2回の転送、たとえば、マイクロフレームあたり2048バイト)。
10 = 2追加(マイクロフレームあたり3回の転送、たとえば、マイクロフレームあたり3072バイト)。
11 =予約済み

0 件の賞賛
231 件の閲覧回数