この記事は、 Programmer's Pocket Reference から内容を抜粋して再度編集したものです。
概要
USBはコンピューターに簡単に、そして様々な機器を接続できるようにするために作られた規格である。最新のUSB 3.2 + USB PDでは、20Gbps ・20V 5A(100W)にまで対応している。互換性が保たれており、USB 1.0 のキーボードはUSB 3.2対応のポートでも問題なく使用することができる。
詳細
現在接続されている機器の詳細を調べたい時
Windows
Microsoftによって公開されているUSBViewが便利である。
macOS
$ ioreg -p IOUSB -l -w 0
$ system_profiler SPUSBDataType
Ubuntu
$ lsusb -v # see bDeviceClass
デバイスクラス
機器の機能を識別するためにデバイスクラスが使用される。よく使われるデバイスクラスはOSによりサポートされており、標準ドライバが準備されている。
コネクタとケーブル
USB 3.0ではMini端子はdeprecatedとなり、端子を増やしてSuperSpeedに対応したA/B端子と横長のMicro B(SS)端子が登場した。2014.08にはUSB Type-Cが規格制定され、今後主流になっていく。USB延長 ケーブル(Cオス-Cメス)や、USB Aオス-USB Type-Cメスなどは市販はされているが、規格上禁止されているものであり注意が必要である。
Battery Charge
USBでは、標準では5V 500mA(USB 2.0)まで給電が可能であった。USB BC 1.2では5V 1.5Aまでの給電に対応している。その他、同様の目的のものに Quick Charge (Qualcomm)があるが、こちらは標準規格ではない。
USB 3.0/3.1/3.2
現在は、USB3.0/3.1は USB 3.2 Gen nxn (下表参照)という名称になっている。Enhanced SuperSpeedという用語が使われることがあるが、こちらは旧USB 3.0の SuperSpeed(Gen1x1) と、旧3.1以降の SuperSpeedPlusの両方を合わせたものである。