メモ 本コンテンツの日本語版は、便宜を図るために自動翻訳で提供されています。正確な最新情報については、英語版をご覧ください。

アプリケーションが以下の要件を満たす場合、同じFPGAデバイスに接続された複数のモジュールを同期できます。

  • モジュールが同じマスタタイムベースソースを使用する
  • モジュールが集録モードを同時に開始する
  • 1つのFPGA I/Oノード関数が同期データを読み取る

FPGA I/Oノードを使用してFPGA I/O項目を構成するには、まずモジュールのFPGA I/O項目を作成する必要があります。FPGA VIを以下の表のガイドラインを満たすように開発してください。

デルタシグマモジュールでは、複数のサンプリングレートを同期する必要があります。

表 41. 複数のサンプリングレートを同期する
ガイドライン 詳細
マスタタイムベースソースを共有 マスタタイムベースソースを共有するようにモジュールを構成します。
同期集録を開始
  • 同期するモジュールの開始チャンネルを使用してFPGA I/Oノードを構成します。
  • 開始チャンネルにTRUEのブール定数を配線します。
  • すべてのI/Oチャンネルが、同じFPGA I/Oノードにあることを確認します。すべてのチャンネルが揃っていないFPGA I/Oノードは同期データを返しません。
同期したモジュールから同じデータレートでデータを集録
  • FPGA I/Oノードを同期的にデータを集録するすべてのチャンネルで構成します。
  • すべてのI/Oチャンネルが、同じFPGA I/Oノードにあることを確認します。すべてのチャンネルが揃っていないFPGA I/Oノードは同期データを返しません。
  • 同じデータレートの複数のモジュールを同期するサンプルについては、labview\examples\CompactRIO\Module Specific\NI 923x\Synchronizing NI 923x Modules\Synchronizing NI 923x Modules.lvprojの「Synchronizing NI 923x Modules (FPGA)」VIを参照してください。
同期したモジュールから異なるデータレートでデータを集録
  • 異なるデータレートで構成されたモジュールを同期する場合、FPGA VI内で各データレートの独立したループを作成します。
  • 各ループ内で、FPGA I/Oノードをそのループのデータレートで構成されたすべてのチャンネルで構成します。レートが異なるチャンネルを同じループ内に配置すると、LabVIEWはVIの実行時にFPGA I/Oノードからオーバーランの警告 (エラー65539) を返します。
  • FPGA I/Oノードから最初のデータポイントが返されるまでに遅延があります。遅延の長さはモジュールのデータレートおよびモデル番号によって異なります。以下の表に、遅延の式が記載されています。
表 42. 複数のサンプリングレートを同期する等式
モジュール デシメーションレート、m クロック分周器、n 最初のサンプリングまでの時間 (s)
NI 9231、NI 9250、NI 9251 32 n = 1 (281.625 * m * n + 5.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
64 n = 1 (281.625 * m * n + 8.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
128, ..., 1,024 n = 1 (281.625 * m * n + 6.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
32, ..., 1,024 n = 2, ..., 12 (281.625 * m * n + 5.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
NI 9218、NI 9225、NI 9227、NI 9229、NI 9234、NI 9237、NI 9238、NI 9239、NI 9242、NI 9244、NI 9246、NI 9247 256 n = 1 (8.5 + n * 34,152) * Master_Timebase_Period
n = 2, ..., 31 (5.5 + n * 34,152) * Master_Timebase_Period
NI 9230、NI 9232 64 n = 1, ..., 31 77/Fs + 4-5 Master_Timebase_Period
128 n = 1, ..., 31 72/Fs + 4-5 Master_Timebase_Period
256 n = 1, ..., 31 68/Fs + 4-5 Master_Timebase_Period
NI 9235, NI 9236 512 n = 1, ..., 31 39/Fs + 110.5 MClk + 1 OClk + アナログ遅延

Master_Timebase_Period = モジュールが使用する内部または外部クロックの周期(1/13.1072 MHz、1/12.8 MHz、または1/10 MHz)。Fs = サンプリングレート。分周器とデシメーションレートは、選択するサンプリングレートによって異なります。

モジュールの仕様書には、クロック分周器とデシメーションレートの決定に役立つ等式や、各サンプリングレートのクロック分周器とデシメーションレートが記載されています。
  • 例えば、『NI-9232 仕様』には、102.4 kHzでサンプリングした場合のデシメーションレートは64、クロック分周器は1と記載されています。
  • NI-9218 仕様』に記載の等式を使用することで、サンプリングレートが51.2 kHzの場合、クロック分周器が1であることが分かります。n = Master_Timebase_Frequency/256/fs[1]1 これは、NI-9218仕様に記載された等式をnを求めるために再構成したものです。
表 43. 複数のサンプリングレートを同期する式
モジュール クロック分周器、b 最初のサンプリングまでの時間 (s)
NI 9202 1 ((5.40625 + e) * a * b * c * d + 4.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
2, ..., 11 ((5.40625 + e) * a * b * c * d + 5.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
Master_Timebase_Period = モジュールが使用する内部または外部クロックの周期(1/13.1072 MHz、1/12.8 MHz、または1/10 MHz)。 a = ADCデシメーションレート b = タイムベースクロック分周器 c = ADCクロック分周器 d = フィルタデシメーションレート e = フィルタ周波数
  • Fsでのノッチは0
  • Fs/2でのノッチは1
  • Fs/4でのノッチは3
  • Fs/8でのノッチは7
  • Fs/16でのノッチは15
各サンプリングレートのabc、およびdの値については、『NI-9202 仕様』を参照してください。
表 44. 複数のサンプリングレートを同期する等式
モジュール フィルタ クロック分周器、b 最初のサンプリングまでの時間 (s)
NI 9252, NI 9253 コム 2 ((5.40625 + b) * 128 * a + 8.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
((5.40625 + b) * 128 * a + 5.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
バタワース 2 (5.40625 * 128 * a + 8.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
(5.40625 * 128 * a + 5.5) * Master_Timebase_Period ± 1 Master_Timebase_Period
Master_Timebase_Period = モジュールが使用する内部または外部クロックの周期(1/13.1072 MHz、1/12.8 MHz、または1/10 MHz)。 a = デシメーションレート b = フィルタ周波数。
  • フィルタ周波数が0―1 (Fsでのノッチ)
  • フィルタ周波数が1―2 (Fs/2でのノッチ)
  • フィルタ周波数が3―3 (Fs/4でのノッチ)
  • フィルタ周波数が7―4 (Fs/8でのノッチ)
  • フィルタ周波数が15―5および6 (Fs/16でのノッチ)
各サンプリングレートの(デシメーションレート)aの値については、モジュールの仕様を参照してください。

1 これは、NI-9218仕様に記載された等式をnを求めるために再構成したものです。