ご無沙汰です、弊社のUSB3.0ボード”SVI-06”ですが、昨年末にフルHD
(1920x1080P)のリアルタイム表示が実現できて、現在は製品化のために
各種検証をしております。
SVI-06のSVI的ベースはSVI-03です。FW250、FPGA200をポーティング
しています。
SVI-03との違いは、
・USBチップがCypress社のEZ-USB FX/3に変更
・メモリーが128MBから256MBにアップ(増減オプションはなくなりました)
・FPGAのコンフィグレーションデータはFPGAに接続されたSPI-ROMに格納
・FPGA内にユーザーロジックを配置できるよう考慮
です。
SVI-06については弊社ホームページでも公開されていますので、そちらを
ごらんください。 http://www.net-vision.co.jp/
発売は3月を目標にしております、量産品のUSBチップが2月末リリース
予定なのでそれに合わせています。
現在試作品にて不具合修正中です。
現状の問題点は、
1.SVI-06ボードの起動が5秒かかる。
2.この5秒中にSVIのアプリを立ち上げると正常に起動しないことがある。
3.FPGAのUSBアップデートがSVIアプリからできない。
4.FX3のUSBアップデートがSVIアプリからできない。
などです。
貸出機もございますので、使ってみたい方がいればご連絡をお願いします。
まだ安定していませんが、動き出せば高速で動きます。早く安定させねば。
2012年02月06日
SVI-06開発状況
posted by 管理人 at 15:55| Comment(0)
| おしらせ
2011年11月09日
開発環境の構築8
Cypressの評価ボード、弊社SVI-06もFX3内ARMをデバッグするためにJTAG端子が付いています。
CypressのSDK内のFX3 Programing ManualではSEGGER社のJ-LlinkというJTAGデバッガを
使用していますので、さっそくDigiKeyで購入しました。ARMデバッガとしてはメジャーなようで
J-Link互換の他社のデバッガもあるみたいです。購入するとJ-Link本体、JTAGケーブル、USB2.0
ケーブルが同梱されるのみで、ソフトはSEGGER社よりダウンロードする必要があります。
URLはFX3 Programing Manualに記載されています。
ソフトをインストールし、J-LinkにUSB2.0ケーブルを接続し、
J-Link GDB Server via JTAGをスタートメニューからクリックし、Serverソフトを起動します。

JTAGケーブルをターゲット(評価ボードまたはSVI-06)に接続し、電源を入れるとTarget
Connectedになります。これでデバッグの物理的な準備は終わりました。
再び、FX3 Programing ManualにJTAGデバッグの章にのっとり、Eclipsの必要な設定を
していきます。英語で書いていることがよくわからないので、言われたとおりにして、何とか
デバッグできるようになったと思います。一応ブレークポイントも張れるし、ブレークするし
何とかなりそうです。
CypressのSDK内のFX3 Programing ManualではSEGGER社のJ-LlinkというJTAGデバッガを
使用していますので、さっそくDigiKeyで購入しました。ARMデバッガとしてはメジャーなようで
J-Link互換の他社のデバッガもあるみたいです。購入するとJ-Link本体、JTAGケーブル、USB2.0
ケーブルが同梱されるのみで、ソフトはSEGGER社よりダウンロードする必要があります。
URLはFX3 Programing Manualに記載されています。
ソフトをインストールし、J-LinkにUSB2.0ケーブルを接続し、
J-Link GDB Server via JTAGをスタートメニューからクリックし、Serverソフトを起動します。
JTAGケーブルをターゲット(評価ボードまたはSVI-06)に接続し、電源を入れるとTarget
Connectedになります。これでデバッグの物理的な準備は終わりました。
再び、FX3 Programing ManualにJTAGデバッグの章にのっとり、Eclipsの必要な設定を
していきます。英語で書いていることがよくわからないので、言われたとおりにして、何とか
デバッグできるようになったと思います。一応ブレークポイントも張れるし、ブレークするし
何とかなりそうです。
posted by 管理人 at 18:01| Comment(0)
| EZ-USB/FX3
2011年11月04日
SVI化
開発環境の構築は終わったと思うので、これからは実際にSVI-06として
動作するよう改造をしていきます。
まずは、USBのスタンダードデバイスリクエストをSVI化します。
今回のSVI-06では、USBのスタンダードデバイスリクエストはFX3のARM
マイコンで行い、ベンダーデバイスリクエストをSH-2マイコンで行います。
FX3SDKにはいくつかのサンプルファームがありますが、今回はSlaveFIFO
サンプルをベースにSVI化します。
SlaveFIFOサンプルは、FX3をFIFOとして使用できるようにするサンプルで
接続される外部コントローラからはFIFOのように見えます。
ホストPCからUSBパケットが来たら、このFIFOがNotEmptyになり、ホストPC
へUSBパケットを送信したい場合は、このFIFOがEmptyであればFIFOに
パケットを書き込んであげるという感じで行います。
SlaveFIFOのサンプルは、slfifosyncというフォルダに入っており、先日
すでにビルド済みなので、slfifosync.imgをダウンロードして、サンプル
を動かしてみたいと思います。
ControlCenterを立ち上げて、評価ボードの電源を入れ、BootLoaderが
表示されているのを確認して、slfifosync.imgをダウンロードします。
が、またほかのデバイスにFX3がびっくり付きで表示されてしまいました。
デバイスマネージャーを見ると、プロダクトIDが00F2になっています。
また、cyusb3.infを変更しなければなりません。プロダクトID変更後
ドライバー再インストールでFX3がユニバーサルシリアルバスコントローラー
に移動し、びっくりも消えました。
では、ControlCenterでslfifosync版FX3デバイスに何か書いてみます。
その前にこのslfifosync版FX3デバイスがどのようなInterfaceを
持っているか見てみます。
ControlCenterでConfigディスクリプタを見ることができます。

エンドポイントはIN用、OUT用でひとつずつ持っています。
まずはOUT(ホストPC->FX3)から。DataTransferタブに移動して、
Bulk out endpoint(0x01)を選択してTransferボタンをクリックします。

このような画面になりました。NULLデータが1024バイト送信(OUT)されたみたいです。
これがちゃんとFX3に行っているのかはFX3のデバッガなどで見るしかありません。
FX3の評価ボードでは、FX3の先に外部コントローラーがいないので、外部に対して
データが出ているかはわかりません。SVI-06では外部コントローラーにFPGAを
接続しますので、実機でやるまでデバッガで確認します。
IN転送は、Bulk in endpoint(0x81)を選択してTransferボタンをクリックします。

エラーになってしまいました。これは外部コントローラーがいないので、FX3の中でホストに
送るべきデータがいないのでエラーになったのではないかと推測します。エラーコード997の
意味はわかりません。これもデバッガですね。ということで次回はデバッガ導入で行きたいと
思います。お楽しみに。
動作するよう改造をしていきます。
まずは、USBのスタンダードデバイスリクエストをSVI化します。
今回のSVI-06では、USBのスタンダードデバイスリクエストはFX3のARM
マイコンで行い、ベンダーデバイスリクエストをSH-2マイコンで行います。
FX3SDKにはいくつかのサンプルファームがありますが、今回はSlaveFIFO
サンプルをベースにSVI化します。
SlaveFIFOサンプルは、FX3をFIFOとして使用できるようにするサンプルで
接続される外部コントローラからはFIFOのように見えます。
ホストPCからUSBパケットが来たら、このFIFOがNotEmptyになり、ホストPC
へUSBパケットを送信したい場合は、このFIFOがEmptyであればFIFOに
パケットを書き込んであげるという感じで行います。
SlaveFIFOのサンプルは、slfifosyncというフォルダに入っており、先日
すでにビルド済みなので、slfifosync.imgをダウンロードして、サンプル
を動かしてみたいと思います。
ControlCenterを立ち上げて、評価ボードの電源を入れ、BootLoaderが
表示されているのを確認して、slfifosync.imgをダウンロードします。
が、またほかのデバイスにFX3がびっくり付きで表示されてしまいました。
デバイスマネージャーを見ると、プロダクトIDが00F2になっています。
また、cyusb3.infを変更しなければなりません。プロダクトID変更後
ドライバー再インストールでFX3がユニバーサルシリアルバスコントローラー
に移動し、びっくりも消えました。
では、ControlCenterでslfifosync版FX3デバイスに何か書いてみます。
その前にこのslfifosync版FX3デバイスがどのようなInterfaceを
持っているか見てみます。
ControlCenterでConfigディスクリプタを見ることができます。
エンドポイントはIN用、OUT用でひとつずつ持っています。
まずはOUT(ホストPC->FX3)から。DataTransferタブに移動して、
Bulk out endpoint(0x01)を選択してTransferボタンをクリックします。
このような画面になりました。NULLデータが1024バイト送信(OUT)されたみたいです。
これがちゃんとFX3に行っているのかはFX3のデバッガなどで見るしかありません。
FX3の評価ボードでは、FX3の先に外部コントローラーがいないので、外部に対して
データが出ているかはわかりません。SVI-06では外部コントローラーにFPGAを
接続しますので、実機でやるまでデバッガで確認します。
IN転送は、Bulk in endpoint(0x81)を選択してTransferボタンをクリックします。
エラーになってしまいました。これは外部コントローラーがいないので、FX3の中でホストに
送るべきデータがいないのでエラーになったのではないかと推測します。エラーコード997の
意味はわかりません。これもデバッガですね。ということで次回はデバッガ導入で行きたいと
思います。お楽しみに。
posted by 管理人 at 18:56| Comment(0)
| EZ-USB/FX3