オープンソースのIP Coreを利用したUSBシステムの実装

jp

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

実装の目的

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

USBホストCore

USBシステム: USBホストCoreについて
OpenCores FPGAに実装する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デバイスはデフォルトステートに移行ます。また、US...

まとめ

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