[Archive] LabVIEW Café

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

FPGAとPXIで、テストシステムの限界を突破!

この記事をご覧いただく前に、マウスを操作してこの記事へのリンクをクリックしましたか?
昨日作ったご飯を友人にシェアするためにスマホで写真を撮ったり。
はたまた、最近在宅勤務でヘッドセットを使用して電話をされていませんか?

はい、それでは質問タイムです。

 

質問:

これらの機器が動作する上で必要な、共通の要素はなんでしょうか。

答え:

マウスのレーザーセンサー、スマホのカメラモジュール、ヘッドセットのマイク等々は、シリアル通信でメイン制御部とデータ送受信を行います。

nokia_phone.PNG

【シリアル通信の需要は年々増加!】
シリアル通信には、SPI / I2C / MIPI / UART等、様々な規格があり、数十年前から存在するものもあります。そして、それらは現在でもコンシューマ向け電子機器に欠かすことのできないもので、需要が増加しています。2020年時点における最新型のスマートフォンには数十個のセンサーやモジュールが搭載されており、それらはシリアル通信によってデータを送受信します。また、ソーシャルネットワーキングやウェアラブルデバイス等、スマートフォンを中心とした新しい生活様式が続々と提案され、ユーザからの新しい要求が日々増加する中、モジュールそのものが進化し、これまでコンシューマ機器には未搭載だったセンサが搭載され始めています。

 

例えば、

  • より画質がいい写真
  • より遠くの物を撮りたい
  • 風景を一つの写真で納めたい

 

というユーザーの声から、スマートフォンカメラの搭載数、性能は年々増加しています。
カメラモジュールに加えて、綺麗な画像を実現するOIS(光学式手ぶれ補正)やオートフォーカスの機構が組込・併設されており、シリアル通信でやり取りします。


この様に、生活を便利にするデバイスの中身はたくさんのシリアル通信で成り立っていることに気が付きます。さて、これらのセンサーやモジュールが皆様の生活の中で正しく動作するために、評価・生産等の工程でシリアル通信部を含めた機能・性能検証が必要です。

 

【生産テストにおける課題】

テスト対象であるDUT(センサー、モジュール)数の増加だけではなく、DUT自体も毎年複雑化しているのが現実です。つまり、量的にも質的にもテストへの要求が高まっています。加えて、市場環境もひっ迫しています。

 

test_3.PNG

 

ここで、技術面に目を向けてみましょう。

シリアル通信を伴うDUTに対する従来のテストシステムは以下例の様に、比較的シンプルなセットアップです。

 

photo1.PNG

  1. DUTに対するテスト・読み取りパターンを、検査用PCから通信用ハードウェアに書込
  2. 通信用ハードウェアが独立してテストパターンの書込と測定値の読取を繰り返す
  3. 完了したら、通信用ハードウェアが読み取った測定値をPCに読み込む
  4. 測定値を基に、PCで合否判定を行う

 

先に述べた単位デバイス当たりに搭載されるDUT数の増加・複雑化によって、従来型のテストシステムには新たな課題が与えられています。

 

【DUTの数・機能/性能向上による、テストシステムの新課題】

先に挙げたDUTの進化は、以下の様なテスト要件の変化をもたらします。

 

  • モジュール単体の一回の動作における通信量が増加
  • カメラとカメラの補助機能等、複数モジュールが連動して一つの機能が成立
  • シリアル通信と同時に、追加のアナログ/デジタル信号の送受信を行う

 

その結果、テストシステムにも次の図の様な課題が浮上してきます。

 

photo2.PNG

 

1.テストパターンに対して通信用HWのメモリバッファが足りない

  • PCと通信用ハードウェア間のデータ転送が頻繁に発生する
  • PC <-> 通信用ハードウェア間のデータ通信の時間がテスト実行時間に響く

 

2.追加の信号発生器、信号測定器を増設しなければならない

  • 通信用ハードウェアのタイミングに合わせた信号発生・測定が必要
  • 通信用ハードウェアと追加したハードウェア間の同期メカニズムが必要

 

3.測定値が膨大になる

  • PCの合否判定処理に時間がかかる

 

この様に、DUTの複雑化に伴うテストパターンの肥大化や、他測定器との連動に対応しなければならない場合、テスト時間は大幅に増加します。さらに、市場投入の短縮化も求められています。

では、テストシステムに対する上記の様な新しい課題に対して、どの様な対策が考えられるでしょうか。


「ん。。単純にライン数を増やせばいいのでは・・」

 

と考える方もいらっしゃるかと思いますが、生産ラインを増やすことによって

 

  • 用地面積の増加(日本の土地は安くない。。。)
  • 人件費(新しい人材の採用、教育コスト)
  • 保守管理コストの増大 (ライン数、装置台数、オペレータ数)

 

などの副次的な課題が生じます。

 

【NI PXIで、進化するDUTに対するテストシステムの限界に挑む】

テストパターンが増えて、テストシステムのPC負荷、処理時間が増えてきたな…

新しい試験項目に合わせて、テストシステムに測定器を追加しなければ…

ライン数を増やさず、全体のテスト時間を短縮できないかな…

 

単純にライン数を増設する前に、全体のテスト時間を大幅に短縮する、魔法の様な可能性を秘めているソリューションがNational Instruments (NI)PXIFPGAです!
なぜPXIとFPGAの組み合わせが、日々進化するDUTに対するテストシステムの最適なソリューションとなりうるのか…まずPXIについて紐解いていきます。

​PXIとは製品プロトタイプ(RCP)、デバイス​検証​から生産​テスト​に​いたる​まで、​様々​な​テスト/​計測​アプリケーション​にむけて設計されている、拡張性に優れたHWプラットフォームです

 

主な特徴は以下の通りです。

  • シャーシ内外のサブシステム間で、業界最高クラスの時間・時刻同期性能
  • スロット毎に追加可能な、高機能/高性能のありとあらゆるIOモジュール
  • ソフトウェア実行資源として、複数の高性能工業用PC (Windows, RT OS)やFPGAを搭載可能

 

pxi.PNG

上の図のように、NI社やサードパーティ企業から提供される、多種多様なモジュールを追加・入替することで最適なテストシステムを構築できます。

 

  • スペクトルアナライザ、無線信号発生器、オシロスコープ、SMU、DMMといったアナログ入出力モジュール
  • デジタルパターン計測、高速シリアル入出力等のデジタル入出力モジュール
  • カメラインタフェースモジュール
  • CAN/LIN/FlexRayといったバス用インタフェースモジュール

 

ソフトウェア面では、ほぼすべてのモジュール用にLabVIEWドライバAPIが提供されています。

さらに、ココが本記事におけるミソでもあるのですが、モジュールによってはLabVIEW FPGAによって計測器のコア部分をカスタマイズし、信号入出力に直結して様々な信号処理、アルゴリズムをHW上で高速実行できます!

 

このようなPXIの特徴を踏まえ、日々進化するDUTへのテストシステムとしてどの様に適用できるでしょうか。

新しい試験項目、または仕様に変更があった場合、モジュールの追加・入替で簡単に対応できます!
複数モジュール間は高精度の同期が可能なので、シリアル通信で様々な測定対象物(センサー、モジュール等)を制御しながら、別のボードで同時にDUTの反応(位置、温度、振動等)を測定することができます。

 

flexrio.PNG

【FPGAで、DUTに合わせたテストシステムの最適化】

 

FPGA搭載型NI PXIモジュールは、HWレベルで高速実行される動作をソフトウェア(LabVIEW FPGA)で定義可能です。

LabVIEW FPGAでHW動作を再定義可能なPXIモジュールは、計測器そのものとしても高性能であり、InstrumentStudioといったNI社提供の高機能ソフトウェア(無償)でそのまま使用することもできます(一部、未サポートのモジュールあり)。 

 

【参考】InstrumentStudioとは

https://www.ni.com/ja-jp/shop/electronic-test-instrumentation/application-software-for-electronic-te...

 

計測器のコア部分をLabVIEW FPGAで再定義可能なモジュールには、無線用の広帯域信号送受信モジュール、高速オシロスコープ、高速シリアル通信、等々があります。これらは、そのまま高性能計測器として、ドライバAPIでのソフトウェアによる自動化を行ったり、LabVIEW FPGAによって計測器のコア部分の動作を再定義できます。

LabVIEW FPGAを用いることで、お馴染みの、あのLabVIEWのプログラムがPCのCPUではなく、モジュール内部のHW回路上で実装されることで処理速度が何倍も速くなります!

 

【参考】NI​ソフトウェア​設計​型​計測​器​で​使用​するHW​ドライ​バ​拡張​機能​FPGA Extensions​概要

https://www.ni.com/ja-jp/innovations/white-papers/14/an-introduction-to-instrument-driver-fpga-exten...

 

解りやすい説明のため、以下にFPGAを用いない従来型のテストシステムと、FPGAを用いた場合のテストシステムの比較例を見ていきます。DUTに対して合否判定の試験を行う場合を想定します。

試験工程では、DUTに対して大量のテストパターンを書き込み、その測定値をPC側に取り込み、判定基準値と照合しながら合否判定を行います。

PCの場合、以下図における赤枠内の様に計測器-バス-PC間のデータ転送時間や、PC上CPUの処理時間がかかります。

 

original_speed.PNG


通常、CPUによるプログラムの処理時間は数十ミリ秒以上のオーダーで実行されます。

また、計測器とPC間で、DUTに対する刺激/応答データの送受信が頻繁に発生する場合、上図の様にシリアル通信が実際に行われている時間の割合が少なく、バス帯域をフル活用できません。

 

この状況において、FPGAを用いたテストシステムの改善を試みます。

 

  • CPU上でなく、プログラム用に最適化されたデジタル回路上でソフトウェアを高速実行
  • FPGA上の並列タスクは、個別の回路領域として定義され、完全に並列実行
  • PCとPXIモジュール間のバスを介した通信が最小限に抑えられる

 

その結果、CPU上での動作と比較して、プログラムの実行速度が飛躍的に向上します。

 

faster_speed.PNG

 

上図は、テストパターンの出力処理、応答データの判定処理をFPGAで高速処理、大量のテストパターンをFPGAのBRAMや隣接するDRAMといったメモリ領域に事前に格納して、極力PCとPXI FPGAモジュールのやり取りを省略したケースです。PCで実行していた場合と比較して、OSやドライバAPIといったPC側の要素と独立し、ハードウェア上で高速実行されます。

結果として、PCによるCPU処理と比較して、全体のテスト時間を飛躍的に短縮できます。さらに、PXI FPGAボード内のFPGA回路リソースとI/Oチャンネルが余っていれば、同じ系統のテストをたった一つのモジュールに複数ライン分、増設可能です。

 

また、従来のプロトコルに対し、各プロトコルの規格に+αの機能・性能を独自追加して対応するケースや、完全に新しい独自規格の通信プロトコルのプロトタイプも増えてきています。FPGAとLabVIEWを組み合わせると、試験の要件に合わせてカスタムプロトコルを実装することができます。

 

【DUTの進化とテストシステムへの新課題に対する、NIのアンサー】

ここまでで、PC処理をメインとした従来型のテストシステムとFPGAを用いてDUTに最適化したテストシステムを比較し、FPGAがテストシステムに対して与える影響をご覧いただきました。ここで、進化するDUTへのテストシステムに対して突きつけられていた新課題に戻ります。FPGAを用いて以下の様な構成とすることで、全体のテスト時間が飛躍的に短縮されます!

 

new-Image.PNG

 

FPGA内部はLabVIEWによって以下の様に実装されます。

 

custom_pro.PNG

 

FPGAによってコア部分をカスタマイズした計測器に対してホストPC側のドライバAPIを準備すれば、FPGA側のプログラムを編集することなく、PC側のプログラムに専念できます。

 

photo-.png

 

また、LabVIEWに慣れている方にとっては、LabVIEWでFPGAプログラムを開発する「LabVIEW FPGA」への導入も比較的スムーズです。LabVIEW FPGAと伝統的なテキスト言語のVHDL開発の開発効率を比較すると、LabVIEW FPGA で3倍も開発効率を高めることができたというデータもあります!


もちろん、FPGA開発する前にはまずLabVIEW、FPGA、通信規格等の基礎概念を学習する必要があります。どこから手をつけていいかわからない、ソフトウェア開発部分の正確な工数を見積もる必要がある場合は・・


是非NI​ア​ライアン​ス​パートナー​にご相談ください!

 

Low-Resolution-For-Web-Alliance-Partner-Membership-Logo.png

 

​​NIの​ア​ライアン​ス​パートナー​はNIのソフトウェア/​ハードウェア​についての​コンサルティング、​アド​オン​ツール​および​アプリ開発分野で​の​信頼​できる​エキスパート​です。

本ブログでは弊社のパートナー様の紹介もさせていただいておりますが、今回「FPGA」ということでスポットライトを当てるのは・・・

logo_footer.png

 

メンバー全員が過去に日本NIに在籍しており、ソフトウェア分野の深い知見とLabVIEW FPGAを中心とした様々なNI製品の開発実績をお持ちの株式会社トリオニクス(TRIO∩IX)です。また、今回は技術部の藤岡様にヒアリングさせていただきました。

 

トリオニクスの強みとして主に以下の3点です:

  1. 多種多様なNI製FPGAモジュールの知識と開発経験に基づく適切な製品選定と性能追求
    • 過剰なスペックによるコスト高を防ぎ、製品のリソースを有効活用する開発力
    • “「FPGA開発」の一言では、その開発が機能面だけでなく性能面も引き出すものか判断がつきません。過去の実績、早期のプロトタイプ作成を経て、できるだけ精度の高い性能目標を提示します。” (トリオニクス談)
  2. ソフトウェア工学に基づく、LabVIEWの真価を引き出すソフトウェア開発.
    • FPGA, Real-Time OS, ホストPCの全てにおいて、LabVIEW上で推奨されるフレームワーク、デザインパターン等に基づいた、長期的に拡張・保守可能、かつ可読性の高いソフトウェア構築 (オブジェクト志向、アクターフレームワーク等) 
    • “LabVIEWはあくまで開発言語・一部のテスト環境を提供するだけで、多くのLabVIEWユーザは上流工程を軽視しがちです。そのため、無秩序なブロックダイアグラムになりがちです。我々は、必要であればいつでもソースコードやそのもとになった要求仕様・ソフトウェア設計書を公開し、お客様に対して透明性と安心感を持ってご対応させていただきます。” (トリオニクス談)
  3. NIエコシステムの一部としての、世界を相手にする情熱
    • メンバー全員が英語・日本語に対応し、コンサルティングやインテグレーションを通して世界を股にかけるお客様を支援
    • “特に自動車業界、先端研究の分野で、国外のエンジニアを含めたお客様のプロジェクトをご支援させていただくこともあります。また、お客様の「要求」を徹底的に理解し、コストや時間等の制約を踏まえた上で、最良のソリューションを提供することがNIエコシステムの一部である我々の使命です。”(トリオニクス談)

 

トリオニクスについてはここからどうぞ

LabVIEW FPGAソフトウェアについてはここから

NI PXIについてはこちらから

 

以上、LabVIEW FPGAとNIの計測機がどのように効果を発揮するか、生産工程を例にご説明いたしました。実際の現場への適用事例など、広く有しておりますので、お気軽に弊社までご相談ください。

 

謝辞:

本記事作成に当たり、意見交換させていただいた、藤岡さんに感謝の意を述べたいと思います。ありがとうございました!

 

この記事を書いた人

水野 智生

沖縄生まれ、カリフォルニア育ち、アメリカンな純日本人。
アメリカ滞在中は日本のメーカが日本人として誇りで、その素晴らしい日系企業に貢献したいと思い日本ナショナルインスツルメンツ(NI)に入社。
最先端のテクノロジーについて勉強するのが好きで、特にパソコンやスマホの課題、トレンド、進化を常にチェックしています!

ご相談・お問い合わせなどありましたら、こちらよりお気軽にお問い合わせください。

 

メッセージ1/2
3,233件の閲覧回数

Great article Chisei!

0 件の賞賛
メッセージ2/2
3,098件の閲覧回数