Third Prototype

Current Prototype Fourth Prototype Third Prototype Second Prototype First Prototype


Based on the second prototype the third prototype displays some slight overall modifications as can be seen from Figure 1, below. The new features to the third prototye LBDS is located withing the system itself.



Figure 1: Top View of the System

     A new base plate has been created to give the system more rigidity. The lasers have also been moved from the edges of the system towards the inside of the system next to the APD arrays. As the system height from the ground changed, the lasers must be rotated to compensate. Slits were installed in order to stop lasers from interferening with the wrong sensor system.

Data Acquisiton System

     Because the implementation of data acquisition using a DSP board makes the system price high, we have been seeking a real-time system to conduct both data acquisition and processing. This board has 96-channel programmable digital. We chose real-time Linux as a platform because it is cost effective and is becoming more and more popular in real-time embedded systems. RT-Linux is one of various real-time Linux systems, and was developed in the Department of Computer Science of the Institute for Mining and Technology of New Mexico by Victor Yodaiken and Michael Barabanov. RT-Linux builds a small kernel directly over the processor, which is independent of the Linux kernel. The Linux kernel runs on the top of this kernel and shares the processor with other RT-tasks. Because of its small kernel, RT-Linux has very good real-time performance as long as the real-time tasks are not too complicated. In our case, the most critical task is to read data from I/O ports in an accurate interval. This task is time-critical but simple, so it is suitable for RT-Linux. In RT-Linux, device drivers are kernel modules that always run before the processes in user space. While data acquisition is carried out in kernel space in real-time mode, the data processing and GUI program can run in the regular Linux OS. Figure 2 shows architecture of the data acquisition. The graphical user interface running on Linux space is shown in the next section of the field-testing results.



Figure 2: Architectur of the Data Aquisition System

     The PCI-DIO-96 board uses the PCI MITE ASIC to communicate with the PCI bus. The base address and interrupt level for the board are stored inside the PCI MITE at power on. The device driver for the PCI-DIO-96 board finds the board in the PCI bus and configures the register in the board. The I/O port in PCI-DIO-96 is memory mapped.

     FIFOs are used to communicate and transfer data between the real-time kernel space and user space. Two FIFOs are created as the data buffers. The data are written to the data buffers of two FIFOs in turn in the kernel space. When data in one FIFO are full, the device driver notifies the process in the user space that the data are available through the third FIFO created for synchronization. This FIFO is used to synchronize the data write and read between the kernel space and user space. The fourth FIFO is created to send commands from the user space to the kernel space. These commands will set the sampling rate, and start and stop the sampling thread in the device driver. In the user space the data read is synchronized using the system call of function select.