can fx3 take parallel video directly without fifo controller

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
gedi_1175646
Level 1
Level 1
Welcome!

I am looking for a way to take the output of a sensor with signals of 14 bit parallel data, pixel clock, LV and FV and i want to convert it to USB video preferably UVC. Data rate is slow, its 320x240 x 60 hz frame rate.    It looks like the fx3 can do this with a fifo controller,  this interface needs to be as compact as possible,  there is no plans for an fpga hence no fifo control.  Just wondering if the fx3 is capable of taking a constant stream, if it is, is there any example information,  if it not able to, is there another part suggestion?

thanks,

Gerard

0 Likes
1 Solution
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Gerard,

Yes, FX3 can be used for your application.

1. But, for each pixel clock, FX3 can be configured to sample 16 bits. Since the sensor is giving only 14 bit data, 2 undesired bits will also be sampled. We can make sure that those two data lines be pull-up/down so that for each pixel clock either 1/0 is sampled on these lines.

On the Host side application, if needed, these extra bits for each pixel has to be removed (so processing is needed on the Host side to remove these bits).

2. The pixel clock cannot be more than 100MHz.

3. Constant frame rate cannot be guaranteed as this depends on the Host. If Host is able to take the data from FX3 fast enough then the frame rate can be achieved. If the Host slows down for a significant time during video stream, such that all the buffer in the FX3 overflows with video data, then frame loss is inevitable. - In such scenarios, however, the streaming will not stop. There will only be a drop in frame rate at that moment. This I think will be true with any controller.

Please refer to this app note - https://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface...

Regards,

Hemanth

Hemanth

View solution in original post

0 Likes
1 Reply
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi Gerard,

Yes, FX3 can be used for your application.

1. But, for each pixel clock, FX3 can be configured to sample 16 bits. Since the sensor is giving only 14 bit data, 2 undesired bits will also be sampled. We can make sure that those two data lines be pull-up/down so that for each pixel clock either 1/0 is sampled on these lines.

On the Host side application, if needed, these extra bits for each pixel has to be removed (so processing is needed on the Host side to remove these bits).

2. The pixel clock cannot be more than 100MHz.

3. Constant frame rate cannot be guaranteed as this depends on the Host. If Host is able to take the data from FX3 fast enough then the frame rate can be achieved. If the Host slows down for a significant time during video stream, such that all the buffer in the FX3 overflows with video data, then frame loss is inevitable. - In such scenarios, however, the streaming will not stop. There will only be a drop in frame rate at that moment. This I think will be true with any controller.

Please refer to this app note - https://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface...

Regards,

Hemanth

Hemanth
0 Likes