1.3 エンドポイント構成

 FX2はUSB2.0で拡張された480Mbpsという高速な伝送に対応するために,エンドポイントの構成がFXシリーズから変更されています.フルスピードモード(12Mbps)では,バルク伝送のパケットサイズが最大64バイトであったのに対して,USB2.0のハイスピードモード(480Mbps)では,最大パケットサイズが512バイトまで拡張されました.これに対応して,FX2でもエンドポイントバッファの構成が大幅に変更されました.

ダブルバッファ構造のEP2/4/6/8

 FXシリーズではユーザーが自由に扱えるエンドポイントはバルク/インタラプト伝送用のものがIN/OUT方向それぞれについて64バイト×7本(INEP1〜INEP7,OUTEP1〜OUTEP7)の計14本,アイソクロナス伝送用エンドポイントがIN/OUTそれぞれ8本の計16本(バッファ領域は2Kバイトのアイソクロナス用メモリをシェアして利用)の合計30本のユーザー用のエンドポイントをもっていました.

 これに対しFX2では,エンドポイントバッファの構成は64バイトのINEP1/OUTEP1,および512バイト×2バンクのダブルバッファになったエンドポイントを4本(EP2,EP4,EP6,EP8)もつようになっています.FXシリーズでは隣のエンドポイントとペアリングすることでダブルバッファを実現していましたが,FX2ではEP2/4/6/8はデフォルトでダブルバッファになっており,コンフィグレーションによって,トリプル(3バンク)バッファやクワッド(4バンク)バッファにもなりますが,シングルバッファにすることはできません.FX2で設定可能なエンドポイントバッファ構成を図3に示します.

〔図3〕FX2のエンドポイントの構成

エンドポイントの組み合わせ

 図3の左側が上下に分かれている部分は,その範囲内で上下を任意に組み合わせられることを示し,右側はその組み合わせ以外はできないことを示しています.たとえば,EP2とEP4をそれぞれ512バイトのダブルバッファ(左端の組み合わせ),EP6を1024バイトのダブルバッファ(左から3番目)として使うということは可能ですが,EP2を512バイトのトリプルバッファとして使う場合(右から3番目)は,ほかのエンドポイントは512バイトのトリプルバッファのEP6,512バイトのダブルバッファのEP8に自動的になるということです.

 なお,EP1IN,EP1OUTは,バルク,インタラプト,アイソクロナスのいずれでも使用することができますが,バッファサイズは64バイトでシングルバッファで,後述するようなGPIFによる高速なやりとりに使うこともできないので,もっぱら少量の補助的なデータのやりとりやステータスの取得などに使うのに向いているといえるでしょう.

以降の内容は本誌を参照ください

インデックス
プロローグ レガシーフリー宣言! ――USBのすすめ
第1章 USB2.0対応コントローラEZ-USB FX2の詳細
 インテリジェント型ターゲットコントローラEZ-USB FX2
 ◆1.1 FX2の概要
 ◆1.2 FX2の内部ブロック  
 ◆1.3 エンドポイント構成

今月号特集トップページへ戻る


Copyright 2003 桑野雅彦