はじめに:
最新のPCベースのデジタイザ (A/Dボード) とデータ収集システムでは、ADC技術がPCバス技術よりも先行しているという事実によりデータ転送に問題が発生します。高速かつ高解像度のデジタイザ (A/Dボード) 製品では、ADCがPC環境の転送レートよりもはるかに多くのデータをデジタル化できる為、ボトルネック効果が発生します。たとえば、USBベースのデジタイザ (A/Dボード) は通常、100メガサンプル/秒(MS/s)を超える取得サンプリングレートを備えていますが、PCへのデータ転送速度は、USBバスによって数MB/sに制限されることがあります。このボトルネックの影響により、デジタイザ (A/Dボード) はデータの取得を停止し、重要なイベントを失い、保存された情報を消去するまで待機する必要があります。さらに、転送速度が遅いため、システム全体の測定および分析速度が制限されます。これは、大量のデータを収集、保存、分析する必要があるアプリケーションで大きな懸念事項となります。
ボトルネック問題へのアプローチ:
ボトルネックの問題を解決する1つのアプローチは、エンドユーザがデータを処理し、バスを介してPCに送信する情報量を削減できるように、オンボードのフィールドプログラマブルゲートアレイ(FPGA)にデータを送信することです。ただしこのアプローチは通常、高価なFPGAファームウェア開発ツールと専門的なエンジニアリング知識を必要とするため非常に高価です。高度なFPGAファームウェアの開発は簡単なタスクではなく、実装されているアルゴリズムによっては、ファームウェアの設計、デバッグ、および動作が完了するまでに長い期間がかかる場合があります。この種の投資は、非常に大規模なプロジェクトにのみ意味があります。
Spectrum社は、このプロセスを簡単にするために別のアプローチを採用しています。このソリューションは、最新のPCバス技術と工場で設計されたFPGAルーチン、および多数のスマートなデータ収集・転送モードを組み合わせています。その結果、ユーザーはデータ転送プロセスを簡単に最適化し、PC環境内で複雑な測定および分析ルーチンを実行できます。MathWorksのMATLAB、NIのLabVIEW、SpectrumのSBench 6などの市販のソフトウェアツールを使用してデータを処理できます。このアプローチにより、ファームウェアの開発が不要になり、プロジェクト開発が簡素化され、エンジニアリングコストが大幅に削減されます。
Table 1は、バスの違いによるデジタイザインターフェイスと、連続的に維持できる一般的なデータ転送速度を示しています。表から、オンボードADCが10-200 MS/s又はそれ以上の範囲の適度な速度でデジタイズしている場合、USBやPCIなどの低速または古いバスシステム上に構築されたデジタイザ (A/Dボード) がデータ転送のボトルネックに容易に遭遇することがわかります。デジタイザ (A/Dボード) に複数のチャネルがある場合、取得するデータ量が乗算されるため、問題はさらに複雑になります。
PCIe、真の高速バス:
もちろん、データ転送速度はデジタイザ (A/Dボード) のバスに単純に依存しません。また、PC、そのセットアップ、転送プロセスの制御に使用されるソフトウェアなど、他の要因の影響も受けます。Figure 1は、Spectrum社のM4i.22xxおよびM4i.44xxシリーズデジタイザ (A/Dボード) を示しています。これらのデジタイザ (A/Dボード) は、8ビット解像度で5 GS/s、14ビット分解能で500 MS/s、または16ビット分解能で250 MS/sのサンプリングレートを提供します。これらのM4iシリーズカードはすべて、最大3.4 GB/sの速度でオンボードメモリからPCにデータを転送できるデジタイザ (A/Dボード) 用の最新のPCバステクノロジー、PCIe x8レーンGen2インターフェイスを備えています。M4iシリーズカードには、WindowsおよびLINUX用の速度最適化ドライバーが付属し、複数のバスマスターDMA(ダイレクトメモリアクセス)エンジンを使用して、可能な限り高速なスループットレートを維持します。
DMAデータ転送速度の測定方法:
DMA転送パフォーマンスは、関係するすべての異なるコンポーネントの結果です。デジタイザ (A/Dボード) のメーカーは、デジタイザFPGA DMAコア、カーネルドライバー、ライブラリ、およびテストプログラムに影響を与えています。PCのマザーボードも全体的なパフォーマンスに影響します。一方で、接続されたPCIeレーンの数、サポートされているPCIe Gen、CPUとスロット間のブリッジの数などのハードウェア要因があります。一方、システムで使用される他のコンポーネントに依存する可能性があるBIOS、BIOS設定、ペイロードサイズなどのソフトウェア要素があります。
ここで、DMAパフォーマンスを測定するために、Spectrum製品用のソフトウェアツールであるSpectrum Control Centerを使用して、メンテナンスとテストを可能にしました。Spectrum Control Centerは、WindowsおよびLinuxオペレーティングシステムの両方で実行できるQtライブラリに基づくC++アプリケーションです。DMA転送速度を測定するために、特定のカードモデルの影響を避けるために、カードを特別な速度テストモードに切り替えます。たとえば、2チャンネル500 MS/sの14ビットカードは、フルサンプリングスピードで実行している場合に1953 MB/sのデータしか生成できません。これは、8レーンGen2 PCIeバスが実際に転送できるパフォーマンスにも近くありません。
PCのマザーボードとBIOSの構造は異なるため、結果はDMA通知サイズにも依存します。これは、割り込みが発行された後に転送されるデータの量です。パフォーマンスを最大にするには、DMA転送に最適な通知サイズを選択する必要があります。Spectrum Control Centerは、さまざまな通知サイズを繰り返して、最適なパフォーマンス設定を見つけます。これをFigure 2に示します。この例では、32 KB以上の通知サイズを使用すると、良好なパフォーマンスが得られます。最大転送速度は1 MByteの通知サイズです。これを使用すると、300 usごとに割り込みを処理することになります。このテストで使用したマザーボードの最大DMA転送パフォーマンスは3330 MB/sです。また、コントロールセンターの情報画面では、使用されているスロットのPCIeペイロードサイズが256バイトであり、最高の転送パフォーマンスが得られることがわかります。
Figure 3に示すコマンドラインツールは、ソースコードとしても利用できます。このツールを使用すると、ユーザーはDMA設定を簡単に調整し、ハードディスクアレイへの実際の設定でデータストリーミングをテストできます。Figure 3に示すように、グラフィカルユーザーインターフェイスが含まれていないため、パフォーマンスはわずかに向上しています(平均3348 MB/s)。このツールは、パラレルマザーボードの複数のカードのDMAパフォーマンスを測定するためにも使用でき、PCIeレーンの接続が不十分であるという点でボトルネックを明らかにします。
さまざまなマザーボードとペイロード設定の影響:
Table 2は、M4iシリーズデジタイザ (A/Dボード) をさまざまなPCマザーボードとの構成で使用したベンチマークテスト結果を示しています。256バイトのPCIeペイロードサイズを使用すると、最高のパフォーマンスが得られます。すべての機械的8レーンスロットがすべてのレーンをチップセットに接続するわけではないため、マザーボードのマニュアルでは、スロットの電気的な接続方法について説明しています。
スマート読み出しモード:
高速PCIeバスに加えて、M4iデジタイザカード (A/Dボード) にはさまざまな収集モードが装備されています。標準の収集モードでは、オシロスコープのようにオンボード収集メモリをリングバッファとして使用します。データは、トリガーイベントが発生するまでデジタイザ (A/Dボード) のリングメモリに書き込まれます。トリガーの後、ポストトリガーの値が記録されます。これにより、プリトリガー値とポストトリガー値の両方が記録データに含まれます。他の収集モードはFIFO(先入れ先出し)です。これは、デジタイザ (A/Dボード) と外部ホストコンピュータ間の連続データ転送用に設計されたストリーミングモードです。データストリームの制御は、割り込み要求に基づいて、ドライバーによって自動的に処理されます。
標準モードとFIFOモードの主な違いは、標準モードがオンボードメモリの使用に制限されていることです。これは、M4iシリーズでは4ギガバイトです。FIFOモードは、バスを介してPCメモリまたはハードディスクにデータを連続的に転送するように設計されているため、はるかに長い取得時間で実行できます。取り付けられた完全な収集メモリはバッファとして使用され、信頼性の高いデータストリーミングを提供します。完全なストリーミングパフォーマンスには、専用のRAIDコントローラー、高スループットのSSDアレイ、最適化されたドライバー、正しいシステムとソフトウェアのセットアップ、オペレーティングシステムのボトルネックを回避できるストリーミングソフトウェアが必要です。Spectrum社は、Figure 4に示すようなターンキーソリューションを提供しており、3ギガバイト/秒以上の転送速度でSSDアレイに数Tバイトのデータを連続的にストリーミングできます。
低デューティサイクル測定用のメモリセグメンテーションモード:
標準モードとFIFOモードは、3つの異なる複数の記録方法でも使用できます。複数の記録は、デジタル化される信号がバーストで、またはシーケンシャルに到着するたびに使用できます。複数の記録により、特に低デューティサイクルの測定アプリケーションで、オンボード取得メモリをより効率的に使用できます。低デューティサイクルアプリケーションには、短い期間のイベントに続いて長い休止期間があるアプリケーションが含まれます。このタイプの信号のキャプチャに最適化された取得方法は、マルチプルレコーディング(セグメント)モード、ゲートモード、およびABA(デュアルタイムベース)取得です。これらのモードはすべてメモリをセグメント化し、メモリ内で複数の収集を行います。デュアルタイムベースABAモードは、トリガー間のサンプリングレートを減らしてメモリスペースを節約しますが、トリガー間のデッドタイムで何が起こっているかを表示します。
オンボード分析:
データのボトルネックの問題を解決するためにM4iシリーズデジタイザ (A/Dボード) で使用できる最後の方法は、オンボード処理とデータ削減を使用することです。M4iシリーズカードの設計には、メモリ制御、トリガーモード、PCIeバス制御、信号処理などのさまざまな機能に使用されるFPGAが組み込まれています。Figure 5は、M4iシリーズデジタイザ (A/Dボード) のブロック図と基本アーキテクチャを示しています。FPGAの内部には、信号の平均化、ピーク検出、統計などの機能のために工場で開発されたファームウェアをロードできるように予約されています。
オンボードの信号処理により、PCに転送するデータ量を大幅に削減できます。たとえば、繰り返し信号を処理する場合、平均化ファームウェアは、それぞれ最大128 kポイントの長さの65,000を超える個別の波形を蓄積できます。この関数は、個々のすべての波形のデータを1つの平均化された波形に効果的に削減します。同様に、ピーク検出ファームウェアは、信号内の最大イベントと最小イベントを特定し、それらの値を対応するタイミング情報とともに保存できます。このようにして、以前は数千または数百万のデータポイントを含んでいた波形を、おそらく6-8個の基本的な数字の単純なセットに減らすことができます。
まとめ:
最新のデジタイザ (A/Dボード) に実装されているADCテクノロジがより高い分解能でより高速な取得レートに達すると、取得、保存、およびPCへのデータ転送量は増加し続けます。表示、保存、分析のためにデータをPCにシフトするには、適切なバス(同等のデータ転送速度を維持できる)、柔軟な集録および転送モード、適切に構成されたPCおよび適切なソフトウェアを備えたデジタイザ設計が必要です。データの削減が極端に必要になる場合には、FPGAテクノロジを使用できます。
——————————————————————
原文ドキュメント:
an_solving_data_transfer_bottlenecks_on_digitizers.pdf
Solving the Data Transfer Bottleneck in Digitizers
関連製品
M4i.4451-x8:500MHz 高速A/D ボード (PCIe)
M4i.2221-x8:2.5GHz 高速A/D ボード (PCIe)
Spectrum Instrumentation社について
Spectrum社は、Spectrum Systementwicklung Microelectronic GmbHとして1989年に設立され、2017年にSpectrum Instrumentation GmbHに改名されました。最も一般的な業界標準(PCIe、LXI、PXIe)で500を超えるデジタイザおよびジェネレータ製品を作成するモジュール設計のパイオニアです。これら高性能のPCベースのテスト&メジャーメントデザインは、電子信号の取得・生成および解析に使用されます。同社はドイツのGrosshansdorfに本社を置き、幅広い販売ネットワークを通じて世界中に製品を販売し、設計エンジニアによる優れたサポートを提供しています。 Spectrum社の詳細については、www.spectrum-instrumentation.comを参照してください。