簡易テキスト版

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

全文(PDFファイル:437KB、4ページ)


FPGAを用いた高速信号処理ボードの開発

■電子情報部 米沢裕司 田村陽一
■企画指導部 漢野救泰

 検査装置や制御装置,計測装置の高速化と小型化を目指し,FPGAを用いた高速信号処理ボードを開発した。本研究では,まず,信号処理の用途を問わず必要となる信号入力や通信を行うためのFPGA回路を開発した。次に,凝固検査装置と路面監視装置における信号処理を行うためのFPGA回路を開発した。また,これらのFPGA回路を搭載した信号処理ボードを試作し,その動作確認をした。
キーワード:FPGA,高速,信号処理,画像処理

Development of FPGA-based High-speed Signal Processing Boards

Yuji YONEZAWA, Youichi TAMURA and Sukeyasu KANNO

We developed FPGA-based high-speed signal processing boards to speed up and downsize devices for inspection, control and measuring. First, we developed FPGA circuits for signal input and communication, which were required for signal processing regardless of their intended purpose. Next, we developed FPGA circuits for signal processing for the purpose of inspection of coagulated products and road surface monitoring. Finally, we developed signal processing boards using these FPGA circuits, and verified their performance.

Keywords:FPGA, high-speed, signal processing, image processing

1.緒  言
  検査装置,制御装置や計測装置は,一般に,センサなどからの入力信号に対して何らかの演算処理,すなわち信号処理を行い,その結果に基づいて動作する。例えば,画像検査装置では画像センサ(カメラなど)の信号を処理して,被写体の形状や寸法などの良否判定を自動的に行っている。
このような装置の多くでは,CPUボードやパソコン上で動作するソフトウェアによって信号処理を行っている。しかし,CPUの処理能力は,近年の性能向上が著しいとはいえ,信号処理の内容によっては必ずしも十分ではない。例えば,大量の信号を短時間に処理する必要があったり,瞬時に信号処理の結果を出力する必要があったりする場合などは,CPUによるソフトウェア処理では十分な性能や速度が得られないことも少なくない。また,パソコンを用いてソフトウェア処理を行う場合,パソコンのサイズが装置の小型化の妨げになっている。
そこで,本開発では,FPGA (Field Programmable Gate Array)に注目した。FPGAは回路構成の書き換えができる集積回路であり,CPUによるソフトウェア処理に比べて高速な処理が可能である1)。そして,FPGAで信号処理を行えば,信号処理部分にパソコンのような大きさを必要とせず,装置の小型化を図ることができる。また,ASIC(Application Specific Integrated Circuit)との比較では,FPGAはデバイスの単価が割高ではあるが,開発費が安価であるため,よほどの生産数が見込まれない限り,開発費を含めた単価はFPGAのほうが安価である1)。さらに,FPGAは回路構成の書き換えができるため,装置に不具合が判明した場合の修正や装置の性能向上のための改良を行うことができるという利点がある。
そこで,FPGAを用いた高速信号処理ボードを開発し,検査装置等の高速化や小型化を目指した。開発にあたって,まず始めに,入出力など信号処理に汎用的に使用される周辺回路を開発した。次に,信号処理ボードの具体的な用途を定め,この用途に特化したFPGA回路を開発した。そしてこのFPGA回路を搭載した信号処理ボードを試作して動作確認した。

2.周辺回路の開発
2.1 開発の概要
  信号処理において,信号の入出力や通信は重要な要素であり,信号処理の用途を問わず必要である。信号処理ボードの開発に先立ち,これら入出力や通信などの周辺回路を開発した。回路開発は,ハードウェア記述言語Verilog HDLにより回路記述し,Xilinx社製のFPGAであるSpartanファミリ上に開発した回路を実装した。開発した各種回路について次節以降で述べる。

2.2 アナログ信号入力回路
  センサの出力として一般的なアナログ電圧信号を,FPGAで取り扱うための入力回路を開発した。回路にはシリアルA/Dコンバータを使用し,サンプリング周期1MHz,10bitでアナログ信号を入力できる。

2.3 RS170信号入力回路
  FA用アナログカメラで多く用いられている映像信号であるRS170信号2)をFPGAで取り扱うための回路を開発した。回路には,水平同期信号から1画素単位の入力タイミングを生成するPLL(Phase Locked Loop)を搭載した映像用A/Dコンバータを使用し,映像信号を8bitで入力できる。

2.4 CameraLink信号入力回路
FA用デジタルカメラで多く用いられているインタフェイス規格であるCameraLink3)に準拠した信号をFPGAで取り扱うための回路を開発した。回路にはシリアル−パラレル変換ICを使用し,入力されたCameraLink信号(パラレルデータ)を並べ替えてFPGAに入力するようにしている。

2.5 VGA出力回路
信号処理結果を映像出力するため,パソコンなどにおいて広く普及している映像表示規格の一つであるVGAの出力回路を開発した。回路には映像用D/Aコンバータを使用し,1024階調の映像を出力できる。

2.6 通信回路
信号処理の結果や信号処理の設定データなどは,FPGAと外部デバイスとの間で送受信する必要がある。そこで,2線シリアルインタフェイスとRS232Cの2種類の通信回路を開発した。2線シリアルインタフェイスはFPGAボード内での通信に使用し,RS232CはFPGAボードと外部機器との通信に使用する。

2.7 メモリアクセス回路
  画像データなど大容量のデータの処理を行うには,FPGA内部のメモリのみでは不足するため,FPGA外部のメモリモジュールにFPGAからアクセスする必要がある。そこで,FPGAからSDRAM(Synchronous Dynamic Random Access Memory)にアクセスするための回路を開発した。画像処理を行う際に,FPGAから同時に複数の画像データにアクセスできるように,画像ごとにSDRAM内の異なるバンクへデータを格納するようにしている。

2.8 フラッシュメモリ制御回路
  信号処理においては,動作設定データや係数,閾値などのパラメータを用いることが多い。このパラメータの値は信号処理ボード上に保存し,電源投入時にはFPGAに読み込ませる必要がある。そこで,EEPROM(Electronically Erasable and Programmable Read Only Memory)にパラメータを保存することとし,そのための回路を開発した。EEPROMとFPGAとは上述の2線シリアルインタフェイスにより通信を行い,データの授受を行う。

2.9 FPGAボードの試作と動作確認
周辺回路の動作確認を行うため,上述の2.2〜2.8の回路を実装したボードの試作を行った。
図1のボードはRS170信号入力回路,VGA出力回路,通信回路などから構成されており,入力された画像をVGAに変換して出力するボードである。FPGAでは入力画像の水平同期信号と垂直同期信号をカウントしながら入力画像と同じ画像信号を生成している。そして,出力画像は入力画像と比較して劣化やノイズがほとんどなく,回路が正常に動作していることを確認した。
図2のボードは,VGA出力回路を搭載した規則的なテストパターン画像を出力するボードである。フラッシュメモリに保存されているパラメータに基づいたテストパターンが出力されており,回路が正常に動作していることを確認した。

(図1 映像入出力ボードの外観とブロック図)
(図2 テストパターン出力ボードの外観)

3.凝固検査装置への応用(応用例1)
3.1 凝固検査装置とは
  凝固検査装置は食品(豆腐,ゼリー,ヨーグルト等)の凝固状態を検査する装置であり,レーザのスペックルパターン(干渉光)を信号処理することにより,自動的に検査を行うものである4)。従来は,パソコンによって信号処理を行っていたが,パソコンによる処理では豆腐1丁あたり0.5秒程度の処理時間を要し,用途によっては,より高速な処理が求められていた。また,パソコンを用いているため,検査装置の小型化が困難であった。そこで,凝固検査に必要な信号処理をFPGAによって行うボードを開発した。

3.2 凝固検査用信号処理ボードの概要
  開発したボードを図3に示す。このボードはCameraLink信号入力回路,通信回路,フラッシュメモリ制御回路,凝固検査回路,凝固検査結果出力回路などから構成されている。
ラインセンサカメラからの信号(光強度信号)はCameraLink信号入力回路を経由してFPGA内のレジスタ内に格納され,凝固検査回路によって信号処理が行われる。また,これによって得られた凝固検査結果は凝固検査出力回路からデジタル信号で出力されるほか,LEDに表示される。検査の閾値やカメラ設定のパラメータはEEPROMに保存されており,ボードの電源投入時にFPGA内に読み込まれる。
なお,信号処理に要する時間は約0.001秒であり,本ボードのサイズは145mm×110mmである。つまり,本ボードを用いることにより,パソコンに比べて大幅に検査を高速化することができ,また装置を小型化することができる。

(図3 凝固検査用信号処理ボード)
(図4 凝固検査用信号処理ボードの動作検証の様子)

3.3 動作確認実験
  開発したボードの動作検証実験を行った(図4)。実験では,凝固状態が異なる5種類の豆腐を作り,コンベア上を移動する豆腐をラインセンサカメラで撮影した。そして,ラインセンサカメラからの信号をボードで処理し,凝固状態が識別できるかどうかを調べた。
なお,コンベア上には豆腐の通過を検知する光スイッチを設置しボードに接続した。ボードでは,光スイッチからの信号に基づき,豆腐がラインセンサカメラの正面を通過するごとに信号処理を行い,処理結果を表示するようにした。
実験の結果,豆腐の凝固状態とボードの出力には明らかな相関があり,豆腐の凝固状態を検査できることを確認した。

4.路面監視装置への応用(応用例2)
4.1 路面監視装置とは
  路面監視装置は,路面を撮影したカメラ画像や温度センサ,降水センサからの信号を処理することにより,自動的に路面の積雪等の状況を検知する装置である。路面の状況は電光標示板に標示され,ドライバーに情報提供される。
  本装置は,従来,パソコンベースの信号処理装置2台で分散して信号処理を行っていたが,装置の小型化と低廉化を図るため,信号処理をFPGAによって行うボードを開発した。

4.2 路面監視装置用信号処理ボードの概要
  開発したボードを図5に示す。このボードは映像入力部,センサ信号入力部,メモリアクセス部,路面監視処理部などから構成されている。
カメラからの画像信号は映像入力部,メモリアクセス部を経由してメモリ(SDRAM)に格納される。そして,路面監視処理部では,このカメラからの映像信号に対して処理を行い,降雪の有無,積雪の有無,ワダチ発生の有無などを自動的に検知する。また,これらの結果と,温度センサ,降水センサからの信号を統合的に処理し,電光標示板に対して路面状況に応じた信号を出力する。
なお,本ボードのサイズは137mm×165mmであり,従来のパソコンベースの信号処理装置を使う場合に比べて,装置を小型化することができる。また,ボードは安価に製作することができ,装置の低廉化にも効果があると考えられる。

4.3 動作確認実験
  開発したボードの動作検証実験を行った。動作検証は,降雪時や積雪時の状況を模擬した映像信号や温度センサ信号をボードに入力することにより行った。そして,ボードの出力や演算結果を検証した結果,道路の状況を正しく検知していること確認した。
今後,道路上にボードを設置して実信号による動作検証を行い,実用化を進める予定である。

(図5 開発した路面監視装置用FPGAボード)

5.結  言
  FPGAを用いた高速信号処理ボードを開発した。本ボードを用いることにより,検査装置等の高速化や小型化を図ることができる。なお,本稿では2つの具体的な応用について述べたが,応用はこれらに留まるものではない。今後,開発した信号処理ボードを多くの製品に応用していきたいと考えている。

謝  辞
  信号処理ボードを凝固検査装置及び路面監視装置に応用するにあたってご協力を頂いた(株)クエストエンジニア,(株)松浦電弘社,(株)高井製作所の関係各位に感謝します。

参考文献
1)荒井航平, 井倉将実. FPGA/CPLDの基礎と最新動向. FPGA活用チュートリアル2006/2007年版. 2006, p. 7-20.
2)月刊「画像ラボ」2000年4月別冊号編集委員会編. 産業用カメラの選び方・使い方. 2000, p. 1-12.
3)堀寿和. カメラリンクの標準化. 映像情報インダストリアル. 2001, vol. 33, no. 1, p. 31-36.
4)米沢裕司, 漢野救泰, 松浦隆弘, 天野原成. 画像処理による凝固検査装置の開発. 石川県工業試験場研究報告. 2006, no. 55, p. 19-22.