I work on Cy7C68013A FX2LP usb 2.0 HS controller.
I need to interface a cmos image sensor to the controller. The PCLK (pixel clock ) of the image sensor is interfaced to the IFCLK of the controller. The cmos image sensor emits data at every PCLK. The PCLK runs at around 40ns. I need to interface the PCLK with the IFCLK , so that I can collect the data at every 40ns to the controller.
This scenario can be implemented in synchronous auto mode. But I need to do some modifications on the data I receive. So, I would prefer to do this in manual mode.
Is it possible for the controller to read data in every 40ns. I would be reading the data and filling the buffer in TD_Poll().
The cmos image sensor continuously emits data at every 40ns irrespective of the controller processing. If the controller fails to grab data in every 40 ns, the data gets corrupted.
Please help me know if the time period 40ns is too small for the controller to grab data in subsequent TD_Poll() calls.
From the first look, it looks like there will be some data loss.
You are sending the data to FX2LP at the rate of 25MBps. I think you might be using the Bulk transfers to send that data to PC. As you know the bulk transfers are bursty in nature, FX2LP don't get any IN token from the PC at regular intervals. So you will loose data because of the nature of bulk. More than that, you want to do some modification to the data. I am not sure on what all modifications you will be doing. So it looks like there will be some data loss.
Also, I would like to hear the comments from the other customers who have tried the similar design with FX2LP.