From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

同期に関する技術解説

概要

センサ計測システムの重要な側面として、複数のチャンネルから集録したデータをどの程度時間的に相関できるかというのがあります。データが適切に時間的に相関されていない、つまり同期されていないと、テストデータから得られる解析結果や結論は正確ではなくなります。ナショナルインスツルメンツ(NI)では、確実な高性能同期が可能なNI SC Expressデバイスを提供しています。以降のセクションでは、同期の概念について説明するとともに、その活用方法を紹介します。

内容

PXIプラットフォームSC Express同期に関する概要

PXIプラットフォームの進化形であるPXI Expressは、下位互換性を保ったまま、計測I/Oデバイスで高度な同期性能を実現できるよう設計されています。PXI Expressでは、本来のPXI仕様と同様に、10 MHzのバックプレーンクロックやシングルエンド型PXIトリガバス、PXIスタートリガ信号に対応しています。また、100 MHzの差動クロックや差動トリガがバックプレーンに搭載されているため、ノイズ耐性が向上しているほか、業界トップクラスの同期性能を実現しています。

PXI Expressバックプレーンには100 MHzの差動クロックが搭載されていますので、複数デバイスのサンプルクロックが同じ基準に合わせることができます。バックプレーンのトリガラインにより、同じ100 MHzのクロックエッジでシャーシ内の全てのデバイスを同期してトリガを行うことが可能となります。

 

図1: PXI Expressタイミング/トリガバスにより、バックプレーンで差動システムクロック、差動信号、差動スタートリガが利用可能です。


PXIシャーシの場合と同様、タイミングおよび同期モジュールを使用することで、1台のPXI Expressシャーシではバックプレーンモジュールの代わりに精度の高いタイムベースを使用でき、複数のPXI Expressシャーシでは計測デバイスの同期に使用できます。複数のシャーシを長距離にわたって同期する必要のあるアプリケーションでは、GPSまたはIRIG-B PXIタイミングモジュールを使用することで、共通のクロック信号によりシャーシを同期することができます。

NIでは、複数のSC Expressモジュールを同期するよう構成できる画期的な機能をDAQmxに追加しました。1つのマルチデバイスタスクで、1タイプのSC Expressモジュールが統合されたシャーシ全体をプログラミングできます。マルチデバイスタスクを利用すると、同じDAQmxコードを使用して、アプリケーションを1チャンネルから544チャンネルまで拡張することができます。また、図2に示すように、単一のDAQmxタスクを使って、計測タイプの異なる複数ボード間でチャンネルを自動的に同期することができます。

図2: さまざまな計測タイプの複数モジュールから収集するLabVIEWサンプルコード


このようにプログラミングした場合、SC ExpressモジュールはPXI Expressシャーシの100 MHz差動クロックとして用い、バックプレーントリガラインを使用して同期収集の開始を協調させます。表1に示すとおり、SC Expressモジュールを使用すると、高度な同期性能を実現できます。

SC Expressによるマルチデバイスタスクのサポートモジュール間スキュー
NI PXIe-4300: 高電圧アナログ入力モジュール
NI PXIe-4353: 熱伝対入力モジュール
NI PXIe-63xx: XシリーズDAQモジュール

50ナノ秒以下

NI PXIe-433x: 歪み入力モジュール
NI PXIe-449x: DSAモジュール

150ナノ秒以下

表1: マルチデバイスタスクでの同期性能

 

 

同期に関する一般概念

このセクションでは、同期の背景にある概念について解説します。同期計測アプリケーションを設計する前に、それらの概念を理解しておくことをお勧めします。

同期に関する用語

トリガ: トリガとは、収集を制御するコマンドです。トリガを使用して、収集の開始、停止、または一時停止ができます。トリガ信号のソースは、ソフトウェアとハードウェアどちらでも可能です。

クロック: クロックとは、データ収集のタイミングをとるのに使用される周期的なデジタル信号です。状況によっては、クロック信号を使用してデータ収集を直接制御したり、基準タイムベースとして別のクロック生成ができます。

非同期入力: 非同期入力とは、デバイスのオンボードクロックで受信される外部デジタルトリガなど、入力の受信に使用されるクロック信号に対するタイミング関係が不明な入力です。他にも、ソフトウェアコマンドやアナログトリガイベントなどがあります。非同期入力は、クロックエッジの前後で検出されます。クロックエッジに近すぎると、クロックエッジの前で検出されたか後で検出されたかわからなくなります。

単一のデバイスで入力を受信する場合、これは問題にはなりません。ただし、同じ非同期入力が複数のデバイスに送信される場合は、別のクロックエッジで入力の変化が検出される可能性があります。これにより、デバイスが同じクロックを共有していても、動作は非同期となります。この問題を解決するには、マスタスレーブ同期を利用します。

マスタスレーブ同期:マスタスレーブ同期は、NI-DAQmxのドキュメントではトリガのスキュー補正とも呼ばれています。この方式では、1つのマスタデバイスで非同期トリガ入力を受信するよう指定します。するとこのマスタデバイスがトリガを全てのスレーブデバイスに同期的に送信します。マスタデバイスからスレーブデバイスに送られたトリガは、共通のタイミング基準クロックと同期しています。そのため、全てのデバイスは基準クロックの次のエッジで確実にトリガイベントを検出することができます。

以下の波形は、この概念を表しています。

図3: マスタスレーブ同期

その結果、マスタデバイスでもスレーブデバイスでも正確な同期が実現できます。この方式における副作用の1つは、再同期化してトリガを送信するのに必要な1~2基準クロック周期の遅延が必要なことです。

マスタスレーブ同期に使用される基準クロックは、アプリケーションによって異なります。場合によっては、バックプレーンのPXIe_Sync100信号がこの目的に使用されます。また他の場合には、同期中されているすべてのデバイスで共有している別の共通基準が使用されることもあります(例えばサンプルクロックなど)。

同期信号接続

PXI Expressシャーシ内のデバイス間でクロック信号やトリガ信号を共有する場合は、多くの方法から選ぶことができます。信号の共有は、外部配線(多くのデバイスにはこの目的用の入力ピンがあります)またはPXI Expressバックプレーンのトリガバスを介して行うことができます。 クロックとトリガ信号を共有するために使用するメカニズムは、同期精度にも影響があります。


信号PXI Expressのみシステムタイミングコントローラモジュールが必要デバイス間スキュー信号整合性
PXIe_Clk100ありなし250ピコ秒以下
PXIe_DStar<A..C>ありあり500ピコ秒以下
PXI_Clk10なしなし1ナノ秒以下 1
PXI_Starなしあり10ナノ秒
PXI_Trig<0..7>なしなし80ナノ秒
外部配線なしなし可変可変

1 PXI_Clk10とPXIe_Clk100の間に最大6.5ナノ秒のスキューが見られることがあります。そのため、PXI_Clk10を基準クロックとして使用する一連のデバイスではほとんでスキューはありませんが、PXIe_Clk100を基準クロックとして使用する他のデバイスと比較すると、最大6.5ナノ秒のスキューが生じる可能性があります。

表2: PXI Express差動Clk100およびDStarトリガ信号は、同期レベルと信号整合性が最も優れています。


PXIe_Clk100、PXIe_DStar <A..C>、PXI_Clk10、またはPXI_Starを介して分配されるクロック信号を使用すると、最高の同期性能を達成できます。PXI_Trig<0..7>バスは、バックプレーンで各モジュールに接続された共有バスです。これによってデバイス間トリガ用の多くの接続が可能となるため、非常に便利です。ただし、その結果として信号には大きな負荷がかかるため、長い伝搬遅延が生じます。伝搬遅延は、バックプレーン内のデバイスの位置によって異なります。さらに、信号整合性(クロックの立ち上がり/立下りエッジの品質)も、バックプレーンに接続されたモジュール数とタイプや、モジュールの位置、モジュールからPXI_Trigバスを駆動するのに使用するハードウェアなどによってかなり変動します。信号の整合性が低いと、信号のノイズやジッタが多くなります。極端な例では、信号の1つのエッジが2つ別々のエッジのようになり、ダブルクロッキングとなります。そのため、NIではPXI_Trig<0..7>ラインをトリガ信号のルーティング専用に使用することをお勧めしています。

 

 

同期方法オプション

さまざまなPXI Expressデバイスの同期方法を理解するには、各デバイスの基本となるアーキテクチャについて知る必要があります。大まかに言うと、デバイスは同期の観点から大きく2つのクラスに分けることができます。

  • サンプルクロックタイミングデバイス
  • オーバーサンプルクロックタイミングデバイス

 

サンプルクロックタイミングデバイス

サンプルクロックとは、サンプルを集録するタイミングを制御する信号です。サンプルクロックタイミングデバイスは、クロックエッジに応答していつでも変換を即座に開始できるA/D変換器(ADC)を使用します。例として、トグルによって即座に変換をトリガできる専用の変換ラインを通常備えている逐次比較レジスタ(SAR)ADCがあります。そのため、そのようなタイプのデバイスはクロック制御において高い柔軟性を誇ります。ADCは、可変周波数や非周期信号など、デバイスがサポートする最高レートまで事実上すべてのクロック信号での変換処理が可能です。

このクラスのNIデバイスは、ADCの変換ラインをさまざまなソースから駆動できる柔軟なタイミングエンジンを搭載しています。例えば、以下のブロックダイアグラムはXシリーズDAQデバイスのAIサンプルクロックと変換クロックに供給できるさまざまなソースを示しています。

図4: NIのサンプルクロックタイミングデバイスは、ADCの変換ラインをさまざまなソースから駆動できる柔軟なタイミングエンジンを搭載しています。


図4に表示されている主な信号は以下のとおりです。

  • サンプルクロック: この信号は、タスクに含まれるすべてのチャンネルで、一連の計測を直接的に開始します。各サンプルクロックエッジにより、それらのチャンネルがすべて同時に変換されます。

  • 変換クロック: この信号は、1つのADCが複数のチャンネルで共有されるマルチプレクスデバイスのみに適用されます。変換クロック信号は、1つのチャンネルで1つのADC変換を開始します。集録しているチャンネル数によっては、変換クロック信号はサンプルクロックエッジごとに1回または複数回アサートする必要があります。

  • サンプルクロックタイムベース: 分割してサンプルクロックを作成できるクロック信号です。

  • 変換クロックタイムベース: 分割して変換クロックを作成できるクロック信号です。


図4では、それらのデバイスでの収集タイミングがいかに柔軟に制御できるかがわかります。収集は、オンボードタイムベース(100 MHzオシレータなど)、バックプレーンクロック/トリガ(PXIe_Clk100、スタートリガ、RTSI<0..7>など)、他のオンボードサブシステム(AO、DI、DO、カウンタ操作からのAIサンプルクロックなど)、アナログコンパレータ、または外部デジタル入力(PFIラインなど)から行うことができます。

クロックタイミングによりサンプルされるNIデータ収集デバイスの例は、以下のとおりです。

  • すべてのNI Eシリーズ、Mシリーズ、Xシリーズデバイス
  • NI PXIe-4300およびPXIe-4353 SC Expressデバイス

 

サンプルクロック同期方法

それらのデバイスを同期するには、サンプルクロック信号がすべてのデバイス間で同期している必要があります。サンプルクロック同期にはさまざまな方法があり、いずれの方法にもメリットとデメリットがあります。

サンプルクロック直接共有する(サンプルクロック同期)

サンプルクロック信号を同期させる最も基本的な方法は、1つのデバイス(マスタデバイス)のサンプルクロックを、他のデバイス(スレーブデバイス)へ直接ルーティングする方法です。この同期方法でスキューが生じる原因となる遅延には、いくつかのタイプがあります。

図5: サンプルクロック同期は最も基本的な方法ですが、数種類の遅延が発生する可能性があります。


マスタがサンプルクロックをバックプレーンに出力すると、出力サンプルクロックと内部サンプルクロックの間に出力遅延によるわずかなスキューが生じます。すると出力のサンプルクロック信号は、バックプレーンのトリガライン経由でスレーブデバイスにルーティングされます。このルーティングによる遅延は、信号がバックプレーン上でとる経路によって決まります。サンプルクロックがPXI_Trigラインを介してルーティングされた場合、遅延は最大80ナノ秒程度です。PXI_DStarライン経由の場合は、遅延ははるかに少なくなります。スレーブデバイスでサンプルクロックを受信すると、各デバイスの入力遅延値次第で、さらにスキューが大きくなります。

図6: マスタデバイスのサンプルクロックを使用して複数のスレーブデバイスを同期することができます。

 Get Full Terminal Name VIは、<LabVIEW>\examples\DAQmx\Synchronization\SubVIs\Get Full Terminal Name.viに保存されています。または、このページの右上に添付されています。

サンプルクロック同期を行うには、以下のことを実行します。

  • サンプルクロックタイミングを使用するようすべてのデバイスを構成する。
  • すべてのスレーブデバイス上でサンプルクロックのソースを、マスタデバイスからの内部サンプルクロック端子に設定する。
メリットデメリット
  • ジッタを増やさずに非同期信号を直接共有できる
  • サンプルクロックを提供可能なすべてのデバイスと同期できる
  • トリガバス経由でのルーティング遅延を原因とするスキューと不確実性
  • 異なるレートで動作するデバイスの同期には非対応

表3: サンプルクロック同期方法のメリットとデメリット

 

共通基準クロックからサンプルクロック取り込む(基準クロック同期)

この方法では、すべてのデバイスに共通基準クロックを提供し、基準クロックを分割してサンプルクロックを生成します。基準クロック同期は、サポートするデバイス間で最も高精度の同期を実現します。

PXI Expressでは、基準クロックは通常PXIe_Clk100です。これは、バックプレーンの各スロットで利用できるナノ秒未満のスキューの差動100 MHz共通クロックです。サンプルクロックを同期するため、トリガ信号がマスタデバイスからスレーブデバイスに送られ、サンプルクロックの生成を開始するよう指示します。ただし、トリガがマスタデバイスからスレーブデバイスまでPXIe_Clk100の1周期10ナノ秒内に伝搬することは不可能です。この制約を克服するため、トリガは10 MHz(100ナノ秒)のクロック信号より低速のPXIe_Sync100と同期して送受信されます。マスタは開始トリガをPXIe_Sync100の1パルスと同期して出力し、次にすべてのデバイスがトリガの受信後、次のPXIe_Sync100パルスで開始します。これは、NI-DAQmxヘルプではトリガスキュー補正と呼ばれています。

図7: マスタは開始トリガをPXIe_Sync100の1パルスと同期的に出力し、次にすべてのデバイスがトリガの受信後次のPXIe_Sync100パルスで開始します。


基準クロック同期の詳細な仕組みは複雑ですが、NI-DAQmxを使用すると高度な同期テクニックも簡単に利用できるようになります。NI-DAQmxは、ユーザがマルチデバイスタスクを作成すると、サポートされるデバイス上で基準クロック同期を(トリガのスキュー補正とともに)自動で実行します。つまり、1つのデバイスからデータを収集するのと同じシンプルさで、複数のデバイスから同期信号を収集することが可能です。

さらに、このプロセスは手作業で行うこともできます。PXIe_Clk100を両方のデバイスの基準クロックとして指定し、マスタデバイスによって生成された開始トリガを使用するようスレーブデバイスを構成します。

図8: このプロセスは手作業で行うこともできます。PXIe_Clk100を両方のデバイスの基準クロックとして指定し、マスタデバイスによって生成された開始トリガを使用するようスレーブデバイスを構成します。

 

メリットデメリット
  • 非常に優れた同期精度
  • 操作が簡単。サポートデバイスでマルチデバイスタスク用にNI-DAQmxにより自動で実行
  • 異なるレートで動作するデバイスの同期が可能
  • 特定のデバイスでのみ対応

 

表4: 基準クロック同期は、対応するデバイス間で最も高精度の同期を実現します。

 

トリガ信号のみ共有する

共通のサンプルクロックや基準クロックを共有することなく、トリガ信号のみを共有することで、デバイスを大まかに同期させることができます。この場合、共通のトリガ信号によってすべてのデバイスがほぼ同時に開始します。ただし、それぞれのサンプルクロックは互いに固定されていないため、デバイスは収集中にドリフトします。

図9は、共通のトリガ信号による同期を示したものです。2つのデバイスにより生成されたサンプルクロック信号は、トリガ信号がデバイス間を伝搬するのにかかる時間により、互いにスキューのある状態で開始されます。また、サンプルクロックを共通基準クロックから得ていない場合、サンプルクロック信号は時間の経過とともにさらにドリフトしていきます。

図9: トリガ信号のみを共有することでデバイスを大まかに同期させることができます。


NI-DAQmxでトリガ信号を共有するには、トリガ信号をNI-DAQmxトリガVIへの「ソース」入力として指定することができます。

図10: NI-DAQmxドライバソフトウェアでトリガ信号を共有できます。

 

メリットデメリット
  • 開始トリガまたは基準トリガをサポートするすべてのデバイスに対応
  • 低い同期精度
  • 収集時にデバイスがドリフトする可能性(短期間の収集では問題ない場合もある)

表5: トリガ信号のみによる同期は、短期間の収集には利用可能な場合もあります。

 

マルチクスデバイス変換クロック制御する

マルチプレクスデバイスは、1つのチャンネルからの各サンプルのADC変換を開始するAI変換クロックを搭載しています。例えば、マルチプレクスデバイス上の3チャンネルで2サンプル収集すると、図11のようなタイミングになります。

図11: AI変換クロックはマルチプレクスデバイスの各サンプルのADC変換を開始します。


一部のマルチプレクスデバイス(Eシリーズ、Mシリーズ、マルチプレクスのXシリーズなど)では、AI変換クロックのタイミングを直接的に制御することができます。これらのデバイスでは、AI変換クロックの制御でも、AIサンプルクロックの制御の場合と同様の柔軟性を実現することができます。この信号をインポート/エクスポートすることも、内部または外部タイミングソースからAI変換クロックを制御することも可能です。

他のマルチプレクスデバイス(NI PXIe-4353など)では、AI変換クロックのタイミングを直接制御することができません。これらのデバイスでは、AI変換クロック信号のインポートやエクスポートは不可能です。信号は、常に内部タイムベースによって駆動されています。ただし、これらのデバイスも別のADCタイミングモードを選択して使用することができます。別のタイミングモードでは、AI変換クロックのタイミングを間接的に変更できます。例えば、高分解能タイミングモードを使用すると、AIデータは精度が向上しますがAI変換クロックは低速になります。高速タイミングモードの場合は、AI変換クロックは速くなりますがデータの精度は低下します。

AI変換クロックのタイミング制御に関する詳細な情報については、各ハードウェアのドキュメントを参照してください。

オーバーサンプルクロックタイミングデバイス

このカテゴリのデバイスは、自走式のオーバーサンプルクロックを使用して、ADC変換プロセスを駆動します。このクロック信号は、ADCを動作状態に保つために、常に動作している必要があります。ADC自体は、オーバーサンプルクロック分周されたレートでのサンプルを生成します。このタイプのデバイスでは、通常高速デルタシグマコンバータを使用します。

一部のデバイス(NI PXIe-4353など)でデルタシグマADCを使用しますが、各変換の前にADCが外部変換ラインによってリセットされるモードでの使用になります。そのため、それらのデバイスはデルタシグマADCを使用しても、サンプルクロックタイミングデバイスのクラスに分類されます。

オーバーサンプルクロックタイミングデバイスは、クロック動作の点では柔軟性が劣ります。ADCには自走式のオーバーサンプルクロックが必要なので、これらのデバイスはエンコーダなどの外部信号によって直接実行することはできません。また、任意のサンプルクロック信号を受信するスレーブデバイスとして動作することもできません。

オーバーサンプルクロックタイミングデバイスの例は、以下のとおりです。

  • すべてのダイナミック信号解析(DSA)デバイス(NI 446x、NI 447 x、NI 449x)
  • NI PXIe-433x 歪み入力モジュール

オーバーサンプルクロックタイミングデバイスは、基準クロックによる同期とサンプルクロックタイムベースによる同期のいずれかを使用して、相互に同期します。

基準クロックによる同期

オーバーサンプルクロックタイミングデバイスでの基準クロック同期について理解するには、それらのデバイスのタイミングおよび同期回路についての知識が必要です。

これらのデバイスに使用されるデルタシグマADCには、ADC変換プロセスを駆動するための自走式オーバーサンプルクロックが必要です。ADCは、一定数のオーバーサンプルクロック周期が経過した後、新しいサンプルを生成します。新しいサンプルを生成するのに必要となるクロック周期数が、オーバーサンプルレートです。例えば、オーバーサンプルレートが256のADCは、12.8 MHzのクロックが供給された場合、50 kS/秒でデータを生成します。30 kS/秒でデータを収集したい場合は、7.68 MHzのクロックを搭載したADCを使用する必要があります。

図12: オーバーサンプルクロックタイミングデバイスの概略図


ユーザが自由にサンプルレートを選べるようにするため、これらのデバイスにはダイレクトデジタルシンセシス(DDS)クロック発生器回路が搭載されており、広範囲のサンプリングレートで必要なADCオーバーサンプルクロックを生成することができます。

このタイプのデバイスの基準クロック同期は、2段階で実行されます。

  • ステージ1: すべてのデバイスのDDSクロック発生器、クロック分周器、ADCをリセットして、すべてのサンプルクロックが同期するようにします。
  • ステージ2: すべてのデバイスのサンプルクロックに同期した収集を開始します。


複雑な仕組みについて詳しく解説する前に、下記の点について留意する必要があります。

  • NI-DAQmxでは、ユーザがマルチデバイスタスクを作成するたびに、サポートされるデバイスで基準クロック同期を実行するのに必要なことは全て自動で処理されます。
  • この同期プロセスを手作業で制御しようとしている上級ユーザでも、アプリケーションの開始時にはNI-DAQmxのプログラミングサンプルを利用されることをお勧めします。
     

図13は、基準クロック同期のステージ1を実行する仕組みを示しています。この方法では、すべてのデバイスが共通基準クロック(PXIe_CLK100)にロックされます。次に同期パルスは、PXIe_Sync100信号に同期して、マスタデバイスからすべてのスレーブデバイスに送られます。同期パルスを受信したら、デバイスはPXIe_Sync100の次のエッジを待ちます。この時点で、全てのデバイスがDDSクロック発生器回路とクロック分周器とADCをリセットするプロセスを同時に開始します。リセットプロセスの完了にはしばらく時間がかかります。具体的な時間は、NI-DAQmxのSyncPulse.ResetTimeプロパティに表示されます。リセット時間の異なる複数のデバイスを並べて処理するには、SyncPulse.ResetDelay値を速い方のデバイスに追加して、遅いデバイスと揃えます。これにより、すべてのデバイスのResetTime+ResetDelay値が共通になり、最初のサンプルクロックパルスを同時に生成します。

さらに、SyncClk.Intervalプロパティを変更することで、異なるレートで動作するデバイスも同期させることができます。SyncClkは、デバイス間でトリガを送るのに使用するクロック信号です。トリガは、1つのSyncClkエッジで送信され、次のSyncClkエッジで受信されます。SyncClkは、サンプルクロックレートが異なるデバイスも、すべて同じレートで動作するよう設定されています。すべてのデバイスが同じレートで動作している場合、SyncClk.Interval = 1、SyncClk、SyncClkのレートはサンプルクロックレートと同じになります。

図13: すべてのデバイスを共通基準クロックに固定し、すべてのスレーブデバイスに同期パルスを送信します。


以下のブロックダイアグラムは、PXIe-433xのためにこれらのパラメータをNI-DAQmxでプログラミングしている例です。この例では、さらにMinDelayToStartというパラメータを設定していることにも注目してください。これは、マスタデバイスが同期パルスを送信後、集録を開始するまで、一定の時間必ず待機させるためのソフトウェア機能です。

この例は、DAQmxのすべてのバージョンで利用できるとは限らないことにご注意ください。また、使用するドライバのバージョンおよびデバイスでは、どのような機能が利用可能であるかを確認することが重要です。詳細については、次の記事を参照してください。

図14: SyncClk.Intervalプロパティを変更することで、異なるレートで動作するデバイスも同期することができます。


これでステージ1(サンプルクロック同期)は完了です。ステージ2(収集の開始)では、すべてのデバイスの同期クロックに同期した開始トリガを送信するのみです。

ステージ2では、まずマスタが開始トリガを送信することから始まります。この開始トリガは、すべてのデバイスで以前に同期された同期クロックに同期して出力されます。すべてのデバイスが開始トリガを受信後、次の内部同期クロックを待機します。この時点で、すべてのデバイスが原則として同時にサンプルクロックの生成を開始します。マスタデバイスとスレーブデバイスの両方に、バックグラウンドで動作するサンプルクロックが内蔵されています。このサンプルクロックに関連づけられたデータは、開始トリガイベントが発生するまで集録されません(このサンプルクロック信号は他のデバイスには出力されません)。波形では、開始トリガの発生前のサンプルクロック信号が破線で示されています。

図15: マスタが開始トリガを送信すると、全てのデバイスが同時にサンプルクロックを開始します。

 

サンプルクロックによる同期

サンプルクロックタイムベースによる同期は、一部の古いPCIおよびPXI DSAデバイス(NI 446xやNI 447xなど)で使用されています。より新しいPXI Expressデバイスでは、基準クロック同期をサポートしています。サンプルクロックタイムベースによる同期の詳細については、NI-DAQmxヘルプまたはDSAユーザマニュアルを参照してください。

サンプルクロックタイミングおよびオーバーサンプルクロックタイミングデバイス同期

セルフタイミングデバイスからサンプルクロックエクスポート

この方法では、オーバーサンプルクロックタイミングデバイスからサンプルクロック信号をエクスポートします。この方式では、複数のオーバーサンプルクロックタイミングデバイスがあり、それらはすべて基準クロック同期を介して同期されます。サンプルクロックタイミングデバイスを同期するには、オーバーサンプルクロックタイミングデバイスからPXI Expressバックプレーン経由でサンプルクロック信号をサンプルクロックタイミングデバイスにエクスポートします。この時、サンプルクロックタイミングデバイスは上述のサンプルクロック同期方法を使用しています。

図16: PXIe_Clk100信号の基準クロック同期を利用して、複数のオーバーサンプルクロックタイミングデバイスが緊密に同期しています。


このサンプルシステムでは、複数のオーバーサンプルクロックタイミングデバイスはすべて、PXIe_Clk100信号との基準クロック同期を使用して厳密に同期されています。次にそれらのデバイスのいずれかが、PXI Expressバックプレーンのトリガライン経由で1つまたは複数のサンプルクロックタイミングスレーブデバイスにルーティングするサンプルクロックを生成します。スレーブ間のスキューの量は、バックプレーンルーティング遅延のスキューによって決まります。

このサンプルクロックをサンプルクロックタイミングスレーブデバイスにルーティングするのに必要なNI-DAQmxコードは、上記のサンプルクロック同期コードと全く同じです。

図17: 上のタスクにはサンプルクロックを生成するオーバーサンプルクロックタイミングマスタデバイス、下のタスクにはこのサンプルクロックを受け取るサンプルクロックタイミングスレーブデバイスが含まれます。


この場合、上のタスクにはサンプルクロックを生成するオーバーサンプルクロックタイミングマスタデバイス、下のタスクにはこのサンプルクロックを受け取るサンプルクロックタイミングスレーブデバイスが含まれます。

メリットデメリット
  • さまざまな種類のデバイス間での同期が可能
  • デバイス間でドリフトなし
  • サンプルクロックタイミングデバイスは、バックプレーンルーティング遅延のために、デバイス間でのスキューと不確実性は大きくなる
  • サンプルクロックタイミングデバイスは、オーバーサンプルクロックタイミングデバイスが提供するサンプルクロックより速く実行することはできない

表6: この方法ではさまざまな種類のデバイス間での同期が可能です。

 

サンプルクロックタイミングデバイスオーバーサンプルクロックタイミングデバイストリガ共有

この同じテクニックを使用して、オーバーサンプルクロックタイミングとサンプルクロックタイミングのデバイスを上述のように同期することができます。このテクニックを使用すると、デバイスをサンプルクロックタイミングとオーバーサンプルクロックタイミングの2つのグループに分けることができるというメリットがあります。各グループで基準クロック同期を使用して、グループ内での緊密な同期を実現することができます。またトリガ信号を2つのグループ間で共有して、ほぼ同時に開始することも可能です。

図18: サンプルクロックタイミンググループとオーバーサンプルクロックタイミンググループの中では、基準クロック同期を使用できます。


トリガ信号がバックプレーンを伝搬する時間や、受信側のデバイスが再同期してトリガ信号を受け入れるのに必要な時間がありますので、2つのグループ間で多少のスキューが見られることがわかります。ただし各グループ内では、基準クロックの同期によりスキューは事実上ゼロとなっています。トリガ信号のみを共有しているため(サンプルクロックを直接共有していないため)、各グループは異なるレートで実行できるようになります。

メリットデメリット
  • 各デバイスグループ間で緊密な同期が可能
  • サンプルクロックタイミングデバイスがオーバーサンプルクロックタイミングデバイスと異なるレートで実行可能
  • デバイスグループ間でより多くのスキュー
  • 異なるグループのデバイスは長時間の収集でドリフトの可能性あり

表7: この方法ではサンプルクロックタイミングデバイスがオーバーサンプルクロックタイミングデバイスと異なるレートで実行できます。

 

トリガ信号同期に関する注意事項

注意1: トリガのスキュー

トリガ信号を介して同期する場合は、いくつかの高度な注意事項を考慮する必要があります。まず、トリガ信号が送信先デバイスへ伝搬するのにかかる時間により、デバイス間にスキューが生じます。さらに、このトリガ信号はスレーブデバイスによって収集クロックと同期する必要があります。これによりかなりのスキューが生じる可能性があります。図19の波形はこのスキューを示しています(複数のサンプルクロックタイミングデバイスが複数のオーバーサンプルクロックタイミングデバイスから開始トリガを受信していると仮定)。

図19: スキューを抑えるにはトリガ信号を集録クロックに同期させる必要があります。


トリガがサンプルクロックタイミングのマスタデバイスによって受信されると、マスタはこのトリガを同期クロックに再同期させて、トリガをすべてのサンプルクロックタイミングのスレーブデバイスに転送する必要があります。これが前述のトリガスキュー補正プロセスです。その結果、2組のデバイスのサンプルクロックで1~2周期の同期クロック分のスキューが生じています。この例では、同期クロックとしてPXIe_Sync100信号を使用しています。PXIe_Sync100は100ナノ秒周期があるため、2組のデバイスのサンプルクロックでは100~200ナノ秒のスキューがあります。

ただし、このプロセスを繰り返して、代わりにサンプルクロックタイミングデバイスからオーバーサンプルクロックタイミングデバイスへ開始トリガを送信すると、スキューがさらに大きくなります。これは、オーバーサンプルクロックタイミングデバイスで自走式のサンプルクロックがバックグラウンドで実行しているのが原因です。トリガ信号に即座に応答することはできないため、次のサンプルクロックを待つ必要があります。この場合、図19に示す同期クロックがオーバーサンプルクロックタイミングデバイス内蔵のサンプルクロック信号となります。そしてその結果サンプルクロック1~2周期分のスキューが2つのデバイスグループ間で発生します。これははるかに大きな誤差の原因となります。

どちらの場合も、カウンタを使用して各デバイスのグループからエクスポートされたサンプルクロック信号の間で2エッジ分離計測を実行することで、このスキューの実際の値を計測することが可能な場合もあります。

注意2: DDSクロックドリフト

直感的には、サンプルクロックタイミングデバイスとオーバーサンプルクロックタイミングデバイスの両方が同一の基準クロック(PXIe_Clk100)にロックされている場合、2組のデバイス間のドリフトはゼロになります。場合によっては、特定のレートで、デバイス間のドリフトが完全にゼロになることはありえます。

しかし、常にそうなるわけではありません。DDSは通常、デバイスで使用するデルタシグマADC用のオーバーサンプルクロックを生成するため、PXIe_Clk100信号の分割方法を制御する32ビットチューニングワードでプログラムします。チューニングワードを計算する際、わずかな丸め誤差が生じ、このチューニングワードを理想値より0.5よりビット高くまたは低く設定する必要に迫られる場合もあります。それにより、オーバーサンプルクロックタイミングデバイスとサンプルクロックタイミングデバイスのサンプルクロックレートの間に、極めて小さな誤差が生じることがあります。この誤差は0.1 ppb(0.5/2^32)以下です。これは長時間の集録では問題になることもありますが、短時間の集録では気づかないほどのレベルです。例えば100 kS/秒では、1サンプル(10マイクロ秒)ドリフトするこのレベルの誤差で2回収集を行うのに、1日ほどかかります。

 

 

デジタルフィルタ群遅延

オーバーサンプルクロックタイミングデバイスを使用する際のもう1つの注意点は、それらのデバイスに関連するデジタルフィルタ群遅延です。オーバーサンプルクロックタイミングデバイスのデルタシグマADCは、入力信号をある周期にわたってオーバーサンプルしフィルタリングすることによって動作します。このプロセスによって、入力信号がADC入力ピンで有効になってから最終的なデジタル化されたサンプルが利用可能になるまで、多くのサンプル分の時間に相当する長い遅延が生じます。

ただし、新しいPXI Expressデバイスでは、群遅延補正技術が採用されていますので、ほとんどの場合エンドユーザには群遅延が認識されないようになっています。


図20: 群遅延とは、ADCの入力で入力イベントが発生してからその相当するデータがADCから出力されるまでの時間のことです。


群遅延により、ADCの入力で入力イベントが発生してからその相当するデータがADCから出力されるまでに遅延が生じます。言い換えると、ある時点でADCから返されたデータは、過去のある時点でのADC入力における電圧を示しているということになります。

群遅延を正しく補正しないと、デバイスから返されたデータにスキューが発生します。また、群遅延により、そのようなタイプのADCから返されるデータを外部イベントと相関させるのがさらに難しくなります。

群遅延補正

群遅延補正機能を搭載したデバイスを使用すると、モジュール間の同期と外部イベントに基づくデータの相関のプロセスが簡素化できます。群遅延補正は以下のようなメカニズムで動作します。

  • デバイスからのサンプルクロック出力は、ADCの入力ピンで入力信号が有効になった時点で生成されます。このサンプルクロックが他のデバイスと共有されると、2つのデバイスからのデータは内部群遅延に関わらず時間的に近接します。
  • それらのデバイスによって生成または受信されたトリガは、全て生成されたサンプルクロックとの関係に基づいて解釈されます。例えば、収集を開始する開始トリガが発行されると、すぐ次のサンプルクロックからのデータが収集の開始ポイントとして返されます。
  • ソフトウェアタイミングによるオンデマンド収集の場合、デバイスはADCからサンプルを返す前に、群遅延の時間が経過するのを待ちます。そのため、データが返される時間とソフトウェアがデータを要求した時間は近くなります。

図21: 新しいPXI Expressデバイスでは、群遅延補正技術が採用されていますので、ほとんどの場合エンドユーザには群遅延が認識されないようになっています。


この収集は、ソフトウェアまたはハードウェアからの開始トリガによって始まります。開始トリガを受信したら、デバイスはできるだけ早くサンプルクロックを生成します。ADCはすでにバックグラウンドで実行しているため、開始トリガを再同期してオンボード変換と揃える必要があります。このプロセスを行うことで、開始トリガが受信されてから最初のサンプルクロックが出力されるまでにサンプルクロック0~2周期分の遅延が発生します。

サンプルクロックの生成が始まると、その収集に必要なポイント数に応じて続行します(この例では3)。内部的には、ADCからデータを収集するのに使用する遅延クロック信号を作成します。この遅延値は群遅延に相当するため、最終的にADCから返されるデータはサンプルクロックエッジが発生した時間と正確に一致します。

群遅延補正は、ユーザがプログラムで特別な作業をしなくても自動で実行される点に注意が必要です。


群遅延補正デバイスサポート

NI-DAQmx 9.1以降、NI PXIe-433x 歪み入力デバイスは群遅延補正をサポートしています。NI PXIe-433xとPXIe-449xの両方の16チャンネルDSAモジュールを含むマルチデバイスタスクを作成する場合、NI-DAQmxは群遅延補正を自動で両デバイスに適用します。ただし、単独で使用した場合は、NI PXIe-449xは群遅延補正を実装しません。

群遅延補正注意点

注意1: 遅延時間

群遅延補正は、目的の出力データが利用できるようになるのを待機すrため、デバイスからのデータ読み取りに関連する遅延時間が発生します。

図22: 群遅延補正は、目的の出力データが利用できるようになるのを待機するため、デバイスからのデータ読み取りに関連する遅延時間が発生します。


この例では、収集を開始して、次に最初のサンプルが利用可能になるまでに経過した時間を計測します。この遅延は、このサンプルレートでのデバイスの群遅延と同じです。デバイスから最初のサンプルを取り出した後、次のサンプルが利用可能になるのはサンプルクロック1周期分の時間が経過してからとなります。この例では、ソフトウェア遅延のほか、計測に使用しているソフトウェアタイマの精度については考慮していません。

注意2: アナログトリガ

これらのデバイスには、ADCから返されるデジタル化されたデータに基づいた「アナログ」トリガを実装するオンボードロジックも搭載されています。このアナログトリガが動作し、同時にデバイスの群遅延を正しく補正できるようにするには、特定の最小限のプレトリガおよびポストトリガポイントを収集する必要があります。

ユーザはこのプロセスの仕組みを正確に理解する必要はありません。プレトリガサンプルとポストトリガサンプルを無効な組み合わせで指定すると、指定したサンプル数を調整する方法を具体的に示すエラーメッセージが表示されます。

 

 

SC Expressフレキシブル同期

SC Expressモジュールは、PXIプラットフォームとDAQmxドライバソフトウェアを利用して、ハードウェア同期の様々なオプションを提供するものです。使用するデバイスと求めるパフォーマンスレベルによって、サンプルクロックタイミングと基準クロックタイミングのいずれかを選ぶことができます。これらの同期方法はカスタマイズ性に優れていますが、NIではマルチデバイスタスクを使用してモジュールを自動で同期するオプションをご用意しています。SC Expressモジュールを使用すると、ハードウェアの緊密な統合とアプリケーション特有のニーズに合わせたカスタマイズが可能となります。

 

 

Was this information helpful?

Yes

No