FX3 Firmware for Streaming RAW Image Data using Cypress Driver

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.
bai
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hello,

I want to transmit the raw data of the RGB bayer image sensor using FX3.

I want to use FX3 send Dvp RAW data to PC side.I have implemented the basic functionality, but there are still some problems that cannot be solved.

The test board specifications are as follows:

1.1. Data bus: 8bit GPIF (I used cyfxgpif2config.h of UVC_AN75779 as it is.)

1.2. 1280* 720 @ 30hz, UVC(YUV422), 8bit

I refer to the following forum post for an example firmware to stream RAW image:

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

But I can't find the GPIF project,So I have no way to use it.

Then I refer to another forum:

FX3 RGB bayer RAW data Streaming Question

UVC code  is good.

bai_0-1621944562266.png

 

 toggled  "#define CY_DRIVER" in uvc.h

But when I want send RAW data to my software.Then something strange happened.

In the beginning the image is fine, but later on the image starts to appear random misalignment,like this:

bai_1-1621944840629.png

Spoiler
 

And lose frames,only have 20-22FPS.

Here is my log file, no problem

bai_2-1621946182640.png

 

Can you give me some help? I've been stuck here for a long time

I look forward to your help.

Here is my source code,

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

Hello,

As per my understanding, you are using the vendor command 0x99 to start the video stream and 0x88 to stop the video stream. Also, a custom host application is developed using cyusb3.sys to capture the video. Please let me know if my understanding is correct or not. 

If my understanding is correct, please try using streamer instead of the custom application to acquire the data from FX3 and share the following:

1. Is the transfer rate displayed by streamer constant?

2. Snapshot of the streamer application after it is started.

Best Regards,
Jayakrishna
0 Likes
bai
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Your understanding is correct.

And the transfer rate displayed by streamer is constant.

bai_0-1622013516317.png

 

0 Likes
lock attach
Attachments are accessible only for community members.
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

Can you confirm if the image sensor gives out 16 bits per pixel?

I have modified your firmware to get the total frame size count. Please refer to the attached project folder which has the modified firmware and send us the debug logs.

Best Regards,
AliAsgar

 

0 Likes
lock attach
Attachments are accessible only for community members.
bai
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hello,

Here are my logs:

log_total_frame.png

 I also found a problem that the state of the first commit buffer would fail.I don't know what caused it.

 

 

Here are logs for UVC,total_frame is stable. 

uvc_log_total_frame.png

Why is that?
What's wrong with my code?

 

Best Regards,
Bai

0 Likes
lock attach
Attachments are accessible only for community members.
bai
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Here are nonUVC debug logs.

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

Kindly remove the debugPrints from all callback functions, especially the DMA callback function and please send the debug logs after doing the same.

Best Regards,
AliAsgar

0 Likes
bai
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hello,

I've remove the debugPrints from all callback functions.

nonUVC_log_total_frame.png

 

0 Likes
AliAsgar
Moderator
Moderator
Moderator
1000 replies posted 250 solutions authored 750 replies posted

Hello,

Could you share with us the wireshark traces?

Best Regards,
AliAsgar

0 Likes