1 / 9

GEM 検出器用 DAQ-Middleware

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.

dympna
Download Presentation

GEM 検出器用 DAQ-Middleware

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GEM検出器用DAQ-Middleware 2010年度 DAQ-Middleware講習会 2010年8月4日 素核研エレクトロニクスシステムグループ 安 芳次

  2. 大下さんのトラぺ

  3. Architecture of DAQ-Middleware DAQ-Operator System Interface Control Panel Logger ・ ・ ・ Gatherer Dispatcher Monitor Readout modules Online histogram

  4. GEM用Gathererコンポーネント • データフォーマット(1フレーム、10バイト) unsigned int timeU; unsigned int timeL; unsigned char Xdata; unsigned char Ydata; • データの流れ • コネクションが確立すると、GEM側からデータが垂れ流しにやってくる

  5. SiTCPとは(復習) 内田さんから TCPサーバに見える FIFOメモリ に見える SiTCP 高速データ転送 理論限界値付近で 安定して転送可能 ユーザ回路 FPGA ソケット プログラミングで通信 メモリ読み書き回路でTCP通信 使い方が簡単

  6. プログラミングの実際(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モジュールの切り離し                    データの流れは止まる } RUNNING state時 daq_run(){ stopコマンドが来ているか、    終了条件が成立しているか?    チェックする  以前のOutPortへの転送が成功していなかったら    転送を試みる  複数のSiTCPモジュールからのデータを待つ  到着したデータを読み出す  読み出したデータをフォーマットする  フォーマットされたデータをOutPortに転送する  転送に成功したら取得イベント数をインクリメントする }

  7. 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

  8. プログラミングの実際(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(); } RUNNING state時 daq_run(){ InPortからデータを読み出す  タイムアウトやstopコマンドが来ているかどうかを  チェックする  また、フェータルエラーかどうかもチェック | if(isEvent) { イベントデータが正しく到着したら、データをFillする m_hist->Fill(x,y); } | if((m_loop%100))==0) { 定期的にヒストグラムを表示 m_hist->Draw(“colz”); m_canvas->Update(); } | }

  9. まとめ • GEM検出器用DAQ-Middlewareを紹介した • 特に、GEM用GathererコンポーネントとROOTを用いたMonitorコンポーネントについて詳しく解説した • GEM検出器用DAQ-MiddlewareのGatherer, MonitorはすでにJ-PARC, MLFで利用されている

More Related