読み方 : ユーエスビーコントローラ

USBコントローラ【USB controller】

概要

USBコントローラとはUSB接続による通信を制御する半導体チップ。パソコンなどのホスト側機器に内蔵され、USBコネクタを通じて接続された周辺機器とのデータ送受信を管理する。CPUからの指示に従って転送を実行し、受信の完了などをCPUに通知する役割を持つ。
USBコントローラのイメージ画像

USBコネクタに機器が接続されると、USBコントローラはその検出と認識を行い、通信速度や転送方式の設定を実施する。その後、CPUからの要求に応じてデータ転送を開始し、受信したデータメモリへ格納したり、処理結果を接続機器へ送信したりする。ホットプラグ機能による機器の抜き差しの検知や、通信エラーの検出、転送のスケジューリングなども担う。

パソコンではかつて独立した拡張チップとして実装されることが多かったが、現在はCPUやチップセット、SoCSystem-on-a-Chip)などに統合されている場合がほとんどである。一方、マイコンや組み込み機器向けには、必要な場合にUSB機能を追加するための単体コントローラICも製造・供給されている。機器によってパソコンやスマートフォンなどホスト側として動作するものと、USBメモリUSBキーボードのように周辺機器側として動作するものがあり、それぞれ異なる制御回路を備える。

USB規格の世代に応じて、対応するコントローラの仕様も変化してきた。USB 1.0/1.1の時代には、米インテル(Intel)社が策定した「UHCI」(Universal Host Controller Interface)と米コンパック(Compaq)社(当時)や米マイクロソフト(Microsoft)社らが策定した「OHCI」(Open Host Controller Interface)という、互いに非互換の2つの方式が並立していた。

USB 2.0では「EHCI」(Enhanced Host Controller Interface)として仕様が統一され、実装の混在状況は解消された。USB 3.0以降およびUSB4では「xHCI」(Extensible Host Controller Interface)が採用されている。xHCIはそれ以前の世代との後方互換性を持ち、USB 1.x、2.0、3.x世代の機器を単一のコントローラで管理できる。

USBコントローラはオペレーティングシステム(OS)からはデバイスドライバを介して利用されるハードウェアとして扱われる。ドライバがコントローラ固有の制御方式を抽象化することで、アプリケーションやOSの各機能が共通の手順でUSB機器を利用できる。USB機器の認識や通信が正常に行えない場合、コントローラやドライバの不具合、あるいは対応規格の相違が原因となることがある。

(2026.6.16更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。