Start » Science » User Documentation » Data dumping

Data dumping

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.

Data_dump