The BAQ/Data Acquisition/DAQ Module/SIS3301

Japanese English
Nuclear Physics Data Acquisition Orchestra Gallery Memo Diary Link Home
DAQ System DAQ Module Pulse Shape Analysis RTLinux Linux Device Driver Home

もどる

SIS 3301 8ch 100MHz Flash ADCを使ってみる

SIS 3301 FADCの機能を紹介し、今後の可能性とテスト結果を紹介します。

特徴 / 機能


収集モード
Event
[Single Event]と[Multi Event]モードを選べる。 [Multi Event]ではTriggerがかかる度に自動的にSamplingを行なう。

Sampling
Samplingを開始するのに、外部からTrigger信号を入力させるか、あらかじめ Thresholdを設定しておき、Threshold 以下/以上の場合にSamplingを開始させることができる(autostart)。
通常使うと思われる、外部からTrigger信号を入力する場合は、[Start/Stop]と [Gate]の2種類がある。 [Start/Stop]はNIMのLogic PulseをStart時とStop時に2発入れる。Startと StopのPulseの間中Samplingしている。 [Gate]は一般的なADCのGateと同じようにNIMのGateが入っている間中 Samplingします。
また、[Start delay] / [Stop delay]の機能があり、 Start Pulse(Gate leading edge)、Stop Pulse(Gate trailing edge)を指定したClock数だけ実際の入力よりもそれぞれ遅らせることもできます。

Memory
データをMemoryに蓄える時に[Single shot]と[Wrap]モードが使えます。 [Single shot]では最大128Ksample取ると自動的にSamplingが終了します。 [Warp]ではMemoryをring-bufferのように使い、Memoryの最後までたどり着くと自動的にMemoryの先頭からどんどんデータを上書きしていきます。


便利なこと
WrapモードでTrigger後入れ
[Warp] + [Start/Stop]モードで、あらかじめStart Pulseを入れておき常に Samplingしている状態で後からStop Pulseを入れてる方式を使うと、欲しい波形よりも後からTrigger(Post Trigger)を入れることが可能です。ようするに、欲しい信号とTriggerの時間差がMemoryが上書きされる時間よりも短ければ、Analog Delayが必要ありません。また、[Stop delay]も組み合わせると、 Triggerの前後の波形を読みだすこともできます。 このページの最後にテストの結果があります。

Multi Event / Double Buffer
SIS3301は各chごとに2つのmemory bankを持っている。 [Multi Event]で、1つのmemory bankに入れる最大イベント数を設定し、さらにauto bank switch機能で自動的にbankを切替えることができる。また、bankが一杯になった時にIRQを発生させることができるので、それを期にCPUでデータを読みだすと、読み出しさえおいつけば、 dead time lessのデータ収集が可能であるはず。 (テストはしてません)


テスト結果
セットアップは写真(図1)のとおり、Function Generatorから適当な Pulseを発生させて、SIS3301に入力しました。 SIS3301の他にRPV-130 I/O RegisterのInterruptとOutputの機能を使いました。

図1 : セットアップ 図2 : 入力波形とStart/Stop Pulseの例で、黄がStart、青がStop、紫が入力波形


普通にとる
Function GeneratorでPulse波形を出力させ、よく使われるADCと同じようにGateを作ってその間に欲しい波形がくるように調整してデータをとった。 [Gate]と[Start/Stop]モードで特に違いはないです。 (図3と図4では単にGate、Start/Stopと入力波形との時間関係が違うだけで、本質的に違いはないです。)

図3 : Gate mode 図4 : Start/Stop mode


WrapモードでPost Trigger
ここでは、Function GeneratorでSin波を発生させて、1周期の波形を取り込ませようと思います。

あらかじめ適当な時刻にStart Pulseを入れ、Samplingを開始しておきます。次に図5のように波形に同期させてStop Pulseを入力します。図5はStop Pulseより800 clock (8 us) 前の波形からデータを読みだしたもの。これで、Post Triggerが使えていることがわかります。

図5 : 波形とStop Pulseの時間関係 : 黄が入力波形で青がStop Pulse、 Start Pulseはこれより以前の適当な時刻に入力してある 図6 : Stop Pulseより8 us 前の波形を読み込んだ


さらに[Stop Delay]の機能で、Stop Pulseを400 clock (4 us)遅らせて図 6と同じように800 clockデータを読み出すと図7になります。 Stop Pulseが遅らされていることがわかります。遅らせた400 clock分も考慮して1200 clock (12 us) データを読み出すと図8 になります。これでめでたくSin波が1周期とれました。

図5 : Stop Delayを4 us 入れて、8 us前の波形を読み込んだ 図6 : Stop Delayを4 us 入れて、12 us 前の波形を読み込んだ

Last Update: 2005/3/15
Hidetada Baba
baba rarfaxp.riken.jp