CX3 using RAW color-space + non UVC

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

cross mob
lock attach
Attachments are accessible only for community members.
omco_594686
Level 3
Level 3
Welcome!

Hi guys,

We starting a new project with CX3 chip (We have experience with FX3).

My goal is to stream RAW frames with non-uvc protocol.

My HW is a Denebola RDK from E-CON, with its daughter board (OV5640).

I used the FW from ECON site and change it to work as non-uvc application (the FW is attached).

I can see that the vendor commands receives by the CX3 but I can't see frame streaming using the Streamer application.

I also based on - FX3 / CX3 Firmware for Streaming RAW Image Data using Cypress Driver

What am I doing wrong?

Thanks,

Omri.

0 Likes
1 Solution

Hello Omri,

Yes, each new resolution needs to be added to the CX3 Configuration tool and the corresponding CX3 Receiver Configuration settings are to be generated.

The *.cycx file of the project is same as that of the *.cycx file of the SDK example project CX3UVCOV5640 which can be found in the following path:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\cx3_examples\cycx3_uvc_ov5640

Note: This path depends on the installation directory of FX3 SDK.

You can change the input format to RAW8/RAW10/RAW14 etc depending on your requirement and generate the corresponding CX3 Receiver configuration. Then you can add it to your project in response to the different vendor commands to stream that particular video data.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

0 Likes
10 Replies
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello,

Please refer to the following thread:

cx3 raw streamer is not work.

Another customer reported that Streamer was showing failures with the firmware present in FX3 / CX3 Firmware for Streaming RAW Image Data using Cypress Driver . Please go through the thread mentioned above which describes a fix for this issue. Please let me know if this helps.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hi JayakrishnaT_76​,

Thanks for the quick reply.

I followed the post you mentioned and added the relevant peace of code.

But still nothing.

I'm mentioning it again. I don't use FX3 / CX3 Firmware for Streaming RAW Image Data using Cypress Driver  as it is,

Because it doesn't have the function implementation for the OV5640 (Am I right?), and uses the ECONs FW.

Here's my change:

What do you recommend?

Omri

0 Likes

Hello Omri,

The project attached in the response 1 of the following thread:

FX3 / CX3 Firmware for Streaming RAW Image Data using Cypress Driver

is the CX3 project for streaming video using the OV5640 sensor. Please make the modifications on this project and let me know if you still face the issue. The snapshot of response 1 of the thread mentioned is given below:

pastedImage_1.png

Please let me know if you have any queries on this.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hi JayakrishnaT_76​,

Thanks it works.

But I miss something - Where is the code which controlling the sensor?

We want to use the CX3 with our in-house sensor.. Where do I implement code for my sensor? (i2c reads/writes)

Omri.

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Omri,

The code for configuring the sensor is implemented inside the function CyCx3_ImageSensor_Set_1080p which is defined inside a library (cy_ov5640.a) so that the actual register values are not exposed. You can replace this function with your own function to configure the sensor based on your requirement.

Also, I have attached 2 source files which can be referred/modified to add your code for configuring the sensor.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hi JayakrishnaT_76​,

Thanks, now its clear.

My next step is to use it with our sensor with RAW8, RAW10, RAW12 and RAW14 color space (monochrome sensor).

What do I need to change in the code? Is the CX3 aware to the color space?

How is the pixel packing work?

Omri.

0 Likes

Hello Omri,

Please refer to the following KBA which describes about packing/padding of the incoming RAW10 data into 16/24 bit format.

Streaming RAW10 Format Input Data to 16/24-bit Output Format in CX3 MIPI CSI-2 - KBA224387

Basically, you need to configure the image sensor and MIPI block of CX3 to accept the different data format. The configuration settings for the MIPI block of CX3 will be generated by the MIPI configuration utility (example: cfgUvc1080p30NoMclk used in the project described in this thread). The configuration settings for the sensor can be obtained from the sensor vendor. You can make use of different vendor commands for configuring the sensor and MIPI block of CX3 (say 0x98 for configuring it as 1080p RAW10, 0x97 for configuring it as 720p RAW14 etc). Then you can start and stop the streaming by making use of vendor commands 0x99 and 0x88 respectively. The same is mentioned in the verified answer of the following thread:

cx3 raw streamer is not work.

Please let me know if you have any queries on this.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hi JayakrishnaT_76​,

So, I need to add every resolution/configuration to the *cycx file (using CX3 configuration tool).

Am I right?

Lets say I want to configure the sensor for windowing (ROI) feature, which says different resolution - Do I need to add this "new" resolution as new configuration to the "CX3 configuration tool"?

In addition, Can you share the relevant *.cycx file of this project?

Thanks,

Omri.

0 Likes

Hello Omri,

Yes, each new resolution needs to be added to the CX3 Configuration tool and the corresponding CX3 Receiver Configuration settings are to be generated.

The *.cycx file of the project is same as that of the *.cycx file of the SDK example project CX3UVCOV5640 which can be found in the following path:

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\cx3_examples\cycx3_uvc_ov5640

Note: This path depends on the installation directory of FX3 SDK.

You can change the input format to RAW8/RAW10/RAW14 etc depending on your requirement and generate the corresponding CX3 Receiver configuration. Then you can add it to your project in response to the different vendor commands to stream that particular video data.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna
0 Likes

Hi,

Ok now its clear.

Thanks for your help!

Omri

0 Likes