1 / 9

Status of the CARE software

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.

tana
Download Presentation

Status of the CARE software

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

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

  3. green = temperature [˚C] orange = outside expected range 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 NA62 LKr WG Meeting, 27 Oct 2009

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

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

  6. Testing & Readout (1) • Development of classCare,encapsulates ethernet frame sending/receiving(using sockets) and frame data interpretation • Is (abstract) base class for • class CareModule : for control & readoutof a single CARE module and its 4 sectors • class CareBrc : for broadcasting commandsor data requests to all CARE modules // Reset CARE module #34 sector 2 connected to interface “eth2” CareModule care( 34 ); // ID is part of CARE’s Ethernet address care.setNetworkInterface( “eth2” ); if( care.reset( 2 ) == false ) care.showError(); // Reset all CARE modules reachable from interface “eth2” CareBrc care_brc; care_brc.setNetworkInterface( “eth2” ); if( care_brc.reset() == false ) care_brc.showError(); NA62 LKr WG Meeting, 27 Oct 2009

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

  8. GbE switch 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) LKr CPD Test Pulser(internal trig ≈ 3 KHz) SYCHRO OUT Triggers 16x analog ResetClock Counter SYNC FB TR0 CARE (sector) CARE Clock Controller& Trigger Interface (SLM + CPDMAC, modified) 80 MHz Clock = 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_BURST READ_STATUS READ_TIMESTAMPS Linux PC 2 Linux PC 1 “Processor Node” NA62 LKr WG Meeting, 27 Oct 2009 “Readout Controller”

  9. 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 NA62 LKr WG Meeting, 27 Oct 2009

More Related