05-12-2020 09:44 PM - 最終編集日: 02-07-2021 06:05 PM 、編集者: T.Abe
この記事をご覧いただく前に、マウスを操作してこの記事へのリンクをクリックしましたか?
昨日作ったご飯を友人にシェアするためにスマホで写真を撮ったり。
はたまた、最近在宅勤務でヘッドセットを使用して電話をされていませんか?
はい、それでは質問タイムです。
質問:
これらの機器が動作する上で必要な、共通の要素はなんでしょうか。
答え:
マウスのレーザーセンサー、スマホのカメラモジュール、ヘッドセットのマイク等々は、シリアル通信でメイン制御部とデータ送受信を行います。
【シリアル通信の需要は年々増加!】
シリアル通信には、SPI / I2C / MIPI / UART等、様々な規格があり、数十年前から存在するものもあります。そして、それらは現在でもコンシューマ向け電子機器に欠かすことのできないもので、需要が増加しています。2020年時点における最新型のスマートフォンには数十個のセンサーやモジュールが搭載されており、それらはシリアル通信によってデータを送受信します。また、ソーシャルネットワーキングやウェアラブルデバイス等、スマートフォンを中心とした新しい生活様式が続々と提案され、ユーザからの新しい要求が日々増加する中、モジュールそのものが進化し、これまでコンシューマ機器には未搭載だったセンサが搭載され始めています。
例えば、
というユーザーの声から、スマートフォンカメラの搭載数、性能は年々増加しています。
カメラモジュールに加えて、綺麗な画像を実現するOIS(光学式手ぶれ補正)やオートフォーカスの機構が組込・併設されており、シリアル通信でやり取りします。
この様に、生活を便利にするデバイスの中身はたくさんのシリアル通信で成り立っていることに気が付きます。さて、これらのセンサーやモジュールが皆様の生活の中で正しく動作するために、評価・生産等の工程でシリアル通信部を含めた機能・性能検証が必要です。
【生産テストにおける課題】
テスト対象であるDUT(センサー、モジュール)数の増加だけではなく、DUT自体も毎年複雑化しているのが現実です。つまり、量的にも質的にもテストへの要求が高まっています。加えて、市場環境もひっ迫しています。
ここで、技術面に目を向けてみましょう。
シリアル通信を伴うDUTに対する従来のテストシステムは以下例の様に、比較的シンプルなセットアップです。
先に述べた単位デバイス当たりに搭載されるDUT数の増加・複雑化によって、従来型のテストシステムには新たな課題が与えられています。
【DUTの数・機能/性能向上による、テストシステムの新課題】
先に挙げたDUTの進化は、以下の様なテスト要件の変化をもたらします。
その結果、テストシステムにも次の図の様な課題が浮上してきます。
1.テストパターンに対して通信用HWのメモリバッファが足りない
2.追加の信号発生器、信号測定器を増設しなければならない
3.測定値が膨大になる
この様に、DUTの複雑化に伴うテストパターンの肥大化や、他測定器との連動に対応しなければならない場合、テスト時間は大幅に増加します。さらに、市場投入の短縮化も求められています。
では、テストシステムに対する上記の様な新しい課題に対して、どの様な対策が考えられるでしょうか。
「ん。。単純にライン数を増やせばいいのでは・・」
と考える方もいらっしゃるかと思いますが、生産ラインを増やすことによって
などの副次的な課題が生じます。
【NI PXIで、進化するDUTに対するテストシステムの限界に挑む】
テストパターンが増えて、テストシステムのPC負荷、処理時間が増えてきたな…
新しい試験項目に合わせて、テストシステムに測定器を追加しなければ…
ライン数を増やさず、全体のテスト時間を短縮できないかな…
単純にライン数を増設する前に、全体のテスト時間を大幅に短縮する、魔法の様な可能性を秘めているソリューションがNational Instruments (NI)のPXIとFPGAです!
なぜPXIとFPGAの組み合わせが、日々進化するDUTに対するテストシステムの最適なソリューションとなりうるのか…まずPXIについて紐解いていきます。
PXIとは製品プロトタイプ(RCP)、デバイス検証から生産テストにいたるまで、様々なテスト/計測アプリケーションにむけて設計されている、拡張性に優れたHWプラットフォームです。
主な特徴は以下の通りです。
上の図のように、NI社やサードパーティ企業から提供される、多種多様なモジュールを追加・入替することで最適なテストシステムを構築できます。
ソフトウェア面では、ほぼすべてのモジュール用にLabVIEWドライバAPIが提供されています。
さらに、ココが本記事におけるミソでもあるのですが、モジュールによってはLabVIEW FPGAによって計測器のコア部分をカスタマイズし、信号入出力に直結して様々な信号処理、アルゴリズムをHW上で高速実行できます!
このようなPXIの特徴を踏まえ、日々進化するDUTへのテストシステムとしてどの様に適用できるでしょうか。
新しい試験項目、または仕様に変更があった場合、モジュールの追加・入替で簡単に対応できます!
複数モジュール間は高精度の同期が可能なので、シリアル通信で様々な測定対象物(センサー、モジュール等)を制御しながら、別のボードで同時にDUTの反応(位置、温度、振動等)を測定することができます。
【FPGAで、DUTに合わせたテストシステムの最適化】
FPGA搭載型NI PXIモジュールは、HWレベルで高速実行される動作をソフトウェア(LabVIEW FPGA)で定義可能です。
LabVIEW FPGAでHW動作を再定義可能なPXIモジュールは、計測器そのものとしても高性能であり、InstrumentStudioといったNI社提供の高機能ソフトウェア(無償)でそのまま使用することもできます(一部、未サポートのモジュールあり)。
【参考】InstrumentStudioとは
計測器のコア部分をLabVIEW FPGAで再定義可能なモジュールには、無線用の広帯域信号送受信モジュール、高速オシロスコープ、高速シリアル通信、等々があります。これらは、そのまま高性能計測器として、ドライバAPIでのソフトウェアによる自動化を行ったり、LabVIEW FPGAによって計測器のコア部分の動作を再定義できます。
LabVIEW FPGAを用いることで、お馴染みの、あのLabVIEWのプログラムがPCのCPUではなく、モジュール内部のHW回路上で実装されることで処理速度が何倍も速くなります!
【参考】NIソフトウェア設計型計測器で使用するHWドライバ拡張機能FPGA Extensions概要
解りやすい説明のため、以下にFPGAを用いない従来型のテストシステムと、FPGAを用いた場合のテストシステムの比較例を見ていきます。DUTに対して合否判定の試験を行う場合を想定します。
試験工程では、DUTに対して大量のテストパターンを書き込み、その測定値をPC側に取り込み、判定基準値と照合しながら合否判定を行います。
PCの場合、以下図における赤枠内の様に計測器-バス-PC間のデータ転送時間や、PC上CPUの処理時間がかかります。
通常、CPUによるプログラムの処理時間は数十ミリ秒以上のオーダーで実行されます。
また、計測器とPC間で、DUTに対する刺激/応答データの送受信が頻繁に発生する場合、上図の様にシリアル通信が実際に行われている時間の割合が少なく、バス帯域をフル活用できません。
この状況において、FPGAを用いたテストシステムの改善を試みます。
その結果、CPU上での動作と比較して、プログラムの実行速度が飛躍的に向上します。
上図は、テストパターンの出力処理、応答データの判定処理を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を用いて以下の様な構成とすることで、全体のテスト時間が飛躍的に短縮されます!
FPGA内部はLabVIEWによって以下の様に実装されます。
FPGAによってコア部分をカスタマイズした計測器に対してホストPC側のドライバAPIを準備すれば、FPGA側のプログラムを編集することなく、PC側のプログラムに専念できます。
また、LabVIEWに慣れている方にとっては、LabVIEWでFPGAプログラムを開発する「LabVIEW FPGA」への導入も比較的スムーズです。LabVIEW FPGAと伝統的なテキスト言語のVHDL開発の開発効率を比較すると、LabVIEW FPGA で3倍も開発効率を高めることができたというデータもあります!
もちろん、FPGA開発する前にはまずLabVIEW、FPGA、通信規格等の基礎概念を学習する必要があります。どこから手をつけていいかわからない、ソフトウェア開発部分の正確な工数を見積もる必要がある場合は・・・
是非NIアライアンスパートナーにご相談ください!
NIのアライアンスパートナーはNIのソフトウェア/ハードウェアについてのコンサルティング、アドオンツールおよびアプリ開発分野での信頼できるエキスパートです。
本ブログでは弊社のパートナー様の紹介もさせていただいておりますが、今回「FPGA」ということでスポットライトを当てるのは・・・
メンバー全員が過去に日本NIに在籍しており、ソフトウェア分野の深い知見とLabVIEW FPGAを中心とした様々なNI製品の開発実績をお持ちの株式会社トリオニクス(TRIO∩IX)です。また、今回は技術部の藤岡様にヒアリングさせていただきました。
トリオニクスの強みとして主に以下の3点です:
トリオニクスについてはここからどうぞ
NI PXIについてはこちらから
以上、LabVIEW FPGAとNIの計測機がどのように効果を発揮するか、生産工程を例にご説明いたしました。実際の現場への適用事例など、広く有しておりますので、お気軽に弊社までご相談ください。
謝辞:
本記事作成に当たり、意見交換させていただいた、藤岡さんに感謝の意を述べたいと思います。ありがとうございました!
この記事を書いた人 水野 智生 沖縄生まれ、カリフォルニア育ち、アメリカンな純日本人。 |
05-13-2020 10:24 PM
Great article Chisei!