- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA229819 into Japanese.
Thanks,
Original KBA:
FX2LP: Dual Virtual COM Port Descriptors - KBA229819
Translated by Kenshow
==============================
タイトル: FX2LP:デュアル仮想COMポートディスクリプタ - KBA229819
バージョン:**
質問:
FX2LPのディスクリプタを設定して2つのCOMポートを持つデュアルCDCデバイスとしてエニュメレートするにはどうのようにするのでしょうか?
回答:
USB CDC Abstract Control Management (ACM) デバイスでは、次のディスクリプタが必要になります。
- Standard Device Descriptor
- Standard Configuration Descriptor
- Interface Association Descriptor
- CDC Header Functional Descriptor
- CDC Union Functional Descriptor
- Call Management Functional (CM) Descriptor
- Abstract Control Management (ACM) Descriptor
- Standard Interface Descriptor for CDC Class Communication Interface
- Standard Endpoint Descriptor for Interrupt IN Endpoint
- Standard Interface Descriptor for CDC Class Data Interface
- Standard Endpoint Descriptor for Bulk IN and Bulk OUT Endpoint
FX2LPを複数のCOMポート(CDCデバイス)でエニュメレートするには、複合デバイスとしても知られる多機能デバイスとして構成する必要があります。複合デバイスは複数のデバイスクラスをサポートします。つまり、デバイスは複数の機能を同時に実行できます。たとえば、デバイスはキーボードおよびマウスとして機能できます。
このナレッジベースの記事(KBA)は、FX2LPをデュアルCDCクラスデバイスとして構成するためのものです。
各CDCクラスデバイスには2つのインターフェイスが必要です。
- コミュニケーションインターフェイス:1つの割り込みエンドポイント
- データインターフェイス:2つのバルクエンドポイント(INおよびOUT転送にそれぞれ1つ)
Interface Association Descriptor(IAD)により、デバイスは、機能に属するインターフェイスをグループ化できます。IADは、通信およびデータインターフェイスを各CDCデバイスの単一のインターフェイスにグループ化するために使用されます。これにより、これらの2つのインターフェイスが結合され、ホストPC上の単一デバイス(CDC)としてエニュメレートされます。
'x' CDCクラスデバイスを構成するには、 '2x'インターフェイスが必要です( 'x'データインターフェイスと 'x'コミュニケーションインターフェイス)。
ディスクリプタの定義:
USB IFは、デバイスファームウェアに1つ以上のIADが存在するかどうかをオペレーティングシステムに通知する特定のクラスとプロトコルコードセットを設定しています。このセクションでは、クラスとプロトコルセットを定義します。
デバイス用のデバイスクラスディスクリプタは次のように設定します。
bDeviceClass: 0xEF
bDeviceSubClass: 0x02
bDeviceProtocol: 0x01
高速コンフィグレーションディスクリプタ:
インターフェイス数を4に設定します。CDCデバイスごとに2つのインターフェイス(コミュニケーションおよびデータインターフェイス)。
コンフィグレーションディスクリプタが定義された後、各CDCデバイスのIADを初期化する必要があります。その後、コミュニケーションインターフェイスとデータインターフェイスのインターフェイスディスクリプタを初期化します。
各インターフェイスディスクリプタの後には、対応するエンドポイントディスクリプタが続きます。
インターフェイスアソシエーションディスクリプタとして、IADの下のインターフェイスコレクションの最初のインターフェイスに、IADのクラスフィールドとサブクラスフィールドと一致するクラスフィールドとサブクラスフィールドを含めることをお勧めします。表1を参照してください。
表1. IAD関数クラスとサブクラス
IADフィールド | 対応するインターフェイス フィールド |
bFunctionClass | bInterfaceClass |
bFunctionSubclassClass | bInterfaceSubClass |
このKBAに添付されているFX2LP記述子ファイル(dscr.A51)には、ホスト上のFX2LPを2つのCOMポートを備えたデュアルCDCクラスデバイスとして高速でエニュメレートするために必要なディスクリプタが含まれています。
FX2LPを使用してデュアル仮想COMポートを実装するようにAN58764が変更されているこのスレッドのファームウェアプロジェクトを参照してください。
==============================
11-May-2020