9
NA62 LKr WG Meeting, 27 Oct 2009 Status of the CARE software Henk Boterenbrood

Status of the CARE software

  • Upload
    tana

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Status of the CARE software. Henk Boterenbrood. Outline. Three areas of software development for CARE Monitoring & Configuration Debugging & Testing (low-level) Testing (high-level) & Readout. green = temperature [˚C]. orange = outside expected range. - PowerPoint PPT Presentation

Citation preview

Page 1: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009

Status of the CARE software

Henk Boterenbrood

Page 2: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Outline

Three areas of software development for CARE Monitoring & Configuration Debugging & Testing (low-level) Testing (high-level) & Readout

Page 3: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Monitoring: CARE voltages and temperatures

Embedded software in ELMB “CAREio ELMB Reference Manual”

https://dfs.cern.ch/dfs/Workspaces/c/CARE/doc/CAREio-ELMB.pdf

PC application (existing, customized for CARE)for reading and displaying V and T

“CAREio ELMB Software Tools”https://dfs.cern.ch/dfs/Workspaces/c/CARE/doc/CAREio-Tools.pdf

Stable, in use, currently no development

green = temperature [˚C]orange = outside expected

range

Page 4: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Configuration: CPDAS parameters

Embedded software in ELMB “CAREio ELMB Reference Manual”

https://dfs.cern.ch/dfs/Workspaces/c/CARE/doc/CAREio-ELMB.pdf

PC application for reading CPDAS par’s from database file and storing in ELMB

“CAREio ELMB Software Tools”https://dfs.cern.ch/dfs/Workspaces/c/CARE/doc/CAREio-Tools.pdf

Stable, in use, currently no development

Page 5: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Debugging & Testing

Software developedaccording to needof the moment

For the time being,adapting the existingSLM test/debug(low-level) softwareto CARE

PC application forsending/receivingCARE Ethernet messages,here showing 12-bitCARE data samples,decoded and sorted(8 CPDAS = 16 chans)

CPDAS installed

Page 6: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Testing & Readout (1)

Development of class Care, encapsulates ethernet frame sending/receiving(using sockets) and frame data interpretation

Is (abstract) base class for class CareModule : for control & readout

of a single CARE module and its 4 sectors

class CareBrc : for broadcasting commandsor data requests to all CARE modules

// Reset all CARE modules reachable from interface “eth2”CareBrc care_brc;care_brc.setNetworkInterface( “eth2” );if( care_brc.reset() == false ) care_brc.showError();

// Reset CARE module #34 sector 2 connected to interface “eth2”CareModule care( 34 ); // ID is part of CARE’s Ethernet addresscare.setNetworkInterface( “eth2” );if( care.reset( 2 ) == false ) care.showError();

Page 7: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Testing & Readout (2)

Because (fully) functional CARE hardwarenot yet available and similarities with SLM,I play and practice with class SlmModule : to control &

readout a single SLM module

Existing LKr SLM readout softwarecould possibly benefit from using this class,e.g. to provide better functional separation andmake the code easier to read(hiding socket operations and frame data handling from main program code)

SlmModule slm;slm.setNetworkInterface( “eth2” );unsigned char databuf[LARGE];unsigned int nevents, burstnr;slm.readEvents( databuf, LARGE, &nevents, &burstnr );cout << “Number of events read: “ << nevents << endl;if( slm.error() ) slm.showError();

Page 8: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Testing & Readout (3)

Class developments are in preparation for a CARE prototype test setup,which could look like what’s shown here:

Possible run/test sequencecontrolled by “Readout Controller” PC

RESET RESET_CLK START_OF_BURST …sampling +

triggers (3KHz)… END_OF_BURST READ_STATUS READ_TIMESTAMPS READ_DATA + check, etc… repeat sequence

Bonus: resemblance of this setupto proposed solutionfor final system(see next slide)

Linux PC 1

GbE switch

LKr CPD Test Pulser

(internal trig ≈ 3 KHz)

CARE Clock Controller& Trigger Interface

(SLM + CPDMAC, modified)

CARE(sector)

SYNC

SYCHRO OUT

FB TR0

Triggers

ResetClock Counter

80 MHz Clock

16x analog

= Gigabit Ethernet

CARE data + Commands:RESET,START_OF_BURST,END_OF_BURST,READ_DATA (48 timestamps per message)

Timestamp data + Commands:RESET_CLK,

START_OF_BURST,END_OF_BURSTREAD_STATUS

READ_TIMESTAMPS Linux PC 2“Readout Controller”“Processor Node”

Page 9: Status of the CARE software

NA62 LKr WG Meeting, 27 Oct 2009 H.Boterenbrood

Future CARE Readout Controller & CARE/NA62 Trigger Interface

No TTC in the CARE module (TTCrx chip will be removed)

One TELL1 with custom embedded software receivesfast triggers (as the other detectors via TTC) and transmits status(=XON/OFF if needed).

The TELL1 4x GbE outputs are connected to the CARE Readout Controller

The Readout Controller assembles timestamps for~48 triggers and sends these as 1 data request to the CARE modules resulting in one GbE Jumbo frame/CARE to be sent with 48 x 192 bytes + header =9248 bytes of data