th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING...

13
8 th AGATA week Köln, March 31 th – April 1 st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Transcript of th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING...

Page 1: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

8th AGATA weekKöln, March 31th – April 1st 2009

CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES

Damiano BortolatoINFN Padova

Page 2: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

General overview(one crystal)

RAW38x200MB/s

PCI Express2x100-200MB/s

DAQ farm(narval)

Digitizer

Carrier Master(with GTS)

Carrier Slave(only segments)

GTSmezzanine

Segmentmezzanine

TCLK

Page 3: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Carrier OverviewATCA crates

GTS mezzanine

One crystal carriers M-S

Segment mezzanines

JTAG probe used to connect to Chipscope cores

Digitizer connections

Page 4: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Carrier Overviewtrigger distribution

GTS mez

SEG. mez

SEG. mez

SEG. mez

FPGA 2

carrier card (master)

FPGA 0

link to GTS tree

Clock and sync to digitizers

ATCA backplane

FPGA2 distributes the trigger bus transitions to all the mezzanine slots equalizing the latencies.All mezzanines (master and slave) receive the trigger bus signals simultaneously.

TCLK board by IPN (Ch. Oziol)

Trigger requests may came from each segment mezzanine (also from slave's mezzanines).FPGA2 slow control can select which line has to be routed to the GTS.

Slave card is connected via the TCLK board through 6 LVDS serial channels @800 Mb/s each.There are 2 different version for FPGA2 firmware: master and slave. (dashed links are active only for slave board)

Page 5: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Carrier Overviewdata flow

GTS mez

SEG. mez

SEG. mez

SEG. mez

FPGA 2

carrier card (master)

FPGA 0

ATCA backplane

Preprocessed data comes out from the segment mezzanines formatted as packets. Each packed contains energy and timing information as well as a snapshot of 160 samples for each of the 6 channels around the trigger event.The length of the packet is 2048 bytes so the amount of data to read out one crystal is 14 KiB/event.

Raw data comes from digitizers 6 channel per segment mezzanine @200 MB/s

One DAQ machine reads out the data from master and slave (one crystal)

Page 6: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Firmware

Preproc.code

by Orsay

carrier interface

chipscope

data

Slow ctrl

FPGA

Segment mezzanine card

dual port RAM2MB – 1K event

FPGA 0

consswitch

PCI expressconsumer(DMA)

ppc405 CPU runnning vxWorks OS

FIFO2 event

FIFO2 event

FIFO2 event

FIFO2 event

prod.switch

chipscope

400 MB/s

400 MB/sFPGA 2

ChipScope

Trigger & clockdistribution/equalization

ethernetswitch

Ethernet connection

Read

out

PCIe

link

100-

200

MB/

s

Carrier card

200 MB/s

Data bus is composed by 4 LVDS serial channels @ 800Mb/s each

I2C bus is used for slow control on carrier and mezzanines

Page 7: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

PCI Express readout

SFPSFP

FPGA 0

PCIe core by Xilinx

carrier card

DMA engineby M. Bellato

DATA

PCIe consumerSFPSFP

linko cardReference clockPCIe data 1x

The original idea by M. Bellato was to transport the serial link of a common PCIe 1x slot over an optical fibre. The clock would be in theory not necessary, but if the PC cannot disable the Spread Spectrum it is needed. Some tests performed Padova with 2 connections on the same machine showed a DMA rate of ~400 MB/s (200MiB block).The software driver has been developed by A. Triossi and D. Bortolato. It has been ported to the 64 Linux platform by X. Grave.Devices are seen as /dev/xdev0 and /dev/xdev1

During the PC startup the BIOS detects and configures PCI BARs properly. If the carrier is power-cycled the BIOS configuration is lost: there is the need for a configuration restoring mechanism in order to avoid a PC reboot.

Page 8: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

PCIe readout

Acquisition machines

Linko cardsTCLKDAQ conn.

ATCAbackplane

Ethernetconn.

Page 9: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Carrier run/slow control

WEB

Carrier cards are connected through an ethernet connetion.

The control host is a SOAP gateway for the carrier system, It runs the controlling daemon and listen for client connection. (Python code)

Carrier cards are controlled via a telnet session. The control daemon sends commands to each card and parse their output.(C code)

A SOAP web serviceis exported to the network by the SOAP gateway. This service provide a very basic set of commands for controlling the status of the system (reset, setup, start, stop ...).(Python code)

Clients connect to the SOAP service. The interface is specified by a WSDL file. The user interface actually is a simple command line tool (Python code), but it will be connected to a GUI.

Page 10: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova
Page 11: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova
Page 12: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

Set Up Procedure

Currently, the set up procedure involves the manual synchronization of several operations that have to be done on different subsystems. This is an example of what are the main steps (see also Samantha's manual):

● Switch on everything (digitizers ATCA crates GTS crate...)● Start the GTS calibration procedure and wait for it to finish the first step.● Launch the carriers management daemon and start the carrier setup.● Wait for carrier and GTS procedures to finish.● Send a setup command to digitizers through their own control interface,

and wait for it to finish.● Connect the chipscope and check manually the status of the channels of

each mezzanine.● Power on or reboot DAQ machines.● Start Narval.

Page 13: th AGATA week - ikp.uni-koeln.de · 8th AGATA week Köln, March 31th – April 1st 2009 CONTROLLING THE ATCA CARRIERS AND THE MEZZANINES Damiano Bortolato INFN Padova

To do listSoftware & Firmware:

● Need to replace the chipscope manual monitor with an automatic mechanism.● On the carrier is possible to add some second order checks and monitors as

well as some histogrammers, counters, ...● Improvements in the PCIe driver (mmap, interrupts, IOCTLs...)

Slow/Run control:

● Currently each subsystem is a black box where everything is considered working or not working (no topology information between subsystems).This means that is not possible to reconfigure/recover only a part of the system.

● Need for SC supervisors in order to coordinate subsystems with each other.● Need to avoid DAQ rebooting the machines after every PCIe core reset.