スライド

Download Report

Transcript スライド

GEM検出器用DAQ-Middleware
2010年度 DAQ-Middleware講習会
2010年8月4日
素核研エレクトロニクスシステムグループ
安 芳次
大下さんのトラぺ
Architecture of DAQ-Middleware
DAQ-Operator
System
Interface
Control Panel
Logger
・
・
・
Gatherer Dispatcher
Monitor
Readout modules
Online histogram
GEM用Gathererコンポーネント
• データフォーマット(1フレーム、10バイト)
unsigned int timeU;
unsigned int timeL;
unsigned char Xdata;
unsigned char Ydata;
• データの流れ
– コネクションが確立すると、GEM側からデータが垂
れ流しにやってくる
SiTCPとは(復習)
内田さんから
TCPサー
バに見え
る
FIFOメモリ
に見える
SiTCP 高速データ転送
理論限界値付近で
安定して転送可能
ユーザ回路
メモリ読み書き
回路でTCP通
信
FPGA
使い方が簡単
ソケット
プログラミング
で通信
プログラミングの実際(Gatherer)
一回しか呼ばれない
繰り返し呼ばれる
configureコマンド時
RUNNING state時
daq_configure() { システム構成パラメータの設定
::NVList* paramList;
paramList = m_daq_service0.getCompParams();
parse_params(paramList);
}
startコマンド時
daq_start() {
set_condition(); 実験条件パラメータの設定
connect_modules(); SiTCPモジュールへの接続
データは流れ始める
}
stopコマンド時
daq_stop() {
disconnect_modules(); SiTCPモジュールの切り離し
データの流れは止まる
}
daq_run() {
stopコマンドが来ているか、
終了条件が成立しているか?
チェックする
以前のOutPortへの転送が成功していなかったら
転送を試みる
複数のSiTCPモジュールからのデータを待つ
到着したデータを読み出す
読み出したデータをフォーマットする
フォーマットされたデータをOutPortに転送する
転送に成功したら取得イベント数をインクリメントする
}
Monitorコンポーネント with ROOT
• ROOTとはCERNで開発さ
れた解析表示用ツール
• ヒストグラムやGUIばかり
でなくTreeと呼ばれる
データコンテナが強力
• DAQ-Middlewareの
Monitorコンポーネントで
積極的に利用している
• 下記に英語・日本語の
UserGuideがある
http://root.cern.ch/drupal/content/users-guide
http://www.dw-sapporo.co.jp/technology/root_cint_dw_documents/root_cint_dw_documents
プログラミングの実際(Monitor)
一回しか呼ばれない
繰り返し呼ばれる
configureコマンド時
RUNNING state時
daq_configure() { システム構成パラメータの設定
::NVList* paramList;
paramList = m_daq_service0.getCompParams();
parse_params(paramList);
}
startコマンド時
daq_start() {キャンバスとヒストグラムの定義
TCanvas* m_canvas = new TCanvas(“myc”,…);
TH2F* m_hist = new TH2F(“h3”, … );
}
stopコマンド時
daq_stop() {
m_hist->Draw(“colz”);
m_canvas->Update();
m_canvas->Modified();
}
daq_run() {
InPortからデータを読み出す
タイムアウトやstopコマンドが来ているかどうかを
チェックする
また、フェータルエラーかどうかもチェック
|
if(isEvent) {
イベントデータが正しく到着したら、データをFillする
m_hist->Fill(x,y);
}
|
if((m_loop%100))==0) {
定期的にヒストグラムを表示
m_hist->Draw(“colz”);
m_canvas->Update();
}
|
}
まとめ
• GEM検出器用DAQ-Middlewareを紹介した
• 特に、GEM用GathererコンポーネントとROOT
を用いたMonitorコンポーネントについて詳し
く解説した
• GEM検出器用DAQ-MiddlewareのGatherer,
MonitorはすでにJ-PARC, MLFで利用されてい
る