Community Translation - FX2LP: Dual Virtual COM Port Descriptors - KBA229819

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,

I would like to translate KBA229819 into Japanese.

Thanks,

Kenshow


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 DescriptorIAD)により、デバイスは、機能に属するインターフェイスをグループ化できます。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)には、ホスト上のFX2LP2つのCOMポートを備えたデュアルCDCクラスデバイスとして高速でエニュメレートするために必要なディスクリプタが含まれています。

FX2LPを使用してデュアル仮想COMポートを実装するようにAN58764が変更されているこのスレッドのファームウェアプロジェクトを参照してください。

==============================

11-May-2020

Kenshow

0 Likes
0 Replies