EZUSB Part Selection for USB 2.0 UVC Camera MJPEG Support

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

cross mob
SeSc_4288176
Level 1
Level 1

Hi

I am interested in using the EZ USB chips for a new design and would like some help choosing the best part that has software example to prove concept. These are the requirements:

- USB 2.0 device (USB 3.0 not available for this application) on Windows platforms

- Supporting OV5640 (or equally similar image sensor) running in 8 bit parallel mode output is YUV and MJPEG

- Video capture using UVC drivers (ie. looks like a webcam to PC requiring no drivers to be written)

- Capture of images of at least 1M pixels (at least 1280x1024 SXGA resolution at 15 fps min). For this, compression is required (if I am not mistaken) and the OV5640 supports MJPEG.

- Application is cost sensitive so I would ideally like to go with the EZUSB 2 devices as opposed to the newer EZ USB 3 devices (unless the EZUSB 2 devices are to be obsoleted in the next 5 years)

- There is a space constraint where the PCB width should not exceed 8mm so the 56 pin BGA EZ USB 2 devices are very attractive

Can you please recommended a suitable part that has a reference design that I can use/adapt to achieve a proof of concept.

Thanks in advance

0 Likes
1 Solution

Hi,

1. Yes correct, for FX2LP you need an FPGA if you want to stream data in UVC class as implemented in the KBA.

2. You could use FX3 which has various different parts and has sufficient bandwidth to add the header and stream data in UVC class without an FPGA. Please refer to the Application Note-AN75779.https://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface...

3. Even for MJPEG compressed video format, you'll need to add the header compliant with UVC class and hence have to use an FPGA with FX2LP.

Best Regards,

Sananya

View solution in original post

0 Likes
4 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

-Please check EZ-USB FX2LP which our USB 2.0 peripheral controller.

-You can find KBA for interfacing with an image sensor in vendor or UVC class which uses Aptina image sensor.

-It can support a bandwidth of around 424 Mbps with bulk endpoints so your resolution should be supported at 15 fps.

-There is 56-pin part(QFN/SSOP package) available as well.

You can find all the example firmware and host application with the EZ-USB FX2LP DVK.

Best Regards,

Sananya

0 Likes

Hi Sananya

Thank you for your reply.

I have looked at the example that you pointed me to and observed the following:

FX2LP does not support UVC class that requires header and footer for each frame. The 8051 CPU is not fast enough to insert header and footer in between frames. Therefore, if you want to implement UVC class with FX2LP, an external FPGA must be used. The FPGA must insert the header and footer in between frames and pass the data to the FX2LP.

(1) Can you confirm that this mean that I need an FPGA if I want to use the FX2LP to implement a UVC compliant webcam-like device?

The above would increase cost and complexity of the design.

(2) Do any of the EZ USB 3.0 devices provide a better solution (ie. UVC compliance with no FPGA required)? What is the smallest physical chip in this family that you would suggest?

0 Likes

Also, I have read in your documentation for EZ USB 3.0:

"The UVC class requires a 12-byte header (for uncompressed payloads) that describes some properties of the image data being transferred. ... This header is required for every USB transfer."

(3) Does this mean that UVC compliant solution can be implemented on FX2LP using MJPEG compressed video without an FPGA then?

0 Likes

Hi,

1. Yes correct, for FX2LP you need an FPGA if you want to stream data in UVC class as implemented in the KBA.

2. You could use FX3 which has various different parts and has sufficient bandwidth to add the header and stream data in UVC class without an FPGA. Please refer to the Application Note-AN75779.https://www.cypress.com/documentation/application-notes/an75779-how-implement-image-sensor-interface...

3. Even for MJPEG compressed video format, you'll need to add the header compliant with UVC class and hence have to use an FPGA with FX2LP.

Best Regards,

Sananya

0 Likes