The BAQ/Data Acquisition/DAQ System/Babarl/Abstract
もどる
RIKEN Accelerator Progress Reportに載せたものの直訳です。内容は古いので、現状とそぐわない点もあります。
BabarlDAQでは複数台のパーソナルコンピュータ(PC)とオペレーティングシステム(OS)にRTLinux、CAMAC
Create ControllerにはKinetic 3922 + 2915 PCIInterface to 3922もしくは東陽テクニカCC/7700
+ CC/PCIを採用してます。 RTLinuxはLinuxのリアルタイムOS版で、GNU General
Public Licenseに基づいて配布されており、無償で利用することができます。
BabarlDAQは各イベントをACCではなくPCで処理します。イベント処理にRTLinuxを使用することで、BabarlDAQのパフォーマンスは以前のシステムと同程度に達することができました。
BabarlDAQにはLinux上で動作する使いやすいオンライン解析ソフトウェアのAnapawを含んでいます。
AnapawはCERN Program Libraryを使用したPAWベースのソフトウェアで、以前のシステムで使用されていたAnalysと互換性を持っています。
Anapawは同じユーザーインターフェイスでオンライン、オフライン解析を行なうことができます。オンライン解析時、AnapawはBabarlDAQの構成要素の1つであるAnalyzerからデータを受け取り、オフライン解析時はファイルからデータを読み出すことができます。
このように、BabarlDAQはとても費用効率が良く、また利用者は以前のシステムから容易に移行が可能です。
BabarlDAQの主な構成要素はCollector, Driver, Transfer,Database, Controller,
Recorder, Analyzerです。 CollectoとDriver, Transferを除いて、それぞれの構成要素は複数台のPC上に分散可能で、それぞれはお互いにイーサネットを通じて通信します。
Databaseはステータスデータ(ラン情報、ブロックデータ、スケーラデータなど)を管理し、他の構成要素にこれらを提供します。
Controllerは唯一ユーザーインターフェイスを持つ構成要素で、利用者はこのControllerを通じてBabarlDAQを制御します。
RecorderはTransferからローデータを受け取り、ハードディスクもしくは磁気テープに保存します。
AnalyzerはAnapawやステータスモニタなどのオンラインソフトウェアのフロントエンドで、Databaseからブロックデータを受け取ります。
Collectorはデータ収集開始時にDriverを組み込み、Transferを実行させます。
DriverはCAMACからデータを収集し、共有メモリ領域のバッファに貯めます。 Transferは共有メモリを監視しており、バッファがフルになった時にデータをRecorderとDatabaseに転送します。このようにDriverとTransferはお互いに共有メモリを通じて交信し、CollectorはDriverとTransferのフロントエンドであるため、これらの構成要素は同一のコンピュータ内に存在する必要があります。
DriverはRTLinuxの周期的タスクを使用してCAMAC LAM信号を50μs間隔でチェックします。標準のLinuxの周期的タスクにおいて、タスクを始動させるのに600μs以上必要で、それは簡単に20ms以上の遅延が生じますが、RTLinux周期的タスクでの遅延は35μs以内です。また、共有メモリに2つのバッファを用意しているため、Transferがバッファデータにアクセスしている間でもDriverはCAMACからデータを得ることができます。
RTLinux上で動作するKinetic 2915 PCI Interface to 3922のデバイスドライバも開発しました。
RTLinuxを使用しているので、CAMAC制御のパフォーマンスは他のプロセスの影響を受けません。
single-actionにおいてno-data-transferモードの反応時間は8.5μsで、read-actionとwrite-actionモードでは11.0μsでした。
Kinetic 3922 + 2915のactionモードの1つであるBlock-read-actionモードでは、1度crate
address, station number, subaddress, function, transfer-countを2915 CNAFレジスタにセットすれば、2915
FIFOレジスタを読み出す度に自動的に新しいデータがtransfer-countだけセットされます。このモードはLeCroy
FERAやFERA互換、メモリー、Phillipsのなどのシーケンシャルに読み出しができるモジュールに有効です。
16ワード読み出すのにsingle-actionモードでは175μs$必要だすが、このモードでは58.4μsですみます。
BabarlDAQはすでにRIKEN projectile fragment separator (RIPS)における原子核物理学実験に導入されています。
1イベントサイズが80〜90ワードで、イベントレートが0.2kcps〜1.8kcpsの典型的なRIPSにおける実験で、以前のシステムと同定度のパフォーマンスを得られました。特筆すべき点は、高いレートで長期間の実験にもかかわず保存されたデータに1つもエラーがなかったことです。
Last Update: 2005/4/7
Hidetada Baba
baba @ rarfaxp.riken.jp