Hey folks!
I am very green to programming. My experience is in optics - I've worked in the lidar industry for over a decade and looking to experiment with something. I'm looking for an amendment to the current data acquisition, and I'm hoping the M4 based products from Adafruit might fit the bill.
Assume a lidar has a laser that pulses at 2.5kHz. I wish to "cut" up the 400uS following the initial pulse (until the next pulse) into 500ns wide "bins", and perform a frequency count within each bin, returning a value of counts/bin.
The optical detector responsible for receiving the reflected signal is sending out a steam of pulses. Each detector is a bit different, but the output pulses are TTL ~8ns in pulse width, and have a "dead time" between pulses of ~25ns.
I wish to use this signal to select a given bin range (say.... bins 70-80) and inspect the count rate within that selection, tweaking settings within the lidar to maximize the signal within that range. I care more about maximizing the signal than the actual value of the signal itself, and I don't need to keep track of all the counts within all of the bins - only those of interest to me. This would be something done initially one time and not continuous. I would use the 2.5kHz as my clock and base time=0 from the rising edge of that signal.
I see that the "Adafruit Metro M4 feat. Microchip ATSAMD51" has a 120MHz processor, which corresponds to a period of 8.3ns. Maybe if I sampled for enough time I could catch some of these 8ns pulses?
And no, before you ask, I don't have access to integrate with the existing signal processing. This needs to be a standalone product.
If anyone is willing to provide some input I would be very appreciative! Beers are on me if I can get this thing humming along!
Thanks !!!!!