Streaming MIPI RAW 10 Image sensor

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

cross mob
Rohanth
Level 4
Level 4
First like received 50 sign-ins 25 replies posted

Dear team,

I'm trying to stream MIPI raw 10 image sensor, it has 10 bit raw MIPI data output with two lanes and the resolution is 1080p-30fps , 720p-30fps. I did I2C transaction proper  and verified, I probed  the MIPI signal it also working, The board are detected as UAV but still it streaming black image.

The board I'm using is cx3 RDK. kindly say what will be the problem.

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

Hello,

In the following statement:

"The board are detected as UAV but still it streaming black image",

please confirm that you meant UVC and not UAV.

Please share the snapshot of the following tabs of the MIPI configuration utility for us to check:

1. Image sensor configuration tab

2. CX3 Receiver Configuration tab

In addition to this, please share the complete UART debug logs. Also, please let me know if you are packing or padding the incoming data from the image sensor.

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Yes sir, sorry for that, it is UVC and I tried to get the UART data but I cant get the data, When I probed the UART there is no data transmitting from the pin.

I'm not sure about the packing or padding, I created the new cx3 configuration and filled according to our image sensor then we changed the registers  for our image sensor.

Kindly check for attachment for Screenshots.

Thanks & Regards,

Rohanth

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

Hello Rohanth,

After checking the snapshot of the MIPI configuration Utility shared, I find that the blanking time is 240uS. Please increase this to 500uS as this is a requirement for CX3. Also, configure the sensor for this setting.

Also, based on the configuration, I can see that you are padding the incoming data from the image sensor. Please refer to the following KBA to understand the modifications that are to be done on the project when the incoming data is padded or packed:

https://community.cypress.com/t5/Knowledge-Base-Articles/Streaming-RAW10-Format-Input-Data-to-16-24-...

Please refer to the KBA mentioned above and make the changes accordingly.

In addition to this, as you are using Denebola RDK, you can connect a USB to RS232 converter cable to obtain the UART debug logs. After this, tera term application can be used on the host side to obtain the UART debug logs.

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.
Rohanth
Level 4
Level 4
First like received 50 sign-ins 25 replies posted

Dear Sir,

I tried everything from the above link, if I change these things cx3 is not detected as UVC and I tried connecting RS232 to USB connector and tested my old firmware but there is no data is transmission in that but I can see CTS is blinking . kindly share any working project for MIPI raw-10 if available.

Kindly check the attachment for Screenshots.

Thanks & Regards,

Rohanth

0 Likes

Hello Rohanth,

Please share the project which has the modifications made by referring to the KBA shared before for us to check. 

Also, regarding the UART debug logs, can you please try using Tera Term application and then follow the steps below for a quick test:

1. Build the CX3 OV5640 example project. This project comes along with FX3 SDK and can be found in the following location:

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

2. Download the firmware into RAM.

3. Check if you are able to get the debug logs using tera term application. 

Please let me know if you are able to see the UART debug logs after following these steps.

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Sir when I build this project I got one error "Description Resource Path Location Type
cs-make: *** [cycx3_uvc.o] Error 1 Cx3UvcOV5640 C/C++ Problem" kindly check the attachments,

it contains path and error.  

0 Likes

Hello Rohanth,

The error is not clear for us. Can you please try the following:

1. Delete the project from workspace.

2. Import the project once again.

3. Build the project again.

4. If the build fails, please share a snapshot of the Console tab that can have some information on the actual failure.

Best Regards,
Jayakrishna
0 Likes

Sir I did downloaded an example firmware form cypress website and downloaded to ram, Then CTS pin is blinking and there is no data transition in the usart. but still the camera from the Kit OV5640 is working fine.

0 Likes

Hello Rohanth,

Please let me know which example project was downloaded into RAM. Is it CX3UVCOV5640 example that comes along with FX3 SDK? From your last reply, I did not understand the following statement 

"downloaded an example firmware form cypress website"

From where was the example project downloaded? From which cypress website?

Also, please do the following after connecting the debug cable between the RDK and the host:

1. Go to Device Manager

2. Search and find the particular COM port that is used for obtaining debug logs.

3.  Open properties of this COM port and share the snapshot of driver tab of the properties. 

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Sir its e-consystems.com "https://www.e-consystems.com/downloadecamdoc.asp?file=mb9xchtcX3rDKfWScOde07" hear is the link and I attached some screenshots that you asked me. kindly check that.

0 Likes

Hello Rohanth,

As discussed in the meeting, we suspect the module connected to the UART lines of CX3 is causing the issue to obtain the debug logs. Please try to use a standard RS 232 to USB cable and let me know the result.

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Hello sir,

I tried connecting RS 232 to USB there are some random letter from usart output kindly check the screenshots for setting and output.

say if I want to change any configuration for usart.

Thankyou

0 Likes

Hello,

Firstly, as you might be knowing, CX3 supports UART only and not USART. 

Also, please let me know the following details so that we can understand why there is garbage in the UART debug logs:

1. Which project was loaded into the device? If it was not the SDK example project FX3UVCOV5640, then please try using this project. This can be found in the following location of FX3 SDK:

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

Please note that this example project should give meaningful debug prints. I have tested the same using both UART to USB converter module and cable. It is working fine at my end.

2. Please let me know what is the UART receiver (cable or module)? Also, please check if the voltage level of the UART lines of the transmitter and receiver are the same or not.

Best Regards,
Jayakrishna
0 Likes

Dear sir, I tried the previous one is tested with the the same example project from "C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\cx3_examples\cycx3_uvc_ov5640" this location, and I tried again it shows only garbage in UART logs.

The cable is used is RS232 to USB convertor that you recommended me to use. and also tried with different modules and microcontrollers I didn't get any output in UART logs or I fond some garbage values.

and I got  new problem with building project "Description Resource Path Location Type
cs-make: *** [cycx3_uvc.o] Error 1 Cx3UvcOV5640 C/C++ Problem" this error is coming for me and id can't find the debut folder.

0 Likes

Hello,

We have seen issues with debug prints (i.e prints not coming or garbage prints) before with SDK examples only when the modules or cables used were not proper. The same is seen at your end as you are using an SDK example at your end for testing. With the module, you were not able to get any debug prints. With the cable, you are seeing garbage prints. Please refer to the following threads in which some customers were getting garbage prints:

https://community.cypress.com/t5/USB-Superspeed-Peripherals/debug-prints-incorrect-instead-getting-r...

https://community.cypress.com/t5/USB-Superspeed-Peripherals/UART/m-p/187514

As mentioned in the threads, the garbage data was obtained due to the bad cable. The issue was resolved by using good cables. Please let me know if you have another Denebola kit with you. If you have another kit, please check if the cables and modules show the same behavior with that kit also. If you see same behavior on multiple kits, we can conclude that the cables and modules are not good.

Also, please let me know on which project are you facing the build error? Is it on SDK example project or a different project? 

Best Regards,
Jayakrishna
0 Likes

Dear sir,

I tested the cable using real-term by connecting the Rx pin to Tx pin of the RS323 cable the cable is working fine and we don't have any other Denebola kit. I have attached a screenshot for tested cable.

Screenshot (18).png

0 Likes

Hello,

Please refer to the following thread which describes an alternative method to obtain UART debug logs without the need of a UART receiver:

https://community.cypress.com/t5/USB-Superspeed-Peripherals/Add-CDC-device-to-CX3/td-p/275828

This is done by enumerating the device as a composite device having UVC and CDC interface in it. Please refer to the thread mentioned above and make the changes in the SDK example project CX3UVCOV5640 that is located in the following location:

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

Please let me know if you are able to see the debug logs using the CDC interface by making the modifications mentioned in the thread. Please let me know if you face any difficulties while modifying the project.

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Hello sir,

I follow the above link but I cant find any line in cycx3_uvc.c "status = CyU3PSetEpConfig(0x81, &endPointConfig);"  so I replaced it under "status = CyU3PSetEpConfig(0x82, &endPointConfig);" but I cant see any UVC or Com class in device manager Kindly say how to modify the code and get debug logs.

I have attached the modified project kindly check that.

Thankyou

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

Hello,

Please refer to the following project which is actually the SDK example having the required modifications as mentioned in the above thread. Please let me know if it is enumerating properly at the host and if you are getting the prints correctly. Please use this as a reference for modifying your project.

Best Regards,
Jayakrishna
0 Likes

Hello sir,

This Project file is password protected, and I can't open this. 

0 Likes

Hello,

Apologies for missing the password for the attachment in my previous response. The password for the attachment is cypress

Best Regards,
Jayakrishna
0 Likes
lock attach
Attachments are accessible only for community members.

Hello sir,

I got debut logs for my code. To get the UART logs I soldered a wire in 14-th pin of U6 and connected to external UART to USB module, now when I run my code for MIPI Raw 10 I got " EnterSuspendMode Status = 0x0, Wakeup reason = 0x8" in UART logs , and it shows  when I open my camera and no other UART logs I can found.

Before opening my camera app in my pc there is no UART logs and its empty.

kindly say what is cause the reason for suspended mode.

Thankyou 

0 Likes

Hello,

The print "EnterSuspendMode Status = 0x0, Wakeup reason = 0x8" should come before opening the host application. But after this, you will get the logs only after starting the video stream. The video stream can be started by opening the camera app and selecting the camera and resolution on the PC side.

Best Regards,
Jayakrishna
0 Likes