1 / 10

Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078

D A B C & ROC Jörn Adamczewski-Musch, Hans G.Essel , Nikolaus Kurz, Sergey Linev GSI, Experiment Electronics: Data Processing group. Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078. FPGA. LAN. KNUT. D A B C. Combiner. ROC0. Input0. Output0. board[0]. Controller.

telyn
Télécharger la présentation

Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078

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. DABC & ROC Jörn Adamczewski-Musch, Hans G.Essel, Nikolaus Kurz, Sergey LinevGSI, Experiment Electronics: Data Processing group Work supported by EU RP6 project JRA1 FutureDAQ RII3-CT-2004-506078 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  2. FPGA LAN KNUT DABC Combiner ROC0 Input0 Output0 board[0] Controller Input1 ROC1 board[1] board[2] Input2 ROC2 Output1 Lmd file(s) DABC in September 08 beamtime Go4 J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  3. Observations during beamtime • This was the first usage of DABC (beta) in real work. • First run of DAQ with 3 ROCs and sync messages half an hour before beam. • 24 GByte of data stored in LMD files. • Of course, lot of problems: • lost of sync markers; • lost of epoch markers; • only ~1 MB/s data rate per ROC; • unsynchronized drop of data at high beam intensity; • influence of nXYTER control gui on DAQ. • Most problems now identified and solved J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  4. Redesign of ROC and PC software • On PowerPC • decoupling of three major tasks: • data taking • data sending • serving control requests • use ~110 MB for buffering data • fix half-duplex problem with Ethernet driver • Fully redesigned UDP-based data transfer protocol • On host PC: • fault tolerant, blocking peek/poke control interface • blocking and non-blocking mode for data taking • daq suspend logic • first approach for master/observer modes of operations J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  5. New request-reply transport protocol PC ROC Request from PC: 32-bit id new sender head new sender tail retransmissions Sender head Receiver head Lost Data filling Valid Reply from ROC: last request id data packet id up to 243 messages Consumer Sender tail ring buffer ring buffer J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  6. When data taking faster than sending PC ROC Data filling Request from PC: 32-bit id new sender head new sender tail retransmissions Receiver head Lost Sender head Valid Reply from ROC: last request id data packet id up to 243 messages Consumer Sender tail ring buffer ring buffer J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  7. Integration with DABC • roc::Transport and roc::Device classes to encapsulate functionality of KNUT SysCoreBoard and SysCoreControl classes • SysCoreSorter class (later was moved into KNUT) to perform time sorting (and errors corrections) of data stream from ROC • roc::CombinerModule for packing of data from several ROCs into mbs subevents – was used to produce raw data in beamtime • roc::CalibrationModule to perform time sorting and merging of data streams from several ROCs • roc::ReadoutApplication for configuring and instantiation of all necessary components to readout data from ROCs J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  8. Further developments • Shot-term tasks • Fix problems with faster data readout from FPGA • Use DMA mode of Ethernet driver • gain performance up to 12 MB/s sustained • modify peek/poke logic that only register-like operations are performed • Mid-term tasks • multiple controlling, single readout channels (several applications) • control and readout via PCIe board • common access layer for Ethernet and optic channel • application layer (transactions) for specific front-ends J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  9. DABC ROC plugin PowerPC PowerPC PowerPC ROC ROC ROC Access layer – current view online monitor file output nXYTER gui ROClib (KNUT) Ethernet J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

  10. DABC ROC/mprace plugin ROC/Ethr plugin PowerPC PowerPC SFP ROC ROC ROC DABC as common access layer TDC gui online monitor nXYTER gui file output ROC access layer + control API remains the same + UDP socket can be served by DABC directly + buffer, thread and configuration management provided + same software stack for tests and beamtime PCIe/mprace Ethernet optic J.Adamczewski-Musch, H.G.Essel, N.Kurz, S.Linev

More Related