I am trying to create a “dot detector” and I need a fast processor.
A short one-off pulse (say 30ms or so - can be anything required) of IR light appears as a dot on a wall (generated by an IR laser).
I want to locate where the dot is in a single frame within the field of view of an image sensor module plus lens. Catching it in a frame also tells me “when” the pulse appeared - to the nearest frame.
The sensor used will be black and white only (no Bayer filter to worry about) and an IR pass-through filter (made from unexposed but processed Ektachrome film) will be placed in front of it so it is ONLY sensitive to IR light.
I have all this working with the old OV7221 640x480 mono sensor at 30fps. The top bit of the parallel output of the sensor, D7, goes into an ATtiny2313 running at 20MHz using Timer1 input capture as soon as this bit is set within a frame - i.e. as soon as a pixel is illuminated. The code in the ATtiny keeps looking and eventually reports back the Xmin, Ymin, Xmax and Ymax corners of the spot. It may sound crude, but it works!
Note: this is NOT frame grabbing, I am not interesting in the image, only the location of the IR spot within the field of view. After the dot is reported my software determines the location of the centre of the dot.
I want to scale up to a higher resolution and I am open to using any (sensibly priced!) mono sensor such as the 2 megapixel OmniVision OV2311 - 1600x1300 pixels.
This has everything I need EXCEPT it only outputs 10 bit parallel data at 40fps with a pixel clock rate of 96MHz!
I am tearing my hair out trying to find a suitable MCU at a sensible price - i.e. one that can do what I am doing with the OV7221/ATtiny2313 combination, but at the much higher 96MHz pixel rate
Obviously the clock rate of a processor does not mean it can carry out one instruction per cycle so it is the “instruction rate” rather than the clock rate that is important.
I have considered the ATSAM4S2B running at 120MHz but this doesn’t leave much margin for error!
I am also aware of the high speed PICs like the PIC32MZ-EF (which claims 415 DMIPS) or the much pricier STM32H743AI (which claims 856 DMIPS) but I have no experience of using these.
Anyone got any suggestions? Could the PIC keep up?