Dear all,
I am considering the Teensy3.6 (the fastest Arduino like board that I know of) to develop a photon counter (I am physicist).
I am looking to reproduce the "Buffered Edge Counting" mode found in many National Instruments boards. I attached a figure from the National Instruments manual.
The idea is to fill a buffer with the number of clock ticks since a trigger signal happens (SOURCE in the figure) each time that a rising edge occurs ("Sample Clock" in the figure, this is coming from the photon multiplier). Because a clock tick is associated to a time, it is possible to convert to time if needed.
The closest I found to my problem is the code found here: https://github.com/tni/teensy-samples/blob/master/input_capture_dma.ino
But the code is a bit above my current level: I have to admit I am not in position to modify that code to do what I need. I can put time and effort if it is worthy...
I am not asking to do the work for me, but I was hoping that some of the experts around here could answer the questions: Can the above be done? If yes, which performance can be realistically be achieved? By performance, I mean, what will be the time resolution that can be achieved, including sending the data to a PC (python serial?). I need to achieve, at least, 20ns resolution. (the National Instruments X-Series boards provides 10ns, but cost 40 times what a teensy3.6 board cost!)
If you read until here: thanks a lot!
PS: I know that FPGA are probably better for this, but I have some experience with Arduino boards and zero with FPGAs technologies...
I am considering the Teensy3.6 (the fastest Arduino like board that I know of) to develop a photon counter (I am physicist).
I am looking to reproduce the "Buffered Edge Counting" mode found in many National Instruments boards. I attached a figure from the National Instruments manual.
The idea is to fill a buffer with the number of clock ticks since a trigger signal happens (SOURCE in the figure) each time that a rising edge occurs ("Sample Clock" in the figure, this is coming from the photon multiplier). Because a clock tick is associated to a time, it is possible to convert to time if needed.
The closest I found to my problem is the code found here: https://github.com/tni/teensy-samples/blob/master/input_capture_dma.ino
But the code is a bit above my current level: I have to admit I am not in position to modify that code to do what I need. I can put time and effort if it is worthy...
I am not asking to do the work for me, but I was hoping that some of the experts around here could answer the questions: Can the above be done? If yes, which performance can be realistically be achieved? By performance, I mean, what will be the time resolution that can be achieved, including sending the data to a PC (python serial?). I need to achieve, at least, 20ns resolution. (the National Instruments X-Series boards provides 10ns, but cost 40 times what a teensy3.6 board cost!)
If you read until here: thanks a lot!
PS: I know that FPGA are probably better for this, but I have some experience with Arduino boards and zero with FPGAs technologies...