2015年3月12日木曜日

EZ-USB FX2LP を動かしてみる (2) サンプルプログラム

なにやら盛大にトラブってたりなんかして.

そもそも値段が安いからというだけで、EZ-USB FX2LPが載っているというだけで、amazonで謎のボードをポチッと買ったけど(今は在庫切れになってる)、そもそもその基板の正体はなんだ?
基板にLCSOFTと書かれているのでそれを手がかりに探したら、大陸の深センにあるのかカナダにあるのかよくわからないが会社は存在しているらしい.その基板回路図も見つかった.数年前に、この会社からBLUETOOTH moduleを買ったコトがあったかもしれない気がする.

↓回路図を見て、基板の右端にfirmware格納用の16kBYTE EEPROMがあり、その下にあるJPはそのEEPROMを活かすか殺すかだと、わかりました.
↓そそくさとJPを撤去してPCに繋ぐと、CypressのDVKのuser guide通りの名前でもってwin7のデバマネが認識しました.
↓VIDとPIDを表示させたら、おなじみの番号になりました.その1で.infに未記載のVID/PIDだった理由は、EEPROMに焼かれたLCSOFT製firmwareで起動していたからだったと思われる.
以後はJPを撤去した状態でいじってみる.

#後に述べるwinアプリ「USB Control Center」が基板を認識しない問題が生じたので、デバマネで「ドライバーの更新」をやり直したら回復した.JP撤去の何らかの副作用があったのだと思われる.

------
対象とするプリント基板は異なるが、DVKのuser guideに従ってごにょごにょとやってみる.

↓windowsのアプリ「USB Control Center」を起動する.左のペインにFX2LPが表示される.
C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Windows Applications\Application Source files\c_sharp\controlcenter\bin\Release\CyControl.exe
↓FX2LP基板のFLASHを殺してしまったので、firmwareをDLしてやる必要がある.サンプルfirmwareの、
C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Firmware\Bulkloop\bulkloop.hex
を指定する.
ここで期待する動作は要するに、
1) EZ-USB FX2LPが内蔵default firmwareで動いているところに、
2) bulkloop.hexというfirmware codeで上書きし、
3) EZ-USB FX2LPが自動的に上書きfirmwareで再起動し、
4) PCのデバマネに新しいUSBデバイスとして再認識してもらい、
5) 仕上げにUSB Control Centerに新しいUSBデバイスとして表示される
6) bulkloop動作を見学する
ってコトなわけです.CyPressはこのUSBデバイス生まれ変わりを「ReNumeratio」と呼称しているようです.

し・か・し、1234は正常終了するものの、なぜか5がダメ.「USB Control Center」が10秒ぐらいfreezeした後に基板を認識せずに黙ってしまう.これではダメ.

困ったので、CyPressのサイトを徘徊していたら、このページにUSB toolっぽいのがある.
http://japan.cypress.com/?rID=34870
CySuiteUSB_3_4_7_B204.exe というのをダウンロードしてインストールしてみたら、バージョン違いのUSB Control Centerがインストールされた.
↓これまで使って来た C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Windows Applications\Application Source files\c_sharp\controlcenter\bin\Release\CyControl.exe のバージョンは1.2.2.0 だったが、
↓CySuiteUSB_3_4_7_B204.exe によりインストールされたバージョンは 3.4.7.0 と全然違う.
C:\Cypress\Cypress Suite USB 3.4.7\CyUSB.NET\bin\CyControl.exe
これは期待ということで、さっそくfirmwareダウンロードをやってみた.

し・か・し、やはり”5”がダメ.上書きfirmwareを認識しない.

どうやら、USB Control Center 側の問題ではなさそうだ.
downloadするfirmwareバイナリ、すなわち、bulkloop.hex を疑ってみる.CySuiteUSB_3_4_7_B204.exe によって生成されたフォルダにも、恐らくはバージョンの新しいbulkloop.hex があるのだ.それをfirmware ダウンロードを試してみる.新版バイナリは次である.
C:\Cypress\Cypress Suite USB 3.4.7\Firmware\Bulkloop\bulkloop.hex

↓これでようやく動いた.firmware上書き動作”5”が完了した様子. (2.4GHz云々のデバイスは、3.4.7.0にバージョンアップしたら出現したが無視しておく)
-------
だいぶロスったがDVKのuser guideに再び戻る.

↓左のペインで、EZ-USB FX2LPを開いてOUTのエンドポイントを指定して、Transferボタンを押すと、512バイトがPC→FX2LPへバースト転送される.
↓Text to Sendにたとえば”hello”と打ってからTransferボタンを押すと5バイトが転送される.
↓左のペインでINのエンドポイントを指定して、Transfer Data-INボタンを押すと、512バイトをFX2LP→PCへ転送する.
↓Transferボタンをバシバシ押すとFX2LPが発狂してそのエンドポイントがハングってしまう.その状態でメニューにある「URB Stat」を押すと、
↓UNKNOWNというステータスが返される.
↓正常時のステータスはSUCCESSが返される.

 てなわけで、DVKのuser guideのさわりの部分は動作確認できました.

かしこ

その1へ   その3へ

INDEXページへ
https://hirasakausb.blogspot.com/2019/03/ez-usb-fx2lp-index.html

0 件のコメント:

コメントを投稿