- Software block schemes & diagrams - Communications protocols & data format - Conclusions EUSO-BALLOON DESIGN REVIEW, , CNES TOULOUSE F. S. Cafagna I.N.F.N., Sezione di Bari, Bari (Italy) Software CPU status
CDR – A brief overview & block scheme CDR – Software CPU status2 User Interfaces Layer. Telemetry, Console & GUI, Remote access, etc. etc. Hardware Interfaces Layer. Drivers, Readout units, etc. etc. Manager Layer. Run Control FSM, Messages, Configurations etc. etc. User Space Kernel Space
CDR – From the DP block scheme … CDR – Software CPU status3
CDR – CPU has been extracted, interfaces … CDR – Software CPU status4
CDR – … & communication factorized CDR – Software CPU status5
CDR – CPU software block scheme CDR – Software CPU status6 Processes Managers layer Hardware Interfaces & drivers layers User Interfaces & Telemetry layer
CDR – CPU software block scheme Control Manager (Run Control) Implements the Run Control and supervises the whole software operations. Message Manager Marshals and routes messages between software blocks. Data Manager Provides services to efficiently manage the data handling, storage and transmission to ground. Event Builder Merges CCB, CLKB and all other relevant data into an event frame and check for consistency. Configuration Manager Stores, updates and handles configurations for all subsystems and software blocks. Log Manager Provides a log service to all the software blocks that need it. CDR – Software CPU status7
CDR – CPU software block scheme Readout Unit Interface (RUI) Communicates with blocks external to the CPU and manages the data & command flows to and from them. Data Unit Interface (DUI) It is a special RUI dedicated to the data I/O. It is directly interfaced to the SATA or the Ethernet interfaces. Telemetry User Interface (TUI) Handles the command and data transmissions between the telemetry system (SIREN) and the CPU. User Interface (UI) Implements the communications with user and controls when the telemetry system is not connected. CDR – Software CPU status8
CDR – CPU software blocks scheme CDR – Software CPU status9 Transfer data to disk &/or telemetry Polling the CLK for triggers Request data from CCB, CLK
CDR – Run control Finite State Machine (FSM) CDR – Software CPU status10
CDR – Run control Finite State Machine (FSM) CDR – Software CPU status11
CDR – User Scenario: Normal Data Acquisition CDR – Software CPU status12
CDR – User Scenario: Normal Data Acquisition CDR – Software CPU status13 User changes detector parameters User operates runs and calibrations Quicklook & Telemetry
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status14
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status15
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status16
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status17
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status18
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status19
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status20
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status21
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status22
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status23
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status24
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status25
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status26
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status27
CDR – Activity diagram: Normal Data Acquisition CDR – Software CPU status28
CDR – Communications with HK Communication between CPU and HK. Low level protocol: RS422; serial point to point, master-slave protocol. HK is the slave and respond only upon CPU request. CRC16 will be used to check for data corruption during transmission from and to HK. HK data format Data are 16 bit words while commands are encoded into a 8 bit word. The packet size range from a minimum of 5 Bytes to a maximum of 8 Bytes. CDR – Software CPU status29
CDR – Communications with CCB (PDM) Communications between CPU and CCB Low level protocol: SpaceWire; full-duplex. Messages transmitted by the CCB to the CPU includes a CRC-32 (IEEE 802.3, Ethernet). CCB interfaces the CPU with the PDM and the SPACIROCs attached to the latter. Both command and data packets must be exchanged to configure the boards and chips, and readout physics data (~330kB/event). CCB (PDM) data format Commands are simple actions on the boards or write/read register requests on boards and chips. Different commands may have different associate parameters (data). CDR – Software CPU status30
CDR – Communications with CLKB Communications between CPU and CLKB Low level protocol: SpaceWire; full-duplex. Messages transmitted by the CLKB to the CPU includes a CRC-32 (IEEE 802.3, Ethernet). CLKB interfaces the CPU with the GPS board. Both command and data packets must be exchanged to configure the boards, and readout GPS and trigger data (~800B/event). CLKB data format Both trigger status and GPS data are transmitted by the CLKB to the CPU. Trigger status data can be transmitted standalone: Or togheter with the GPS ones: CDR – Software CPU status31
CDR – Conclusions −Hardware interface backbone layer developed (Spacewire, RS422) and extensive performance tests, to monitor failure rates and spot bottlenecks, are in progress. −The low level drivers and communication protocols have been tested on the flight CPU and the data acquisition chain proven to work. −The most critical part was related to the SpaceWire driver that is in charge for the bulk data exchange between the CPU and CCB. This driver is actually understood and the data transfer rate between the CCB and the CPU is almost the maximum one reachable with the SpaceWire protocol. −The low level packet formats of both commands and data have been defined for all DP components. −Continuous feedback to and from the developers to define hardware block working modes, configuration parameters, command lists etc. etc., and debug and fine tune the firmware of the HK, CCB and CLKB. CDR – Software CPU status32