Archived: カウンタに設定可能なパルス幅(周期)の最大値・最小値

This document has been archived and is no longer updated by National Instruments



ハードウェア: Counter/Timers (TIO)>>Devices>>PCI-6601

問題: パルス列成を行う際,極めて長く,あるいは短くパルス幅を設定したいのですが,エラーが発生します。例えば,1秒に一回1マイクロ秒の幅のパルス(周波数1Hz,デューティサイクル0.000001)を生成したいのですが,うまく行きません。


解決策: 上記の例は,NI-TIOを使用したデバイス(PCI/PXI-6601/6602/6608)では正常に動作しますが,DAQ-STCを使用したデバイス(EシリーズマルチファンクションDAQ)では動作しません。これはカウンタの持つ分解能の違いによるものです。NI-TIOは32ビットのカウンタを採用しており,DAQ-STCは24ビットのカウンタを採用しております。

カウンタはTTL Low(0V)とTTL High(5V)のパルス列を出力するため,内蔵された,もしくは外部端子からのクロックを内部的に使用しております。この動作は指定された周波数で繰り返されます。問題の例では,DAQ-STCデバイスは内部の20MHzクロックを使用しなければなりません。100kHzのクロックではマイクロ秒の分解能を得られないためです。この20Mzのクロックを用いた場合,1Hzで0.000001のデューティサイクルのパルスは,Highレベルが20発,Lowレベルが19,999,980発のパルスを並べた物になります。24ビットのカウンタは0から ((2^24) - 1) = 16,777,215までしかカウントすることができません。19,999,980には足りないため,カウンタは必要な数に到達する前に0へ戻り,エラーとなります。

NI-TIOを用いたデバイスは0から((2^32) - 1) = 4,294,967,295までカウントすることができます。DAQ-STCの16,777,215よりも大幅に大きく,件での19,999,980は問題なくカウントすることができます。

一般に,パルスを表すためのHighパルス数とLowパルス数を指定する必要があります。ボードで目的のパルスが生成できるか否かは,選定したクロック周波数 (100kHz,20MHz,もしくは80MHz (DAQ-STC2と,NI-TIOベースのデバイスが機種によりサポート))と,カウンタの上限値により決まります。

まず,必要な時間分解能を得られる最低のクロックをタイムベースに選びます。
分解能 10μs未満・・・10kHzタイムベース
0.05~10μs・・・20MHzタイムベース
0.0125~0.05μs・・・80MHzタイムベース(使用可能であれば)

以下を計算して下さい。
a = (タイムベース周波数[Hz]) * (デューティサイクル)
b = (タイムベース周波数[Hz]) * (1 - (デューティサイクル))
x = (2^24) - 1
y = (2^32) - 1

デバイスにDAQ-STCが搭載されている場合:
(a,b) の大きい方がxより小さければ,動作します。

デバイスにNI-TIOあるいはDAQ-STC2が搭載されている場合:
(a,b) の大きい方がyより小さければ,動作します。

関連リンク: KnowledgeBase 271A85YF : EシリーズDAQボードのカウンタを使用した際に、167[sec]を越える時間でパルス生成をすることができません KnowledgeBase 1J7EBUU3 : What are the Difference Between the National Instruments Timer Chips?

添付:





報告日時: 07/30/2001
最終更新日: 03/08/2005
ドキュメントID: 2BTCHSEW