USB デバイス・コントローラ

USBデバイスにはUSBデバイス・コントローラがいます。 USBデバイス・コントローラはホストからの指示に従ってデータを送受信したり、イベントの通知を行います。 USBは基本的にホストとデバイス・コントローラ間でやり取りを行いUSBデバイスにアクセスします。

イベント通知

USBデバイスがデバイス・コントローラに接続されるとホストに割り込みを発生させます。

エンドポイント

デバイス・コントローラが1つでもその先に繋がるUSBデバイスは複数あります。 それあの端点をエンドポイントと呼び、デバイス・コントトーラはエンドポイントを切り替えることで複数のUSBデバイスをアクセスします。

データの送受信

デバイス・コントローラはエンドポイント用にFIFOを用意しています。 このFIFOを使用してデータのやりとりを行います。 FIFOのアクセスはホストが自発的に行い、デバイス・コントローラから自発的にデータ転送を行うことはありません。