簡易テキスト版

簡易テキストページは図や表を省略しています。
全文をご覧になりたい方は、PDF版をダウンロードしてください。

全文(PDFファイル:107KB、2ページ)

画面表示とネットワークに対応したLinux搭載FPGAシステムの開発

■電子情報部 ○米沢裕司 田村陽一

1.目 的
 LSIの一種であるFPGA(Field Programmable Gate Array)は,検査装置や計測装置などの各種電子機器で用いられており,センサ情報の演算処理などの用途に使われている。これは,FPGAには内部の電子回路の構成を用途に応じて定められるという特徴があり,これにより任意の処理(ハードウェア処理)をソフトウェア処理に比べて高速に行えるためである。
 しかし,検査装置や計測装置では,センサ情報の演算処理だけではなく,結果の画面表示やネットワーク経由のデータ送受信が必要となる場合が多く,これらの処理は非定型的かつ複雑であり,ハードウェア処理には適していない。そのため,センサ情報の演算はFPGAでハードウェア処理する一方で,画面表示などはパソコン等でソフトウェア処理する必要があり,FPGAとパソコン等の併用によりコスト高となる場合があった。
 そこで,本開発では,FPGAにCPU回路等を組み込むとともに,OS(基本ソフト)の一種であるLinuxなどのソフトウェアを動作させることにより,パソコン等を併用しなくても,FPGAのみで画面表示やネットワークに関する処理を行うことができるシステムを構築した。

2.内 容
2.1 FPGAボードの開発
 開発したFPGAボードの外観を図1に示す。このボードは,図2のブロック図の機能を持ち,画面表示やネットワーク処理を含む様々な処理を可能にした。構造は2段になっており,下段のボードはザイリンクス社製の評価ボード「Spartan-3ADSPスタータプラットフォーム」を改造して128bitのフラッシュROMを実装したものを用いた。このフラッシュROMには,後述のソフトウェアや各種データを格納した。また,ネットワーク用IC(ASIX社製AX88796BLF),キーボード・マウスコネクタ(PS/2形式)などを実装した上段のボードを開発し,下段のボードとコネクタで接続した。
 FPGA(Spartan-3ADSP1800)には,ソフトウェアの動作に必要な回路や,キーボード等の周辺機器の制御に必要な回路を構築した。構築した回路は,32bitのCPUであるMicroBlaze,ネットワーク用IC制御回路,画像信号生成回路,キーボード・マウス制御回路などである。また,FPGA上にはこれらの回路以外に任意の回路を追加することができる。例えば,センサ信号を高速処理するための回路などを構築することができ,本システムは様々な用途に用いることができる。

(図1 FPGAボードの外観)
(図2 ブロック図(概要))
(図3 WideStudioを用いた画面表示の例)

2.2 ソフトウェアの構築
(1) Linux
 ソフトウェアで複雑な処理を行う際には,一般にOSを用いることが多い。そこで本開発では,OSの一種であるLinuxを,FPGAボード上で動作するようにソースコードを変更し,搭載した。これにより,Linux用の各種ソフトウェアがFPGAボード上で動作するようになった。また,ユーザがLinux上で動作する独自のソフトウェアを制作し,FPGAボードで動作させることも容易に行えるようになった。
(2) ネットワーク機能
 FPGAボード上のネットワーク制御用ICからネットワークにデータを送受信するためのソフトウェア(デバイスドライバ)を構築した。このデバイスドライバやLinux用の各種ネットワークソフトウェアをFPGAボードで動作させることにより,Telnet,HTTP,FTP,NFSなどのネットワークサービスを利用できるようにした。
(3) 画面表示(GUI)機能
 電子機器は,機器の出力(例えば検査装置では検査結果)や操作方法をわかりやすくすることも重要であり,そのための手段として,メニュー,ボタン,文字などをグラフィカルにモニタ画面に表示し,マウスなどで操作するGUI(Graphical User Interface)機能を持たせることにした。本開発では,GUIを簡単に構築するためのソフトウェアツールであるWideStudio1)をFPGAボード上で動作するようにし,搭載した。WideStudioを用いることにより,用途に応じて,メニュー,ボタン,文字などの表示位置やサイズ,色などを簡単に設定して画面に表示することができ(図3),マウスやキーボードを用いた入力操作も直感的に行えるようになった。

3.結 果
 Linuxを搭載した汎用のFPGAシステムを開発した。本システムを用いれば,ハードウェア処理によって高速な処理が行える上に,ネットワークや画面表示の機能もパソコン等を併用することなく,FPGAシステムのソフトウェア処理によって簡単に実現することができる。このため,本システムを検査装置や計測装置などに応用すれば,パソコン等を用いた場合に比べて,処理の高速化や装置の小型化が図られることが期待できる。

1) 平林俊一. WideStudio徹底ガイドブック. パーソナルメディア, 2004, 739p.