本文へスキップ


Cypress EZ-USB : EZ-USB FX2 56pin [1]

 まずEZ-USBの基本を理解するために、エントリーモデルであるEZ-USB FX2 56pinを実際に動かしてみましょう。

オプティマイズ製のキット:EZ-USB FX2 56pin

 EZ-USB FX2 56pinはオプティマイズさんのサイトで購入できるキットです。細かい部品のハンダ付けに自信がない方はキットの組み立てサービスを利用して作ってもらいましょう。すると後は通常の1/10インチ間隔の穴が開いたプリント基板をキットを結合させて、自分の好きな回路を組むことができます。このキットのWindows10用ドライバや開発環境は無償で手に入れることができます。特徴は、

1. 24pin(8pin x 3port(PA,PB,PD))のSimple I/Oを利用できる。これらの入出力方向を各ピン毎にプログラムできる。EZ-USB FX2は3.3V駆動のため出力は0V/3.3Vであるが、入力に5Vを与えても耐性があるため、5V駆動のHCTシリーズのロジックICに直接接続できる。つまりキット以外の回路を5V系TTLレベルで構築してキットに直接接続できる。ただし、HCシリーズICの入力は直接キットの出力には接続できない(+3.3VをHighと認識できないため)。
2. USBの電源供給能力(500mAまで)により+5Vをこのキットから供給できるため、別途電源が必要ない。また、3.3Vも供給できる。
3. 2本のハードウェア割込み線(INT0,INT1)がある。ただし、それぞれPA0,PA1と共用。

 また、各I/Oピンに機能が2重に割り振られているため、USB2.0仕様の高速データ転送(GPIF)など他の機能にも対応しています。また、I2Cインターフェース用のSDA/SCL信号も利用できます。しかし、弊社ではそれを用いた開発を行っていませんのでこれらを取り上げません。
 後で詳述しますが、24pinのうちの一部をアドレス線として使用することにより多数のI/Oを制御できます。例えば、PAをすべてアドレス線、PB,PDをデータ線とすれば、256アドレスx16pin=4096I/Oを制御できます(ただし、同時には16I/Oの制御だけ)。より回路を単純化したいとき、同時制御I/Oの数を増やしたいとき、またはシリアルインターフェース(UART)が必要な方は128pinを用いれば実現できます。また、ディズクリートなロジックICを多数組み合わせることが嫌な方は、CPLDやFPGAと組み合わせたキットを利用下さい。

 さて、以下のチュートリアルを実行するにあたって、まずEZ-USB FX2 56pinを手に入れて組み立ててください。

動作確認:その1

 早速組み立てたEZ-USB FX2 56pinをUSBケーブルでPCと接続しましょう。PC側のコネクタはUSB2.0でも3.0でも構いません。
 そして、PCデスクトップ左下のWindows マークを右クリック(「右」であることに注意)→デバイスマネージャを左クリック。すると右図のようにデバイスマネージャウィンドウに不明なデバイスが表示されます。

 更に不明なデバイスをダブルクリックすると、そのプロパティのウィンドウが表示されるので、ドライバーの更新ボタンを左クリックします。

 ドライバの更新ウィンドウで、→コンピュータを参照してドライバーソフトウェアを検索 を選択します。

 次の場所でドライバーを検索します。 の項目では参照ボタンを駆使して以下のフォルダを指定し、次へをクリックします。

 C:\Cypress\USB\CY3864_EZ-USB_FX2LP_DVK\1.1\Drivers\Win8.1\x64
 (Windows10 32bitを使用している方は\x64の代わりに\x86を指定してください。尚、これはWindows 8.1用のドライバですが、Windows10でも問題なく動作します)

 ドライバーが正常に更新されました と表示されたら閉じるボタンをクリックし、デバイスマネージャウィンドウ上でもユニバーサルシリアルバスコントローラーの項目の下に、Cypress EZ-USB NO EEPROM Deviceと表示されれば、接続されたEZ-USB FX2 56pinがドライバ(cysub3.sys)を介して正常に認識されました。

本チュートリアル関連ファイルのダウンロード

 以下のファイルをダウンロードしてください。ダウンロードしたらその場で解凍し、生成したGigatecEZ-USBフォルダをC:\へ丸ごとコピーしてください。ファームウェアやウィンドウズアプリケーションの開発をこのフォルダ下で行うと、移動やアンインストールはこのフォルダだけで完了します。

ダウンロードファイル : GigatecEZ-USB.zip

[注意]
 このzipファイル中のCyAPI.pdfは、元々Cypress Semiconductor社のHPのFX3関連のページからダウンロードしたもので著作権はCypress Semiconductor社にあります。しかしながら現在のCypress社のHPにおいてこのファイルを探せなかったためこのような形で提供いたします。弊社はこのファイルそのものを直接頒布することで利益を得ません。そしてこのzipファイルをダウンロードする方も、その内容を直接第三者に提供して利益を得ることはできません。他のファイルは弊社で作成したもので著作権は弊社にありますが、商用目的以外の私的利用については自由です。

ファームウェアのEZ-USBへのダウンロード

 開発したファームウェアを組み立てたEZ-USB FX2 56pinにダウンロードして動作確認します。
 ファームウェアのダウンローダーであるCyControl.exeはC:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Windows Applications\Application Source files\c_sharp\controlcenter\bin\Releaseフォルダにありますが、この場所が深すぎて使いにくいため、ショートカットをデスクトップに出しておきましょう。エクスプローラでこのフォルダ内のCyControl.exeを、CtrlキーとShiftキーを同時に押しながらデスクトップにドラッグすると、デスクトップにCyControl.exeのショートカットアイコンをセットできます。
 EZ-USB FX2 56pinをUSBケーブルを接続し、作成したCyControl.exeのショートカットアイコンをダブルクリックし、CyControl.exeを実行します。上図のように表示されればEZ-USBは正しく認識されています。... No EEPROM Device以外の表示が出た場合には、既にファームウェアが書き込まれています。この場合は、一旦USBケーブルをEZ-USBから外し、2個のジャンパのうちPROMの方を外してからUSBケーブルを接続し、再度CyControl.exeを実行します。そして、... No EEPROM Deviceと認識されているのを確認した後に、先程外したジャンパーを再び接続します。

 次に、ファームウェア(simpleio.iic)をEZ-USBにダウンロードします。右上図からProgram → FX2 → 64KB EEPROMと選択実行します。すると、Select File to Download ... ウィンドウが表示されます。ここでC:\GigatecEZ-USB\Firmware\simpleio\sinpleio.iicをファイル名に指定し、開くをクリックするとダウンロードが開始されます。USB Control Centerウィンドウ下部のステータスがProgramming Succeededと表示されればダウンロード成功で、EZ-USBキット内にあるEEPROMにsimpleio.iicが書き込まれました。

 最後に、EZ-USBからUSBケーブルを一旦外し一呼吸おいてから再度接続します。こうすることにより、EEPROM内にファームウェアが存在する場合にはそれが実行されるようになります。そして、USB Control Centerウィンドウの表示が...No EEPROM Deviceから... Sample Deviceに変更されます。

 USB Control Centerウィンドウを閉じます。

動作確認:その2

 ウィンドウズアプリケーションからEZ-USBが制御できることを確認します。simpleio.iicをダウンロードしたEZ-USBをUSBケーブルで接続した後、C:\GigatecEZ-USB\GtUSBBox.exeを実行します。
 右図のようにCypress FX2LP Sample Deviceとして認識されて、問題なくPort A/B/Dの内容が表示されればOKです。

 GtUSBBox.exeを実行する際「WindowsによってPCが保護されました」というウィンドウが表示されることがあります。これは、ダウンロードで得たような不明な実行ファイルをむやみに実行することによりウィルス感染する危険性を警告するためですが、本件の場合は大丈夫です。詳細情報をクリックしアプリとしてGtUSBBox.exeが表示されていることを確認した後、実行ボタンをクリックすることにより、問題なくGtUSBBox.exeを実行できます。

 次のページで、GtUSBBoxを用いながらEZ-USBの基本動作について学習します。

> 次に進む