ユニバーサル・シリアル・バス
ユニバーサル・シリアル・バス(USB)は、人が電子機器をコンピュータに接続できるようにする技術です。高速シリアルバスです。
主にパソコンで使用されています。USBは、スマートフォンやゲーム機などの他のデバイスでも使用されています。USBは、標準的なインターフェースを使用してさまざまなデバイスを接続します。
ほとんどの人がパソコンのマウス、キーボード、スキャナ、プリンタ、デジタルカメラ、USBメモリなどにUSBを使用しています。世界中で60億個以上のUSBデバイスが存在しています。
この規格は、プラグアンドプレイデバイスを改善するために作られました。つまり、空いているソケットにデバイスを差し込んで、単純に動作させることができるということです。コンピュータはそのデバイスに気づく。コンピュータは、デバイスを使用するために特別なソフトウェアをインストールすることがあります。デバイスは、使用を停止した後に取り外すことができます。この技術は"ホットスワップ"と呼ばれています。"ホットスワップ"とは、電源が入っている間にデバイスを抜き差しできることを意味します。人々がデバイスを交換するためにコンピュータの電源を切る必要はありません。
USBは、USBコードを介して付属のデバイスに少量の電力を供給することができます。少しの電力しか必要としないデバイスは、バスからそれを得ることができ、別の電源プラグを必要としません。それは、USBバッテリー充電器、ライト、ファンのようなガジェットを可能にします。
2015年現在、USBはほとんどの場合、いくつかの古い規格に取って代わられています。それらにはパラレルポート、シリアルポート、SCSIが含まれます。これらの古い規格は、USBがそれらを置き換えることができないいくつかの仕事にまだ使用されています。

USBタイプAプラグ
略歴
ユニバーサルシリアルバスの最初のバージョンは1995年に作成されました。この新技術は瞬く間に成功を収めました。USBが登場して以来、電子機器を作る人たちは、それが将来どのように使われるかを考えました。今日では、USBはコンピュータやラップトップやMP3プレーヤーなどの他のデバイスを周辺機器に接続します。
このバスを紹介したのは、情報技術業界を代表する7社。Compaq、IBM、Intel、Microsoft、NEC、Northern Telecom、Digital Equipment Corporation(DEC)の7社。
数年前、USBの採用者と開発者は、デバイスをテストするためにカリフォルニアの特別なホテルでPlugfestと呼ばれる会議を開催しました。彼らが選んだホテルには、寝るための部屋とテスト用の部屋が含まれていました。会議は3日間続いた。会議の間、約50社の代表者たちは、自社のUSBデバイスを1つの一般的なホストシステムに接続した。
USB機器のロゴにも歴史があります。USBのロゴは数ヶ月間開発中でした。
- 1994年 - 7社が結束してUSBの開発に着手。
- 1995年 - 340社がUSB実装フォーラムを結成。
- 1996年 - すでに世界中で500以上のUSB製品が開発されていた。
- 1997年 - USB実装フォーラムは60社を超えて豊かになった。
- 1998年 - USBが電子機器市場で最も普及した技術となる。
- 2000年 - USB 2.0の導入。今日では、最も広く使われているUSBデバイスとなっています。
- 2005年 - USBがワイヤレスになる。
- 2008年 - USB 3.0が導入されました。USB 2.0の10倍以上の速度を実現。
- 2013年 - USB 3.1が登場。USB 3.0の約2倍の速度である。
- 2015年 - USB Type-Cが登場。リバーシブルコネクタなので、どちらにも挿すことができます。


フルサイズUSB-Bプラグ
異なる基準
現在、5種類のUSB規格が使用されています。USB 1.0、USB 1.1、USB 2.0、USB 3.0、USB 3.1です。USB 3.1は2016年にリリースされ、3.0の2倍の速度になりました。オプションでUSB Type-Cと呼ばれる別のコネクタを使用しており、リバーシブル(どちらにも差し込めるという意味)になっています。USB 1.0は現在ではほとんど使われていません。
USBは5つの異なる転送速度を提供しています。1.5MBit/秒(ロースピードと呼ばれる)、12MBit/秒(フルスピード)、480MBit/秒(ハイスピード)、5Gbit/秒(スーパースピードと呼ばれる)、10Gbit/秒(「スーパースピード+」と呼ばれる)です。Hi SpeedはUSB 2.0以降、Super speedはUSB 3.0以降でしか利用できません。これらの速度は生のビットレート(単位はミリオンビット/秒)です。実際のデータレートは、プロトコルのオーバーヘッドのため、通常は低くなります。
高速転送速度を使用するためには、USBコントローラと接続されている機器の両方が対応している必要があります。USBは下位互換性があります。より速いUSBデバイスとより遅いUSBコントローラを一緒に接続することはできますが、より遅い速度で動作します。
USBハブ
今日販売されているほとんどすべてのコンピュータにはUSBポートがあり、そのほとんどがUSB 2.0以降をサポートしています。しかし、ポートの数は限られています。2つと6つのポートが一般的です。USBは、USBハブを接続して、より多くのUSBポートを追加することができます。
ハブ自体もUSB規格の1つに準拠しています。USB 1.1ハブに接続されたデバイスは、USB 1.1のレートでしか動作しません。後のコントローラに接続されたデバイスは、異なる規格を使用することができます。


こんな感じのUSBハブが一般的です。
USBコネクタ
USBは使いやすいように設計されていました。エンジニアはUSBコネクタを設計する前に他のコネクタから学びました。コネクタは3つあります。
- タイプ A、一般的にケーブルのコンピュータ側で使用されます。
- マイクロA(レア
- 周辺端のBタイプ、プリンター以外では珍しい
- 周辺端のマイクロB、ほとんどのスマートフォンに対応
- どちらかの端にあるCタイプ。2017年現在、新しいパソコンやスマホ、周辺機器の多くに採用されています。
ユーザビリティ
- USB AやBのコネクタの差し込み方を間違えるとダメなんです。逆さにして差し込むことはできませんし、正しく差し込めば見た目や感覚的にも一目瞭然です。しかし、時にはユーザーがコネクタの入り方を理解していない、または見ていないことがありますので、両方の方法を試してみる必要があるかもしれません。
- タイプCのUSBコネクタは、どちらの方法でも差し込むことができます。コネクタがどちらに差し込まれていても問題ありません。
- 強く押したり引っ張ったりしてプラグを抜いたりする必要はありません。これは仕様書にありました。USBケーブルや小型のUSB機器は、レセプタクルからの把持力で固定されています。USBにはネジやクリップなどの留め具は必要ありません。接続をしたり壊したりするのに必要な力は小さい。これにより、不器用な位置での接続や、運動障害者による接続が可能になります。
- Type Cが登場する前は、コネクタはUSBネットワークのトポロジーを強制していました。USBは周期的なネットワークをサポートしていないため、互換性のないUSBデバイスのコネクタはそれ自体が互換性がありません。他の通信システム(RJ-45ケーブルなど)とは異なり、USB-On-The-Go(OTG)の出現以前はジェンダーチェンジャーはほとんど使用されていなかったため、周期的なUSBネットワークを作成することは困難でした。
耐久性
- コネクタは頑丈に設計されています。初期のコネクタの設計は壊れやすく、ピンやその他のデリケートな部品があるため、優しく扱っても簡単に曲がったり折れたりします。USBコネクタの電気接点は、プラスチックの舌で保護されています。接続アセンブリ全体は、通常、金属製のシースでさらに保護されています。その結果、USBコネクタは、小さな子供でも安全に取り扱い、挿入、取り外しができます。
- コネクタの構造は、内部の4つのコネクタが接続される前に、常にプラグの外部シースがリセプタクル内の対応する部分と接触することを保証します。このシースは通常、システムのグランドに接続されており、有害な静電気をこのルートで安全に放電することができます。このエンクロージャの手段はまた、それが嵌合したコネクタのペアを通過する間、USB信号に与えられた電磁干渉からの保護の(中程度の)程度があることを意味します(これは、そうでなければツイストされたデータペアが並列に距離を移動しなければならない場合、唯一の場所です)。また、電源と共通接続は、システムのグランドの後に行われますが、データ接続の前に行われます。このタイプの段階的なブレークタイミングは、安全なホットスワップを可能にし、航空宇宙産業のコネクタに使用されてきました。
- 新しいUSBマイクロレセプタクルは、標準的なUSBやMini-USBレセプタクルの500回に対し、レセプタクルとプラグ間の挿抜回数が最大10,000回になるように設計されています。これは、ロック装置を追加し、リーフスプリングコネクタをジャックからプラグに移動させることで、最もストレスのかかる部分が接続部のケーブル側になるようにしたことで実現した。この変更は、マイクロUSBデバイスではなく、(比較的安価な)ケーブル側のコネクタが最も摩耗に耐えられるようにしたものです。
互換性
- USB規格では、準拠するUSBコネクタの許容範囲が比較的大きく規定されています。これは、異なるベンダーが製造するコネクタの非互換性を最小限に抑えるために行われています(この目標は非常に成功裏に達成されています)。他のほとんどのコネクタ規格とは異なり、USB規格ではプラグ周辺の接続デバイスのサイズにも制限を設けています。これは、デバイスがそのサイズのために隣接するポートを塞ぐことを防ぐために行われました。準拠するデバイスは、サイズ制限内に収まるか、サイズ制限内に収まる準拠の延長ケーブルをサポートしなければなりません。
- 双方向通信も可能です。通常、ケーブルにはプラグしかなく、ホストと機器にはレセプタクルしかありません。AタイプのプラグはAタイプのレセプタクルに、BタイプのプラグはBタイプのレセプタクルにしか接続できません。しかし、USB On-The-Goと呼ばれるUSBの拡張機能により、1つのポートをホストまたはデバイスとして使用することができます。ケーブルが接続されてユニットが通話した後でも、プログラム制御の下で2つのユニットの端を「交換」することができます。この機能は、PDA のようなユニットを対象としており、USB リンクがあるインスタンスではデバイスとして PC のホストポートに接続し、別のインスタンスではホストとしてキーボードとマウスデバイスに接続することができます。


Aシリーズ「A」コネクタとリセプタクル。


USB Type-Cコネクタです。


USB延長コード
USBはどのように行われているか
USBシステムは非対称設計です。これは、ホスト、複数のダウンストリームUSBポート、およびスター型トポロジーで接続された複数の周辺機器で構成されています。階層には追加のUSBハブを含めることができ、最大5階層までのツリー構造に分岐することができます。
USB ホストは複数のホストコントローラを持つことができます。各ホストコントローラは、1つまたは複数のUSBポートを提供します。ハブデバイスを含む最大127個のデバイスを1つのホストコントローラに接続することができます。
USBデバイスはハブを介して直列にリンクされています。ルートハブとして知られているハブは常に1つです。ルートハブはホストコントローラに組み込まれています。共有ハブ」と呼ばれる特別なハブがあります。これらのハブは、複数のコンピュータが同じ周辺機器にアクセスすることを可能にします。これは、PC間のアクセスを手動または自動で切り替えることで動作します。これらは小規模オフィス環境で人気があります。ネットワーク用語では、それらは分岐するのではなく、収束します。
物理的なUSBデバイスは、デバイス機能と呼ばれる複数の論理的なサブデバイスを持つことができます。単一のデバイスは、複数の機能を提供することができ、例えば、マイクを内蔵したウェブカメラ(ビデオデバイス機能)(オーディオデバイス機能)を提供することができる。
USB デバイスの通信は、パイプ(論理チャネル)に基づいています。パイプは、ホストコントローラからエンドポイントという名前のデバイス上の論理エンティティへの接続です。エンドポイントという用語は、パイプを誤って参照するために使用されることがあります。USB デバイスは、ホストコントローラに 16 本、コントローラから 16 本のアクティブなパイプを最大 32 本まで持つことができます。
各エンドポイントは、デバイスの内部または外部のどちらか一方の方向にのみデータを転送できるため、各パイプは一方向です。エンドポイントはインタフェースにグループ化され、各インタフェースは単一のデバイス機能に関連付けられています。これに対する例外はエンドポイント・ゼロであり、これはデバイス構成に使用され、どのインターフェースにも関連付けられていません。
USB デバイスが最初に USB ホストに接続されると、USB デバイスの列挙処理が開始されます。列挙は、USB デバイスにリセット信号を送信することで開始されます。USB デバイスの速度は、リセット信号の間に決定されます。リセット後、USB デバイスの情報がホストによって読み込まれ、デバイスには固有の 7 ビットのアドレスが割り当てられます。デバイスがホストによってサポートされている場合、デバイスとの通信に必要なデバイスドライバがロードされ、デバイスは設定された状態に設定されます。USB ホストが再起動されると、接続されているすべてのデバイスに対して列挙プロセスが繰り返されます。
ホストコントローラは、通常はラウンドロビン方式でバスのトラフィックをポーリングするため、USBデバイスはホストコントローラからの明示的な要求なしにバス上のデータを転送することはできません。
ホストコントローラ
ホストコントローラとルートハブを含むコンピュータハードウェアは、プログラマのためのインタフェースを持っています。これはホストコントローラデバイス(HCD)と呼ばれ、ハードウェア実装者によって定義されます。
USB 1.0と1.1では、Open Host Controller Interface(OHCI)とUniversal Host Controller Interface(UHCI)という2つの異なるHCD実装がありました。OHCIはCompaq、Microsoft、National Semiconductorが、UHCIはIntelが開発した。
VIA TechnologiesはIntelからUHCI標準のライセンスを取得しており、他のすべてのチップセット実装者はOHCIを使用しています。UHCIはソフトウェアに依存しています。つまり、UHCIはOHCIよりも若干プロセッサ負荷が高いが、より簡単で安価に作ることができるということだ。2つの異なる実装があるため、オペレーティングシステムベンダーとハードウェアベンダーは、両方で開発とテストを行う必要があった。そのため、コストが増加した。
USBの仕様では、HCDインターフェースは一切規定されておらず、関係ありません。言い換えれば、USBはポートを介したデータ転送のフォーマットを定義しているのであって、USBハードウェアがそれが置かれているコンピュータと通信するためのシステムを定義しているわけではありません。
USB 2.0の設計段階では、USB-IFは1つの実装しかないと主張していました。USB 2.0のHCD実装はEHCI(Enhanced Host Controller Interface)と呼ばれています。EHCIだけが高速(480Mbit/s)転送をサポートしています。PCIベースのEHCIコントローラのほとんどは、フルスピード(12Mbit/s)をサポートするために「コンパニオンホストコントローラ」と呼ばれる他のHCD実装を持っており、特定のクラスのメンバーであることを主張するデバイスに使用することができます。オペレーティングシステムはすべてのデバイスクラスを実装することになっており、USBデバイス用の汎用ドライバを提供することができます。デバイスクラスはUSB Implementers Forumのデバイスワーキンググループによって決定されます。
USBデバイスクラス
デバイスクラスには、以下のようなものがあります。
クラス | 使用方法 | 説明 | 例としては、以下のようなものがあります。 |
00h | 装置 | 未指定クラス 0 | (デバイスクラスは不特定。インターフェイス記述子は必要なドライバを決定するために使用されます) |
01h | インターフェース | オーディオ | |
02h | 両方とも | 通信とCDC制御 | イーサネットアダプタ、モデム、シリアルポートアダプタ |
03h | インターフェース | ヒューマンインターフェースデバイス(HID) | キーボード、マウス、ジョイスティック |
05h | インターフェース | フィジカルインタフェースデバイス(PID | フォースフィードバックジョイスティック |
06h | インターフェース | イメージ | デジタルカメラ(ほとんどのカメラは記憶媒体に直接アクセスするためのマスストレージとして機能します。 |
07h | インターフェース | プリンター | レーザープリンター、インクジェットプリンター |
08h | インターフェース | マスストレージ | USBフラッシュドライブ、メモリカードリーダー、デジタルオーディオプレーヤー、外付けドライブ |
09h | 装置 | USBハブ | 全速ハブ、高速ハブ |
0Ah | インターフェース | CDCデータ | (このクラスはクラス 02h - 通信および CDC 制御と一緒に使用されます)。 |
零Bh | インターフェース | スマートカード | USBスマートカードリーダー |
0Dh | インターフェース | コンテンツセキュリティ | - |
0Eh | インターフェース | ビデオ | ウェブカム |
0Fh | インターフェース | パーソナルヘルスケア | - |
DCh | 両方とも | 診断装置 | USBコンプライアンス試験装置 |
イーゼロエイチ | インターフェース | ワイヤレスコントローラ | |
イーエフエフ | 両方とも | その他 | ActiveSyncとPalmの同期デバイス |
エフイーイー | インターフェース | アプリケーション固有 | IrDAブリッジ |
ffh | 両方とも | ベンダー固有の | (このクラスコードは、デバイスにベンダー固有のドライバが必要であることを示します)。 |
備考クラス0:インタフェース記述子でクラス情報を使用する。この基底クラスは,デバイスディスクリプタでクラス情報をデバイスのインタフェースディスクリプタから決定することを示すために定義されています。
.svg.png)

USBエンドポイントは実際には接続されたデバイス上にあります。


代表的なUSBコネクタ。
関連ページ
質問と回答
Q:USBとは何ですか?
A: USBはUniversal Serial Busの略で、電子機器をコンピュータに接続するための技術です。
Q:USBで接続できるデバイスの種類は?
A: ほとんどの人は、コンピュータのマウス、キーボード、スキャナー、プリンター、デジタルカメラ、USBフラッシュドライブにUSBを使用しています。また、スマートフォンやゲーム機など、その他の機器にも使用することができます。
Q:「ホットスワップ」とはどういう意味ですか?
A: ホットスワップとは、デバイスを交換する際にコンピュータの電源を切ったり、デバイスの電源を落としたりする必要がなく、デバイスを空いているソケットに差し込むだけで動作することを意味します。
Q: USBは電力を供給することができますか?
A: はい、USBはUSBコードを通して接続されたデバイスに少量の電力を供給することができます。わずかな電力しか必要としないデバイスは、別途電源プラグを必要とせず、バスから電力を得ることができます。
Q:パラレルポートのような古い規格はまだ使われているのですか?
A:パラレルポート、シリアルポート、SCSIのような古い規格は今では珍しくなっていますが、USBで代替できない仕事では、世界でもごく少数のコンピュータがこれらの古いコネクタをまだ使っているのです。
Q:世界中でどれくらいのデバイスがUSBを使用しているのですか?
A:世界中に60億台以上のUSBデバイスがあります。