1 of 12

VB版RefApp7.exeを利用した複数台接続の具体例

Smart-USB Plusシステム開発ボードの複数台制御方法” をご一読の上、ご覧ください

2 of 12

準備

VB版RefApp7をカスタマイズせずにボード制御する場合、FPGAを未コンフィグのままホストPCに接続しても正しく制御することができます。

...そのためには、同じ機種のボードを制御することと、手順が必要です。

3 of 12

ボードの認識

FPGAが未コンフィグ状態でホストPCに接続されると...

FPGA

FPGA

ホストPCでは、FPGAボードが2台接続していることを認識します。

1台ずつ検出して、それぞれにハンドル名を付けます。

例:001と002

ホストPC側 RefApp7の処理

ボード運用者は、PC側でのハンドル名が、どのボードに対応するのかわかりません。

4 of 12

RefApp7のボード認識

RefApp7.exeが2台のボードを認識

この例では、2台のボードをPCに接続していますが、ユーザはどのボードがどのボタンに割り付けられているのか、わかりません。

この状態で、どちらかのボタンをクリックすると、ボードに対してUSBコンフィグすることができます。

5 of 12

USBコンフィグ(1)

USBコンフィグ後は、目視でボードのコンフィグ状態を確認できます。  

引き続き、残りの1台のUSBコンフィグも行います。

6 of 12

USBコンフィグ(2)

2台目のUSBコンフィグが完了した画面です。VB版RefApp7ではボードが接続した時点で割り付けたハンドル名を元に、ボードを認識して制御しています。

7 of 12

USBコンフィグの完了

VB版RefApp7から、USB経由でFPGAコンフィグが完了

FPGA

FPGA

RefApp7からUSB経由でFPGAをコンフィグ完了。

FPGA未コンフィグ状態でPCに接続したときに検出したハンドル名により制御しています。

001

002

8 of 12

コンフィグ完了後のボード情報

ホスト側では、ボード固有の情報(インデックス・レジスタ値)を読み出していません。

チェックをはずすと、インデックス・レジスタ値を表示します。

インデックス・レジスタを読み出していないので、 "0Fh" を表示しています。

9 of 12

インデックス・レジスタによるボード認識

ボードリセットを行う。

VB版RefApp7では、1台のボードのリセットボタンを押すと、1台のPCに接続するすべてのボードが切断された状態になります。

その後、再度すべてのボードを検出し、ボードを認識します。

ボード制御できる状態

10 of 12

ボードリセット後

FPGAをコンフィグ後にボードリセットを行うと、VB版RefApp7は再度FPGAボードを検出し直し、FPGAからインデックス・レジスタを読み出します。

RefApp7はインデックス・レジスタ値を元にボード制御を行います。

ボードのインデックス・レジスタ値は、固定値です。

※ FPGA未コンフィグ状態では、PCが認識したハンドル名でボードを制御します。

ハンドル名は、固定値ではない。 

11 of 12

FPGAコンフィグ状態の違い

FPGAがコンフィグ状態

FPGAが未コンフィグ状態

PCにボードを接続した時点

(RefApp7起動)

RefApp7ではインデックスレジスタ値を読み出しておらず、PCが管理するハンドル名で制御が可能な状態

インデックス・レジスタ値により、ボード制御が可能な状態

順次、全てのボードのFPGAをUSBコンフィグする

どれか1台のボードのリセットボタンを押す

全てのボード制御が�可能な状態

インデックス・レジスタ値により、ボード制御が可能な状態

12 of 12

まとめ

ボードのコンフィグROMにプログラムせずに複数台制御を実施するには、同じ機種のボードを使うと便利です。

異なる機種を制御することも可能ですが、この場合はホストPCが認識したボードに対して、FPGAのコンフィグが成功するまで、USBコンフィグ動作を繰り返す必要があります。

FPGA専用のJTAGダウンロードケーブルが無くても、複数台制御ができます。