Spartan-6評価ボード>コラム>EXCELから使う

EXCELから使う

Microsoft Excelとの接続

特殊電子回路製FPGA評価ボード「TKDN-SP6-ES/16/45」は、Excelと接続してデータ計測や制御に役立てることができます。本ページではそのやり方を紹介します。

 

ExcelとSpartan-6がつながる

(クリックで拡大)

 

ExcelからSpartan-6評価ボードを操作するため、VBAマクロという機能を使っています。

このマクロは、Spartan6ボードからUSBを通じてデータを取りだしたり、書き込んだりできます。取得したデータはExcelのシート上に数字で書かれるだけでなく、即座にグラフを作成します。

入出力するデータは8bitとして扱うことも、16bitとして扱うこともできます。

 

なお、データ長は最大で32000に制限されています。

これは、Excel 2000でのグラフの描画とセルへの書き込みのための制約です。

マクロのソースは公開されているので、カスタマイズしてご利用いただけます。

 

EXCELで使うための準備

まず、下記のボタンを押して、マクロの同梱されたシートTKDN-SP6-Capture.xls"をダウンロードしてください。

そのExcelのファイルと同じディレクトリに、tkusb.dllを置いておいてください。

 

 

これで、ExcelのマクロからUSBを通じてSpatan6と通信ができるようになります。

 

EXCELで使うための手順

? デモンストレーションを行うために、Spartan-6ボードにサンプル・リファレンス・デザインか、USBサンプルデザインを書き込んでおいてください。お客様が作成されたデザインがあれば、それを書き込んでください。

Spartan-6ボードに特電USB IPコアが実装されると、各USB関数が使えるようになります。

 

? シートを最初に開いたときには、下の図のように、データもグラフも何もない状態で起動します。

 

Excelのワークシートを開いた状態

(クリックで拡大)

 

? 「USB Read」と書かれたボタンを押すと、「ターゲット」で選択されたソースからデータがキャプチャされ、下の図のように数値とグラフが表示されます。ワークシートにグラフが存在しない場合は新しくグラフを作成されます。グラフがある場合はそのグラフの内容が書き換えられます。

デフォルトでは、ワークシートのA6番からデータ番号とデータが書き込まれます。ワークシートのどこの場所から書き換えられるかは、マクロの先頭でpublicな定数として定義されているので、簡単に変更できます。

 

データを取り込んだ状態

 

? 「USB Write」と書かれたボタンを押すと、シート上のB6番より下に書かれた数値がSpartan-6ボードへ送られます。

 

? 取得するデータのソースや、送信するデータのターゲットには、FPGA内で作りだすテストパターンのほか、ブロックRAMの内容や、DDR2 SDRAMの内容、GPIOが選択できます。

データソースの選択

 

? このように、Excelのシートの決まった位置に、取得したデータや送信したいデータが数値として貼り付けられます。エクセルだからデータのコピーやレポートの作成が簡単にできるので、とても簡単に計測・制御への応用ができます。

 

応用例

次の図は、OV7670で作るCMOSデジカメのデザインを書き込んで、CMOSイメージセンサをつないで、先頭10ライン(の輝度データ)を読み出した場合の読み込んだ場合の表示です。DDR2 SDRAMにはカメラの画像が書き込まれるので、このようなデータが読みだされます。
 

OV7670は水平方向のドット数は640なので、640周期で繰り返しの波形が見えました。これは画像の輝度データをラインごとになぞったものです。

グラフにすると、次の図のようになります。

カメラの画像をExcelで取り込み、波形で表示

まとめ

Excelのマクロは、ALT+F11を押せば見ることができます。

このマクロはソースコードで提供しているので、自由に参照や変更をすることができます。

ぜひとも、いろいろな用途に組み込んでみたり、遊んだりしてみてください。

 

皆様がExcelを計測・制御用途に使う際のお役にたてていただければ幸いです。

 

Excelマクロのソースコード表示

 


© 2015 TokushuDenshiKairo Inc. All rights reserved