VB版RefApp7.exeを利用した複数台接続の具体例
”Smart-USB Plusシステム開発ボードの複数台制御方法” をご一読の上、ご覧ください
準備
VB版RefApp7をカスタマイズせずにボード制御する場合、FPGAを未コンフィグのままホストPCに接続しても正しく制御することができます。
...そのためには、同じ機種のボードを制御することと、手順が必要です。
ボードの認識
FPGAが未コンフィグ状態でホストPCに接続されると...
FPGA
FPGA
ホストPCでは、FPGAボードが2台接続していることを認識します。
1台ずつ検出して、それぞれにハンドル名を付けます。
例:001と002
ホストPC側 RefApp7の処理
ボード運用者は、PC側でのハンドル名が、どのボードに対応するのかわかりません。
RefApp7のボード認識
RefApp7.exeが2台のボードを認識
この例では、2台のボードをPCに接続していますが、ユーザはどのボードがどのボタンに割り付けられているのか、わかりません。
この状態で、どちらかのボタンをクリックすると、ボードに対してUSBコンフィグすることができます。
USBコンフィグ(1)
USBコンフィグ後は、目視でボードのコンフィグ状態を確認できます。
引き続き、残りの1台のUSBコンフィグも行います。
USBコンフィグ(2)
2台目のUSBコンフィグが完了した画面です。VB版RefApp7ではボードが接続した時点で割り付けたハンドル名を元に、ボードを認識して制御しています。
USBコンフィグの完了
VB版RefApp7から、USB経由でFPGAコンフィグが完了
FPGA
FPGA
RefApp7からUSB経由でFPGAをコンフィグ完了。
FPGA未コンフィグ状態でPCに接続したときに検出したハンドル名により制御しています。
001
002
コンフィグ完了後のボード情報
ホスト側では、ボード固有の情報(インデックス・レジスタ値)を読み出していません。
チェックをはずすと、インデックス・レジスタ値を表示します。
インデックス・レジスタを読み出していないので、 "0Fh" を表示しています。
インデックス・レジスタによるボード認識
ボードリセットを行う。
VB版RefApp7では、1台のボードのリセットボタンを押すと、1台のPCに接続するすべてのボードが切断された状態になります。
その後、再度すべてのボードを検出し、ボードを認識します。
ボード制御できる状態
ボードリセット後
FPGAをコンフィグ後にボードリセットを行うと、VB版RefApp7は再度FPGAボードを検出し直し、FPGAからインデックス・レジスタを読み出します。
RefApp7はインデックス・レジスタ値を元にボード制御を行います。
ボードのインデックス・レジスタ値は、固定値です。
※ FPGA未コンフィグ状態では、PCが認識したハンドル名でボードを制御します。
ハンドル名は、固定値ではない。
FPGAコンフィグ状態の違い
FPGAがコンフィグ状態
FPGAが未コンフィグ状態
PCにボードを接続した時点
(RefApp7起動)
RefApp7ではインデックスレジスタ値を読み出しておらず、PCが管理するハンドル名で制御が可能な状態
インデックス・レジスタ値により、ボード制御が可能な状態
順次、全てのボードのFPGAをUSBコンフィグする
どれか1台のボードのリセットボタンを押す
全てのボード制御が�可能な状態
インデックス・レジスタ値により、ボード制御が可能な状態
まとめ
ボードのコンフィグROMにプログラムせずに複数台制御を実施するには、同じ機種のボードを使うと便利です。
異なる機種を制御することも可能ですが、この場合はホストPCが認識したボードに対して、FPGAのコンフィグが成功するまで、USBコンフィグ動作を繰り返す必要があります。
FPGA専用のJTAGダウンロードケーブルが無くても、複数台制御ができます。