Lena/Oct 2016: Difference between revisions

Jump to navigation Jump to search
I checked the National Instruments website to see what equipment we might need to expand the number of channels. Each channel requires two analog inputs (Differential and sum polarimeter signals) and two analog outputs (chirp/calibration signal and Z-modulation). We could save one AI by only recording the difference signal, or add one AO if we want to modulate the field along two axes and get three-axial output. We potentially want a digital feedback on X, Y fields as well.
 
There are twoseveral main approaches we can use. The first approach is to have multiple FPGAs, each one controlling a set of four magnetometers. The cheapest NI FPGA (7851R) costs $2.8k, equating is $700/channel. The drawback is that the FPGA only has 8 analog inputs and 8 analog outputs, and there are no analog outputs free for the feedback signals. There are still free digital outputs that the FPGA can use to talk to an Arduino over SPI or something similar. Using FPGAs will result in the fastest feedback with proper timing. We don't have the requirements for the feedback to be fast (its band is DC-0.5 Hz as of now) With the signal normalization the FPGA is already close to its limit of slices.
 
The second approach is to use a PXI rack with stacks of ADCs and DAQs. The advantage is that we can add DAQs very easily by adding new boards. We could use a dedicated real-time controller to process the data, and if both DAQs and ADCs support NI DAQmx then the real time controller is not really needed. These boards have their own controllers that ensures timing, and the data processing can be done on the host computer. Each sensor running at 20 kHz with 18-32 bit resolution should produce around 1 MBit/second of data, which is very manageable. With a dedicated controller the price would be $500/channel, and if the host does the data processing it's $230/channel. It would be hard to have any reasonably fast feedback with this approach.
 
The third approach would be to use a dedicated microcontroller for each channel. The downside of this approach is that it would take the most of the development time, although the parts would be the cheapest. The microcontroller would need to be chosen very carefully, as many of them don't have enough processing power to process the data (many are 8 bit and don't have a multiplier). Microcontrollers don't typically have high-resolution DACs and ADCs built-in. These would need to either come on a development board and connect to each other, or laid out on a separate board with the microcontroller. Task scheduling would need to be coded by hand, too.
 
==== Relevant NI devices ====

Navigation menu