FPGA Data Acquisition and Control

The primary objective of this project is to explore using low end, off the shelf FPGA boards to implement modular and extendable data acquisitions and control for laser interferometer systems.

=Problem Definition= As lasers have gotten smaller and cheaper, they are ending up in scientific laboratories and fields that are not specialized in laser optics. In order for sensitive, scientific instruments to give valid results, the lasers need to be controlled to remove the impact of thermal, electrical, and mechanical noise. Our goal is to produce an inexpensive, modular, and expandable solution for data acquisition from a laser and to control this laser system. This will lower the cost of entry for less specialized labs and independent researchers, helping promote the use of optical instruments in a wide range of scientific fields.

Background
This project will have multiple background portions. Firstly, we will be using a Red Pitaya Board that uses a Zynq chip. This will be the main location for the data acquisition and control loop. Then one needs to understand what a laser interferometer does and how we will be using it. Another important aspect of this project is the Pound-Drever-Hall control loop that will be used to control the entire system, from laser to data acquisition.

STEMlab Red Pitaya


The Red Pitaya board from STEMlab is an Field Programmable Array (FPGA) that has 2 Analog to Digital Converters (ADC) that sample data at a rate of 125 MSPS and 2 Digital to Analog Converters (DAC) that sample data at a rate of 125 MSPS. This FPGA utilizes a Xilinx Zynq 7010 SoC that has 512 MB of DDR3 random access memory. This Red Pitaya board also utilizes a dual core ARM Cortex A9 processing system.

Laser Interferometer
A laser interferometer consists of two laser beams that are generated by the same source. The first beam goes through a beam expander and illuminates the target of the beam. The second beam is directed to a sensor to pick up the data. The main path depends on the main laser and how it reacts when the two beams interfere with one another producing 'spackle'. This spackled pattern is then captured and stores that data for interpretation. A laser interferometer is basically a filter that filters the spackle from the original beam to the FPGA.

Pound-Drever-Hall Control Loop


The above shows the Block Diagram for a generic Pound-Drever-Hall control loop. This type of a control loop is used for controlling lasers and laser like functions. This control loop is needed for high precision because all lasers have frequencies that wander. The Pound-Drever-Hall technique is used to stabilize the frequency of light being emitted by stabilizing the frequency. A laser can have instability due to temperature variations, mechanical imperfections as well as laser gain.

Deliverables
The deliverables for this project are as follows:

1. Be able to demonstrate two Red Pitaya boards communicating back and forth.

2. Be able to demonstrate the acquisition of data and the storing this data

3. Be able to gather input data from a laser

4. Be able to demonstrate the usage of a Pound-Drever-Hall control loop

5. Be able to use the Pound-Drever-Hall loop to control the laser

Specifications
The above laser diode (aka laser) that will be used will be connected to a cable, then a voltage amplifier, and then the Red Pitaya board. The laser that will be used is the L850VG1 that has an operating voltage of between 2.2 V and 2.6 V and a current of 6mA. We will heat this laser up by modifying the current level or by using an outside second heating source.

The figure above shows the current setup that will control the Pound-Drever-Hall control loop. At location 1, this will be where the laser will be collimated. At location 2, this is where the beam would encounter the first beam sampler. At location 3, the split beam traverses and location 4 reaches the first detector. Location 5 is where the beam will encounter the second beam and that split beam is detected at location 6. Location 7 blocks the rest of the beam after the points of detection.

=Design Considerations= Some things we will need to consider is how we will get multiple boards to communicate, how we will gather data and store that information, and how we will be able to create a control loop. Firstly, we will be looking into how to synchronize two boards. We can use logic functions inside the boards itself, or move some resistors on the boards so that we can use an outside clock source that all data acquisition can use this clock. To store the data acquired, we can use multiple different output sources. We can store it on the FPGA itself, output a binary file, output to a spreadsheet, or output to some python script (or other language) so we can create a visual representation of the data. When creating a control loop, we will need to go through the process of making multiple block diagrams using the specific part specs given. We will need to keep in mind what each part can handle and what it's limits are. Some other things we will need to keep into consideration the input voltage and current. We need to make sure that they aren't too high due to the potential of 'burning up' the FPGA or too low causing incomplete or inaccurate readings. To do this, we will potentially be using a separate heating mechanisms for additional control and temperature measurements. With this, we will need some sort of interface to control the thermal unit.

=Project Learning= All the project learning that has been done so far has been through reading papers and other source. These papers are stored in the following google drive folder:

https://drive.google.com/drive/folders/16vyaEGdfl7epmlNNZf9rPNHG0yYrHRFh

=Final Design=

=Validation=

=Team Members=

=Additional Documentation=

This section involves any additional URL's and files that we used to design, implement, and test our projects. This includes our Project Schedule, which takes breaks into account, our Meeting Agenda and Minutes for every week, presentations done, and more.

Project Schedule



Meeting Agenda and Minutes

https://drive.google.com/drive/folders/1N3VZ4ltA2Oxs-BCvWhRuyVUYpKuJwwT_

Presentations

Preliminary Design Review: https://docs.google.com/presentation/d/1qNgygZmloFiA3YAT-jaoAQharKtmmwr0DuBmAPOwm5c/edit