2017-06-20 22 views
0

CANとUSB(デバイスモード)で構成されるデバイスを開発しています。USB、CANメッセージ(ボーレートは1Mbps、メッセージの頻度は最大1メッセージ/ 5milli秒)と他のデータ(設定データ例)がPCとH/W(双方向)の間で送信されます。私はTM4C123GH6PM MCU.TIは、以下に示す6つの標準クラスへの支援を与えるテキサスの楽器を使用していますUSBデバイスの分類クラス

1)オーディオデバイスクラス 2)CDCデバイスクラス 3)複合デバイスクラス 4)デバイスファームウェアのアップグレードデバイスクラス 5) HIDデバイスクラス 6)大容量記憶装置デバイスクラス

これらは、「バルクデバイスクラス」と呼ばれる、エンドポイントに1バルクと1バルクアウトエンドポイントを持つクラスをサポートします。

私のアプリケーション(HIDデバイスクラスまたは一括デバイスクラスまたはCDCデバイスクラスまたは他の方法)にUSBドライバを実装するためのより良い方法は、できるだけ早くすべてのメッセージをPCと送受信できるようにすることです。

また、CANメッセージを表示してH/Wを設定するPCツールを開発する予定ですか?

私はCDCデバイスクラスに行くことを考えていますか?バルク転送方式は私のアプリケーションの割り込み転送方式よりも優れており、バルクデバイスクラスとCDCデバイスクラスだけがそれを使用していると思います。

バルクデバイスクラスと比較すると、CDCは標準クラスであり、ドライバやアプリケーションの開発は不要です。 私は以前のUSBの経験はありません。私は正しい決定をしていますか?私を助けてください?

答えて

0

USBデバイスには特定の機能/プロトコルがなく、生データのみを転送するために使用されます。そのためには、2つのエンドポイントしかなく使いやすいBulk onlyクラスを使用する方が良いと思います。 他のクラスでは、クラス固有の関数記述子も実装する必要があります。これは簡単な作業ではありません。

ただし、バルクエンドポイントでタイムリーな配信が保証されないため、時間の影響を受けやすいデータがある場合は別です。次に、使用できる割り込みエンドポイントがある場合は、CDCを使用する方がよいでしょう。

関連する問題