Presentation is loading. Please wait.

Presentation is loading. Please wait.

Preparing software for LTU T.Blažek, V.Černý, M.Krivda, R.Lietava, M.Mojžiš Bratislava, Birmingham TDAQ working group meeting, CERN, March 24, 2010 1.

Similar presentations


Presentation on theme: "Preparing software for LTU T.Blažek, V.Černý, M.Krivda, R.Lietava, M.Mojžiš Bratislava, Birmingham TDAQ working group meeting, CERN, March 24, 2010 1."— Presentation transcript:

1 Preparing software for LTU T.Blažek, V.Černý, M.Krivda, R.Lietava, M.Mojžiš Bratislava, Birmingham TDAQ working group meeting, CERN, March 24, 2010 1

2 Trigger and LTU (local trigger unit) L0 processor LTU + TTCex LTU + TTCex LTU + TTCex LTU + TTCex 40 MHz clock source....................... TTC partition TTCrx Trigger inputs QPLL FEE CHOKE/ ERROR Triggers Clock + Triggers 2

3 LTU modes of operation Global mode – Receive triggers from L0 processor and send them to TTC Standalone mode – Emulate L0 processor – triggers Snapshot memory – 27 ms Counters Data for slow control 3

4 VME processor LTU 4 LTU: where it sits devel. phase: in the lab, where the subdetector is developed prod. phase: in the experimental area, all LTU’s together

5 VME processorVME driverLTU VME driver maps VME address space into pc address space LTU is controlled be reading and writing registers in the VME address space Outer world communicates with VME processor via TCP/IP LTU access 5

6 Our development system We have started software development using VME crate in Birmingham Linux VME processor with vme_rcc driver Alice LTU’s in the crate Alice’s LTU will be changed to Marian Krivda’s NA62 LTU when ready. Similar system must be set-up in the each lab where the subdetectors are developed to use LTU in the standalone mode emulating trigger sequences 6

7 What software for LTU is being developed 1.testing to provide support for testing the produced LTU boards for hardware errors 2.run-time to provide support for run-time control mechanisms 3.slow control to provide support for communication with slow control system 4.local to support usage for subdetector control and development when the LTU works in the standalone mode without central processor (CP) 5.expert to support full access of an expert to the LTUs 7

8 VME processorVME driverLTU DIM server DIM clients 8 Client-server software development phase

9 VME processorVME driverLTU DIM server DIM clients DIMserver LTU 9 production phase

10 DIM client –server design modular system, single low level module dependent on VME driver used “Egyptean temple” software development management Software is always ready At present: DIM server core (C++) with just a few service modules A few model clients (C++ and Java) as a proof of concept 10

11 One DIM server for each LTU The server runs as daemon on the VME processor in the LTU rack. All the LTU server are the same, differing just by the server names. The server is registered by the DNS with a unique server name like LTU/CEDAR One DIM Name Server (DNS) for the whole NA62 Many services run on the LTU server Each service is registered by the DNS by a unique name like LTU/CEDAR/TEMPERATURE Each client asks the DNS who provides the service like LTU/CEDAR/TEMPERATURE and registers for the service. This is done by the DIM system and is completely transparent for the user 11 DIM structure

12 TO do: list of services to be provided for non-expert use list of services for use by the slow-control system list of services for use of the run-control and monitoring DIM LTU server runs on the VME processor in the crate several (6) LTU in one crate each having its DIM server daemon all services for one LTU run as one DIM server daemon all servers are identical, differing just by name 12

13 DIM LTU client runs on a PC anywhere in the “outside world” Two kinds of clients GUI clients run interactively (provided by us) clients as pieces of software in a third party software like run control, slow control... (Here we provide API documentation) 13

14 #include using namespace std; int main(int argc, char **argv){ longlong address=0x1a8; longlong writevalue = 1234; longlong data[2]; //array container to carry two longlong numbers through DIM data[0]=address; data[1]=writevalue; void * pdata = (void *)data; DimRpcInfo lw("LTU/TEST/WRITE",0xff00000000LL); lw.setData(pdata,sizeof(data)); //sends the RPC input data longlong out=lw.getLonglong(); //get output cout<< out<<"\n"; DimRpcInfo lr("LTU/TEST/READ",0xff00000000LL); lr.setData(address); out=lr.getLonglong(); cout<< out<<"\n"; } DEMO of DIM LTU client API 14

15 An expert can interactively do anything with LTU already now Everything can be done by writing data to proper registers and reading back the register values DIM server provides services LTU/????/WRITE LTU/????/READ as DIM RPC’s (remote procedure call) Core DIM LTU service READ and WRITE 15

16 16

17 17

18 18

19 19

20 20

21 21

22 22

23 DimRpcInfo lt("LTU/TEST/TEMPERATURE",0xff00000000LL); out=lt.getLonglong(); The slow control software client would contain the following code snippet: Some clients will be more sophisticated. Reading LTU snapshot memory will provide record of inputs outputs and LTU states for the past 27 msec and will be graphically displayed as “communico- scope” 23

24 TO do: list of services to be provided for non-expert use list of services for use by the slow-control system list of services for use of the run-control and monitoring Comments to: cerny@fmph.uniba.skcerny@fmph.uniba.sk (Vlado Cerny) rl@hep.ph.bham.ac.ukrl@hep.ph.bham.ac.uk (Roman Lietava) 24


Download ppt "Preparing software for LTU T.Blažek, V.Černý, M.Krivda, R.Lietava, M.Mojžiš Bratislava, Birmingham TDAQ working group meeting, CERN, March 24, 2010 1."

Similar presentations


Ads by Google