Data dumping
Document Actions
The lag_wrap program is doing the data reading from the different
channel boards, and also doing the pre-integration. To be able to do
this in a continuous way without the need of
specific time when the DSP software are not able to do anything else
than data handling, the lag_wrap program is written in a multi threaded manner with dual
port memory both for channel board and result memory. In the
picture shown below the memory and timing is shown for a simple
experiment with 4 IPP for one full integration period. Memory wise we
can see the two memory side are used for raw channel
board data, these are called A and B, where A side is the
memory where the channel board reading thread is putting the raw data coming from the channel boards, at the same time
the DSP software will do the calculation set by the *.fil file on the
data found in the B side, which is taken from the IPP before. The
resulting data will be written to the result memory 1 or 2. In the first
integration period data is written to memory side 1 and at the same
time data from side 2 is dumped over the network to the decodump
process on the main server.
In the picture below, time goes from left to right and the first IPP in integration period N starts to the far left.
Until the start compute (STC) is given data can be read into channel
board memory. When the STC is given an interrupt is send to the crate
computer and the lag_wrap program is register this event. This tells
the lag_wrap program that it is time to read the current data from the
channel board memory and put this data into the designated memory side,
after this is done do calculation on the other side of memory, which is
data from the IPP just before. The next command is the BUFLIP command
which will switch sides of the channel board result
memory, and also lag_wrap memory side. This command needs to be done
close to the STC, the tarlan compiler check time difference between
these two commands, in the present tarlan setup the maximum time
difference is 5 µs in either direction. This calculation and memory
reading scheme continues until we have done IPP-1 scans in the integration period, at this moment another
interrupt will be send to the crate computer and the lag_wrap process
will catch this.
The timestamp written in the matlab data file is made by the lag_wrap program and is taken when the STC interrupt after the dump interrupt are catched and all the data is read from the channel boards. As the lag_wrap program is runned on a multitasking computer platform some time jitter will be seen, this jitter will also depend on the network time protocol (NTP) performance.

![[Finnish Intro]](index_html_files/image003.gif)
![[French Intro]](index_html_files/image004.gif)
![[German Intro]](index_html_files/image005.gif)
![[Japanese Intro]](index_html_files/image007.jpg)
![[Norwegian Intro]](index_html_files/image008.gif)
![[Swedish Intro]](index_html_files/image009.gif)
![[United Kingdom Intro]](index_html_files/image010.gif)
![[Chinese Intro]](index_html_files/chinese_flag_small.gif)