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
NA62 LKr WG Meeting, 27 Oct 2009
Status of the CARE software
Henk Boterenbrood
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
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
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
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
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();
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();
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”
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