can't make OV5647 stream in CYUSB3065, getting all sorts of mipi errors

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

cross mob
hazc_3949451
Level 2
Level 2
First like received

I'm trying to get ov5647 streaming on a custom board using cyusb3065, without any success. Can someone with experience give some hints? Any help would be appreciated.

1.CyCx3AppDmaCallback gets called consistently, I have a thread printing mipi error every 300ms.mipi_error.png

2.I have the following configuration

mipi configure.png

3. I've tried playing with CyU3PMipicsiSetPhyTimeDelay, setting different delays, but it doesn't work.

1 Solution

Please DO NOT call any UART print function in CyCx3UvcAppDmaCallback since it will block the very high speed data transfer. CyCx3UvcAppDmaCallback should return ASAP.

If you want get some UART print output, please

1. Set some global variables to indicate the DMA status. These values will be changed in DmaCallback function. Print them in main thread or another thread if you want.

2. Try to use Event for communications between two or more threads. You may refer to CyU3PEventGet/Set functions.

You could refer to the example project, Cx3UvcOv5640 in SDK path, to know the detailed information.

#define PRINT_FRAME_INFO

/* Uncomment the following line to provide verbose debug logging. */

/* #define CX3_DEBUG_ENABLED                    (1) */

       

/* Uncomment the following line to run the mipi error thread */

/* #define CX3_ERROR_THREAD_ENABLE              (1) */

View solution in original post

25 Replies