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.



PCIベースのデバイスは最大転送レートを扱えないようです



ハードウェア: PXI/CompactPCI>>Controllers

問題:

PCIデバイスはデータをメモリに書き込むのにバスマスタリングを使用しますが、最大レートでスキャンすることができません。データ集録(DAQ)アプリケーションのみを実行中の場合は最大レートで集録できますが、他のアプリケーションを起動するとバッファオーバーフローまたはバッファの上書きエラーが発生します。



解決策:

エラー-10846
このエラーは、未回収のデータが読み取られる前に新しいデータがPCのメモリに書き込まれることにより発生します。連続集録においては一次データバッファを循環バッファとして構成することができます。DAQデバイスは集録したデータを循環バッファに格納していきます。バッファの終端に達したらデバイスはバッファの先頭に戻り、再びデータを格納していきます。ダブルバッファリングと循環バッファについての詳細はLabVIEW Measurement Manualのチャプター6またはNI-DAQ User Manual for PC Compatiblesのチャプター4を参照してください(LabVIEW Measurement Manualの情報はLabVIEW 7.xで有効です。LabVIEW 8.0以降を使用されている場合、LabVIEWにおけるDAQの使用に関する詳細情報はLabVIEW Helpを参照してください)。


アプリケーションがメイン循環バッファからデータを読み取る速度が、DAQデバイスが循環バッファへデータを転送する速度よりも遅い場合、エラー-10846が発生します。DAQアプリーションが他のアプリケーションからほとんど干渉を受けずに実行している場合、CPUはDAQデバイスが循環バッファへデータを転送するレートと同じか、あるいはより早いレートでデータを循環バッファから読み取るよう時間を割り当てることができます。しかし別のアプリケーションを起動すると、コンピュータはそのアプリケーションを起動し実行するために一定の割合のCPU時間を使用します。このためDAQアプリケーションに使用されるCPU時間が削減され、アプリケーションが循環バッファからデータを読み取る速度に遅延が生じ、結果としてエラー-10846が発生します。DAQアプリケーションを実行中に別のアプリケーションを起動しなければならない場合、循環バッファのサイズを増やしてエラーに対処してください。

エラー-10845
このエラーはPCI DAQデバイスのオンボードFIFOがオーバーフローした際に発生します。PCI DAQデバイスはDMAによるデータ転送を行いますが、コンピュータに接続されている他のデバイスもまたDMAを使用します。ビデオカード、ハードディスクコントローラおよびその他周辺機器はすべてデータ転送にPCIバスを使用するため、PCIバスの帯域幅を共有します。そのため、コンピュータが他のアプリケーションを起動すると、ハードディスク、ビデオカードおよびPCI DAQデバイスはPCIバス帯域幅をお互いに共有しなくてはならなくなります。他のPCIデバイスがPCIバスを制御する間に、DAQデバイスは自身のオンボードFIFOバッファに集録したデータを格納していきます。PCI DAQデバイスが必要なタイミング(たとえばオンボードFIFOが一杯になる前)でPCIバスの制御ができない場合、エラー-10845が生じる場合があります。

コンピュータのマザーボードのPCIチップセットはこれらすべてのPCIデバイスに加え、コンピュータの他のAT(ISA)デバイスからの要求にもすべて応じます。より最近のPCIチップセットはPCIバスの処理や管理に関してより優れています。

 




関連リンク:


添付:





報告日時: 12/08/1997
最終更新日: 02/19/2009
ドキュメントID: 1478F6W1