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

cross mob

EZ-USB™ CX3: Interfacing with the onsemi AR0234CS sensor - KBA236855

lock attach
Attachments are accessible only for community members.

EZ-USB™ CX3: Interfacing with the onsemi AR0234CS sensor - KBA236855

50 replies posted 25 likes received 25 replies posted

Infineon’s EZ-USB™ CX3 bridge controller can connect devices with the Mobile Industry Processor Interface – Camera Serial Interface 2 (MIPI CSI-2) interface to any USB 3.0 host. For more details, see the CX3 datasheet.

This knowledge base article explains how the EZ-USB™ CX3 Denebola kit can be interfaced with the onsemi AR0234CS sensor over the MIPI CSI-2 interface.

Software pre-requisites

  1. Download and install the EZ-USB™ FX3 software development kit.
  2. Download and install the ffmpeg multimedia framework for Windows.
  3. (Optional) Download and install a serial terminal application such as Tera term application  for observing debug prints.

Hardware requirements


Figure 1 EZ-USB™ CX3 Denebola kit


Figure 2 EZ-USB™ CX3 Denebola kit(front)

Note: Do the  following modifications to the EZ USB™ CX3 Denebola kit to connect the AR0234 Demo 3 board:

  • Move the power switch to the bottom of the PCB as the power switch will hinder the mounting of the AR0234 DVK. Desolder the power switch and mount on other side and solder again.
  • Remove R102 and FB10.

Firmware details

The CX3 MIPI receiver configuration tool from the FX3 SDK helps you to set up a new project template from scratch. You can modify the project to implement other applications based on this template; in addition, you can use the tool to check the values when adding a new resolution to the previous project.

Follow the steps mentioned in the KBA225748 to set up the AR0234 MIPI camera solution with EZ-USB™ CX3.

The firmware attached with this KBA supports the following video resolutions:

  • Video format: RAW8
  • Video resolutions for USB 3.0: 1920 x 1080 @ 100fps, 1280 x 720 @120fps
  • Video resolutions for USB 3.0 and USB 2.0: 1920 x 1080@15fps, 640 x 480@120 fps

On programming the EZ-USB™ CX3 with the firmware image file, the CX3 device will enumerate as “CX3-UVC” camera. UVC (USB Video Class) host applications can be used to view the video streams by selecting the “CX3-UVC” camera.

UVC host applications such as Windows Camera, VLC Media Player, and MPC-HC player cannot be used because UVC applications do not support the RAW8 video format. Therefore, to view the RAW8 video format on these UVC host applications, the 16-bit wide streams can be sent as a 16-bit format (for example YUV format ) and  24-bit wide streams can be sent as a RGB888 format.

If the #define Y8 macro (in cycx3_uvc.h) is disabled, RAW8 can be streamed as YUY2 format (16 bits per pixel) on UVC host applications like Windows Camera, VLC Media Player, and MPC-HC player. Note that in this case, the video resolution displayed on the UVC host application will be different.

For example, when 1920 x 1080 RAW8 is streamed as YUY2 format, the host application will display it as 960 x 1080 in YUY2 (16 bits or 2 bytes per pixel) but the image throughput will remain the same i.e., 1920 x 1080 x 1 byte.

If the video needs to be streamed in RAW8 format, enable the #define Y8 macro (in cycx3_uvc.h); the ffmpeg host application can be used to view the RAW8 video stream.

ffmpeg -f dshow -pix_fmt gray -video_size 1920x1080 -i video="CX3-UVC" -f nut - | ffplay -

The following snippets are from the video that was streamed using ffmpeg and Windows Camera:


Figure 3 1080p RAW8 with ffmpeg
Figure 4 1080p RAW8 as YUY2 with Windows Camera
First comment on KBA First reply posted 10 sign-ins

Please attach the firmware example files to KBA