USBのプロダクトIDとは何ですか?プロジェクト用に購入する必要がありますか?


11

PC /ラップトップを使用せずに、あるUSBストレージデバイスから別のUSBストレージデバイスにデータを転送できるポータブルデバイスを開発しようとしています。Jan Axelsonの開発者ガイドを読んでいたところ、USBデバイスを作成するにはUSBベンダーID /製品IDを購入する必要があるというセクションに出くわしました。USB実装者フォーラムでも同じように読んでいます。私のプロジェクトでこの製品IDの重要性がわかりません。

  • コンピュータ/ラップトップのMACアドレスのようなものですか、それが必要ですか?

  • 周辺機器の開発にのみ必要なもので、実装したいデバイス(ホストに似ていると思います)のようなものではありませんか?


その場合はホストとして機能するように思えるので、Wouterの回答に従ってホストを必要としません。
PeterJ 2013

@PeterJ遅くなって申し訳ありませんが、デバイスの転送を見落として管理するためのタッチスクリーンインターフェースも開発する予定です。ベンダーID /製品IDがなくても問題ありませんか?
Wormwood n Asfodelの注入2013

USB経由で同じホストデバイスに接続されている場合、それはデバイスであり、1つ必要です。価格についてはこちらをご覧ください:usb.org/developers/vendor。ロゴを使用するために必要なものは1つだけであり、制作のために必要なのは、コンセプト/テスト段階にある場合は、1つだけを作成することです。たとえば、しばらく前に気づいたように、割り当てられた公式ベンダーID 666はありません。さらに、いずれにしても必要かどうかは100%わかりません。PCに接続することを意図しておらず、USBロゴはおそらく必要ない場合でも、競合は問題になりませんが、物事の法的側面。
PeterJ 2013

スマートフォンのタッチスクリーンのように同じデバイスに組み込む予定ですが、この料金の対象になりますか?
Wormwood n Asfodelの注入2013

いいえ、それで結構です。エンドユーザー製品がPCに直接接続される場合、それは本当にエンドユーザー製品に関連する互換性に関するすべてです。
PeterJ 2013

回答:


12

何を作成したいのか正確にはわかりませんが、ホストデバイスの場合は、USB VID / PIDは必要ありません。

ホストはスレーブデバイスのUSB VID / PIDを使用して、スレーブデバイスに使用するドライバーを識別します。ホストデバイスはスレーブに対して自身を識別する必要がないため、VID / PIDは必要ありません。


1つのUSBストレージデバイス(ペンドライブ)から別のUSBストレージデバイス(ペンドライブ)にデータを転送するために使用できるデバイス。
Wormwood n Asfodelの注入2013

最初の文があいまいになった場合に備えて書き直しました。
Wormwood n Asfodelの注入2013

これは、ホストまたはスレーブの両方であるOTGデバイスを無視します。
通行人2013

@Passerby:OTGデバイスがデバイスの場合、VIDとPIDが必要です。ホストの場合は必要ありません。したがって、そのデバイスの時代に合わせてVIDを購入する必要があります。
ウォーレンヒル

5

ホストではなく、デバイスのみがVIDとPIDを必要とします。

ベンダーIDまたはVIDは、USB Foundationから購入する必要がある16ビットの番号です。USBデバイスを作成する場合(およびルールに完全に準拠する場合)、VIDは組織を識別します。

製品IDまたはPIDも16ビットの数値ですが、ユーザーの管理下にあります。VIDを購入すると、すべての可能なPIDでそのVIDを使用する権利があるため、65536の可能なVID:PIDの組み合わせが得られます。その意図は、VID:PIDの組み合わせが特定の生成物をグローバルに一意に識別する必要があることです。

これにより、PCが同じVIDとPIDを持つ2つの異なるデバイスを認識できないことが保証されます。

注:MAC-IDとは異なり、VID:PIDの組み合わせの目的は、オペレーティングシステムが使用するドライバーを認識している範囲でデバイスタイプを一意に識別することです。必ずしも、2つの同一デバイスを区別できる必要はありません。たとえば、2つのUSBメモリスティックは、コンピュータがデバイスを認識しているだけでなく、接続されているポートも認識しています。

OSにUSBデバイスを接続すると、VIDとPIDをデバイスに要求し、デバイスが削除される(またはコンピューターの電源が切れる)までデバイスが使用するアドレスをデバイスに提供します。

PCはVIDとPIDを認識すると、それらがすでに認識されているかどうかを確認します。正しいドライバーが読み込まれる場合は、そうでない場合は、関連するドライバをインストールする機会が与えられます。このプロセスは列挙と呼ばれます。

一方、MAC-IDはそれ自体ではデバイス(コンピューター、プリンター、ルーターなど)に関する情報を提供しませんが、デバイスを一意に識別します。2つの同一のPCは、まるでそれらが異なるMAC-IDを持っているかのようになります。両方が同じイーサネットネットワークに接続されると、正しく機能しません。ただし、2つの同一のUSBメモリスティックは、同一のVIDとPIDを持ちます。

100万個の同じUSBデバイスを製造して販売したい場合は、1つのVIDを購入するだけで済みます。100万のイーサネットデバイスを製造して販売したい場合、100万のMAC-IDを購入する必要があります。


BluetoothデバイスのBluetoothアドレスやラップトップのMACアドレスのような発見可能なUSBデバイスIDを発行しないのはなぜですか?
Wormwood n Asfodelの注入2013

@StaceyMyers USB VID:PIDの組み合わせがMAC-IDではなく達成しようとしていることの違いを説明するために私の回答を拡張しました。私はBluetoothデバイスを設計したことがないので、コメントするには十分に理解していません。
ウォーレンヒル

これはUSBの一般的な知識には非常に有用な情報です(したがって、私も賛成しました)が、OPが設計しようとしているのはUSBホストであるため、OPの質問には(受け入れられた回答のように)答えないと思います。ただし、現時点では編集を提案していません。参考までに。
cp.engr 2017年

2

Microchipなどの一部のハードウェアベンダーは、独自のベンダーIDを顧客に無料でサブライセンスする用意があることに注意してください。


この方法でマイクロコントローラーベンダーのVIDをサブライセンスしている場合、通常、デバイスの最大10,000ユニットの作成に制限されます。
cp.engr 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.