gem 検出器用 daq-middleware

9
GEM 検検検検 DAQ-Middleware 2010 検検 DAQ-Middleware 検検検 2010 検 8 検 4 検 検検検検検検検検検検検検検検検検検検検 検 検検

Upload: dympna

Post on 21-Jan-2016

2.032 views

Category:

Documents


0 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: GEM 検出器用 DAQ-Middleware

GEM 検出器用 DAQ-Middleware

2010 年度 DAQ-Middleware 講習会2010 年 8 月 4 日

素核研エレクトロニクスシステムグループ

安 芳次

Page 2: GEM 検出器用 DAQ-Middleware

大下さんのトラぺ

Page 3: GEM 検出器用 DAQ-Middleware

Architecture of DAQ-Middleware

DispatcherDispatcher

LoggerLogger

MonitorMonitorGathererGatherer

・・・

・・・

SystemSystemInterfaceInterfaceSystemSystem

InterfaceInterface

Control Panel

Online histogram

DAQ-OperatorDAQ-Operator

Readout modules

Page 4: GEM 検出器用 DAQ-Middleware

GEM 用 Gatherer コンポーネント

• データフォーマット( 1 フレーム、 10 バイト)

unsigned int timeU; unsigned int timeL; unsigned char Xdata; unsigned char Ydata;

• データの流れ– コネクションが確立すると、 GEM 側からデー

タが垂れ流しにやってくる

Page 5: GEM 検出器用 DAQ-Middleware

SiTCP とは(復習)

使い方が簡単使い方が簡単

FPGA

高速データ転送高速データ転送理論限界値付近で安定して転送可能

TCP サーバに見え

ソケットプログラミン

グで通信

FIFO メモリ

に見える

メモリ読み書き回路で TCP

通信

ユーザ回路ユーザ回路

SiTCP

内田さんから

Page 6: GEM 検出器用 DAQ-Middleware

プログラミングの実際(Gatherer)

configure コマンド時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 に転送する 転送に成功したら取得イベント数をインクリメントする}

一回しか呼ばれない 繰り返し呼ばれる

RUNNING state 時

Page 7: GEM 検出器用 DAQ-Middleware

Monitor コンポーネント with ROOT

• ROOT とは CERN で開発された解析表示用ツール

• ヒストグラムや GUI ばかりでなく Tree と呼ばれるデータコンテナが強力

• DAQ-Middleware のMonitor コンポーネントで積極的に利用している

• 下記に英語・日本語のUserGuide がある

http://root.cern.ch/drupal/content/users-guidehttp://www.dw-sapporo.co.jp/technology/root_cint_dw_documents/root_cint_dw_documents

Page 8: GEM 検出器用 DAQ-Middleware

プログラミングの実際(Monitor)

configure コマンド時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(); } |}

一回しか呼ばれない 繰り返し呼ばれる

RUNNING state 時

Page 9: GEM 検出器用 DAQ-Middleware

まとめ

• GEM 検出器用 DAQ-Middleware を紹介した• 特に、 GEM 用 Gatherer コンポーネントと

ROOT を用いた Monitor コンポーネントについて詳しく解説した

• GEM 検出器用 DAQ-Middleware のGatherer, Monitor はすでに J-PARC, MLF で利用されている