Intelなど業界大手が中心となり策定した、汎用のシリアルバス規格。
USB 3.0では、Intelが中心となる「USB 3.0 Promoter Group」により策定された。
規格完成後は、USB規格の管轄団体である「USB Implementers Forum」(USB-IF)に、その管理を移管した。
接続に使用するコネクタはUSBコネクタと呼ばれる。
USB 1/2/3までで、標準のものが二種類、ミニ型が三種類、合計で5種類が規定されている。
標準コネクタであるAコネクタは約12mm×5mm角、デバイス専用のBコネクタは8mm角となっており、Aコネクタの形状や発想は、任天堂のゲームボーイの通信ケーブルを参考にしたと言われている。
但し、USB 2.0までと、USB 3.0では、端子数が異なる。USB 3.0の機能を使うためには、USB 3.0用のケーブルやUSB HUBなどを使用せねばならない。
ケーブル長は最大5m。
あくまでも、USBホスト(パソコン)対各種周辺機器、という用途が想定されているため、通信は必ずホストを介して行ない、ターゲット同士で直接通信は配慮されていない(後からUSB On-The-Goが登場した)。
その代わり、通信制御の面倒な部分は全てホスト側で全て賄い、機器側は単純な構成で利用可能とし、コストを低く抑えられるようになっている。
伝送速度は、USBのバージョンごとに、次のようになっている。
USB 2.0以降は、新規に追加されたモードのみ記載するが、古いモードも利用できる。
元々は低速がUSB、高速がIEEE 1394という棲み分けが想定されていた。
しかし、パーソナルコンピュータではIEEE 1394は全く普及せず、USBが普及したことから、こちらの高速化が行なわれることになった。
USB 2.0仕様でハイ・スピード(480Mbps)が追加されたことで、帯域についてはIEEE 1394に対抗し得る規格となった。
USB 3.0仕様では更に速度は10倍となり、シリアルATAの2倍速相当にまで高速化された。
Windows 98やWindows 2000以降で標準サポートされている。
登場当初は出足が鈍く、普及が危ぶまれた(当時はIEEE 1394が本命と考えられたため)ものの、Windows 98やiMacで標準対応したため徐々に普及した。
USB 2.0で速度が高速になったことなどから更に普及、もはやパソコンには無くてはならないものとなった。
USB 2.0までの信号線は4本で、信号ライン(緑D+、白D−)と電源ライン(赤VBUS、黒GND)がありコネクタも4ピンである。
ミニコネクタには更に1本、USB On-The-Goで使うID信号が追加されている。
信号線は差動(平衡)の半二重伝送である。但しEIA-232等と違うのは、物理層だけでなくその上位層も規定がされており、送信データは先頭にアドレスやエンドポイントの番号、最後にCRCを付けた、パケット単位での通信されるという点である。
USB 3.0では、新たに5本の信号線が追加された。
コネクタの寸法等は従来と変わらず、従来の4本の信号線も変わらないが、コネクタの奥の方に新たな5ピンが加えられている。
5本の内訳は、信号ライン(送信線、受信線が各2本)とGNDである。
従来の4ピンとは独立して機能するため、既存のコネクタに接続すればUSB 2.0相当で利用可能な、後方互換性が確保されている。
信号レベルは、ロー・スピードとフル・スピードが、VIHが2.0V以上、VILが0.8V以下であり、つまりTTLレベルである。
対してハイ・スピードではHが360mV以上(一般的には400mV以上にする)、Lが10mV以下となる。
USBはバスなので終端抵抗が必要である。ただし、SCSIなどと異なり、USBの場合はホスト側(ICチップ)または機器に内蔵されているため、ユーザが明示的に接続する必要はない。
USBホストに何も接続されていない時は、D+/D−共にホスト内蔵の15kΩ±5%でプルダウンされており、信号レベルは「L」である。ホストは、この状態でD+/D−の変化を監視している。
ロー・スピード機器が接続された場合、ターゲットはD−を1.5kΩ±5%でプルアップし、信号レベルを「H」とする。
フル・スピード機器またはハイ・スピード機器が接続された場合、ターゲットはD+を1.5kΩ±5%でプルアップし、信号レベルを「H」とする。
フル/ハイの識別は、USBリセット中に「Chirp」というプロトコルにより、ホスト/ターゲットの双方がハイに対応しているかどうかが確認される。