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

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

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

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

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

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