The new (2014) DAQ software

The code

The code is committed in svn:

https://svnweb.cern.ch/cern/wsvn/dream-daq?

For example, you can check-out the head (= trunk) version with:

svn co svn+ssh://dreamdaq@svn.cern.ch/reps/dream-daq/trunk MY_PATH

In both cases you need the dreamdaq password - that I will send you in a separate message. The user dreamdaq has also a lxplus account where everything is backed up.

I checked in and tagged in svn few running versions ... the last one being always the most up-to-date working one.

The DAQ part of the code is subdivided into few different subdirectories:

- scripts: bash shell scripts ... that could/should be a lot
simplified (or at least partially eliminated)

- VMElib: VME library for the hardware module access

- FIFOlib: library for the real-time sharing of data among the 4
data acquisition processes

- DaqControlInterface: the graphical user interface code

- top level directory: the main DAQ processes (myReadOut,
myDataWriter, sampler) and few utilities

Presently the DaqControlInterface just executes scripts that in turn control (i.e. start, stop and kill) the data handling processes. It would be good, I think, to bypass the scripts and implement a direct communication with the processes via some message passing protocol.

Rebuilding libraries and binaries


To rebuild daq libraries and binaries, I implemented a TOP makefile (MakeAllDreamDaq), that runs over all the sub-packages. I also defined a few functions in the .bashrc file (the machine is pcdreamus, user dreamtest):

1) ddq_clean -> make -f MakeAllDreamDaq clean
to clean up everything

2) ddq_headers -> make -f MakeAllDreamDaq headers
to install the headers in ~/include

3) ddq_make -> make -f MakeAllDreamDaq all
to rebuild binaries

4) ddq_install -> make -f MakeAllDreamDaq install
to install libraries and executables in ~/lib & ~/bin

5) ddq_fromscratch -> make -f MakeAllDreamDaq fromscratch
to do all the above in sequence 1, 2, 3, 4

So this is sufficient to rebuid everything:
cd DreamDaq
ddq_fromscratch

Trigger setting


At the twiki page: TriggerBox

you can find the .vhd and .ucf files needed to build the project (the .vhd files define the logic and the .ucf the I/O port mapping).

To reload the FPGA, you have to use the XILINX ISE platform (type the command "ise" to open it).

The present scheme is also saved at the same page:

https://twiki.cern.ch/twiki/pub/DREAM/TriggerBox/dreamTrigger.06.12.14.pdf

while the connections to the DAQ modules are documented in:

https://twiki.cern.ch/twiki/bin/view/DREAM/TriggerBoxMapping


Readout modules

First VME crate:

1) V2718 controller, connected to the second link on the PC board
2) V513 I/O register, mapped at 0xa00000
3) V1742 DRS4 module mapped at 0x0032000, connected to the third link
4) V976 fan-out module
5) V814 discriminator, mapped at 0xcc0000
6) Pavia adapter for the trigger board
7) V262 I/O register, mapped at 0x400000

Second VME crate:

1) V2718 controller, connected to the first link on the PC board
2) 4 V792 charge integrating ADCs, mapped at:
0x04000000
0x05000000
0x06000000
0x07000000
3) V862 charge integrating ADC, mapped at 0x03000000
4) V775 TDC, mapped at 0x08000000

Look at the attached file -- RobertoFerrari - 2014-12-07

Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r2 - 2014-12-08 - MicheleCascella
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    DREAM All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback