Hi all,
I am typing this for the second time, as it seems like you ticket system in the knowledge center is broken. Upon submitting the ticket, I just get a white screen with everything gone. This happened to a colleague as well.
We are trying to implement a minimum latency, low data-rate application using event-based vision. Think of tracking a small object and reacting very fast to its motion, or alternatively reacting to an externally triggered small LED by turning on another LED. We are aiming for sub ms for the time between the two LEDs lighting up. We know how to minimize sensor latency using the bias settings and lighting setup.
We are now trying to minimize the transfer latency. Currently we are using an EVK4 with USB. I think there are two issues.
A) The sensor sends MIPI frames at a framerate of 4ms. The USB controller then only forwards the data at the end of a MIPI frame, or when a certain amount of data was received.
B) USB could always introduce issues, depending on Host driver etc.
{R, {"mipi_csi/mipi_frame_period", 0xB028}},
{F, {"mipi_frame_period", 4, 12, 0x7D}},
sadly, I dont find documentation for it.
However, I assume that if I changed that, it would break the onboard USB controller of the camera. We are therefore thinking of using another devkit. I am considering the following options:
1. Use the genx320 raspi kit. I did not find what MIPI-framerate this is currently using, I assume it might be much shorter as there is less data? Am I correct in assuming, that the raspi, in this case is directly coupled to the sensor, which sends EVT3.0 data to the raspi? How would I change the mipi-frame period here?
2. Use the kria devkit. Basically same deal, we get some EVT3 or EVT2.1 data over MIPI and then decode it in the driver. I assume the kria is more capable of handling large amounts of data, hence there is a IMX636 version?
What would be your suggestion for minimizing latency, ideally using the imx636.
Best,
Paul