CQ出版 FPGAマガジン No.2 「USBフル/ロースピード対応USBホストシステムの実装~ハードウェア編~」の元になった記事です。
実装の目的

USBシステム: 実装の目的
システム実装の動機インタラクティブなアプリケーションでは、画面上のオブジェクトにユーザーのアクションを反映させる為の入力手段が必要になります。入力手段としては、シリアルターミナルからのキー入力や、ゲームPADの様な入力デバイスが良く用いられ...
USBホストCore

USBシステム: USBホストCoreについて
OpenCoresFPGAに実装するUSBホストCoreは、OpenCores*1で配布されているオープンソースのUSB IP Core(USB 1.1 Host and Function IP core)を利用しました。Coreの動作確認...
ハードウェア実装

USBシステム: ハードウェア実装
システム構成今回、実装を行うシステムの構成です。 CPUはSH-4A USBホストCoreを含むすべての回路は、Local Busに接続されたFPGA(Spartan3 XC3S400)に格納 USB TYpe-AコネクタからのUSBバス信...
ソフトウェアドライバの作成

USBシステム: ソフトウェアドライバの作成
目的とするUSBデバイス(ゲームPAD)が動作するシンプルなドライバを作成します。USBホストCoreの初期設定ゲームPADを接続してUSBホストCoreからバスリセットを行うと、USBデバイスはデフォルトステートに移行ます。また、USBホ...
まとめ

USBシステム: まとめ
オープンソースのUSBホストCoreを利用する事で、下位レベルのCRC計算やNRZIエンコーディング実装の手間を省略でき、比較的短時間でUSBホスト機能をシステムにを実装できました。今回のUSBホストCoreの実装で気付いた点をまとめました...