- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I used isochronous mode with CX3, But the test app Amcap always black screen. I am not sure the whether the config parameters are right, i have upload my code. It would be greatly appreciated If you can help on this issue.
we use 1280 x 800@15 fps, win10 platform. I use this macro "VS_ISOCHRONOUS_MODE" to switch bulk and isoc.
1.It shows that PC can get some data in the wireshark, like below.
2. When I open the camera, the uart log is as below:
MipiErrorThread Init.
AppInit:GpifSMStart passed
AppInit:fw version:1.11.27
d = 0 Cons = 0 Prtl_Sz = 0 Frm_Cnt = 0 Frm_Sz = 0 B
Prod = 0 Cons = 0 Prtl_Sz = 0 Frm_Cnt = 0 Frm_Sz = 0 B
status_t0 = 0, status_t1 = 0
Prod = 0 Cons = 0 Prtl_Sz = 0 Frm_Cnt = 0 Frm_Sz = 0 BCyCx3AppGetProbeControlData 1
CX3_APP_VS_PROBE_CONTROL ,1
CY_U3P_SUPER_SPEED = 1CyCx3AppGetProbeControlData 1
CX3_APP_VS_PROBE_CONTROL ,1
CY_U3P_SUPER_SPEED = 1CyCx3AppGetProbeControlData 1
CX3_APP_VS_COMMIT_CONTROL ,1
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x2
CB failure
UsbCB:Call AppStop CyCx3AppThread_Entry
AplnStop:SMState = 0x5
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x1
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x2
Prod = 29 Cons = 29 Prtl_Sz = 23120 Frm_Cnt = 1 Frm_Sz = 1090784 B
CB failure
UsbCB:Call AppStop CyCx3AppThread_Entry
AplnStop:SMState = 0x5
AplnStrt:CyCx3AppStart CyCx3AppStart
AplnStrt:SMState = 0x1
Prod = 55 Cons = 55 Prtl_Sz = 23120 Frm_Cnt = 2 Frm_Sz = 2048000 B
status_t0 = 0, status_t1 = 69
status_t0 = 0, status_t1 = 69
status_t0 = 0, status_t1 = 69
status_t0 = 0, status_t1 = 69
status_t0 = 0, status_t1 = 69
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
- Change the define of CY_FX_EP_ISO_VIDEO_SS_MULT 1.
- Make the 'Bytes per interval' field of Super speed companion descriptor as
0x00, 0x04 * (CY_FX_EP_ISO_VIDEO_SS_MULT) * (CY_FX_EP_ISO_VIDEO_SS_BURST) //This is 3KB in your case
- UVC Probe control settings should be updated with the maximum payload size calculated using BURST length and MULT settings. The maximum payload size should be (CY_FX_EP_ISO_VIDEO_SS_BURST) * (CY_FX_EP_ISO_VIDEO_SS_MULT) * (Max Endpoint size).
- According the firmware that you have shared, UVC headers are not being added by CX3. So, they must be added by an FPGA? - Please confirm. If yes, then there is no need to call CyCx3UvcAppAddHeader()
- Please remove DebugPrints in DmaCallback.
A similar issue is addressed in this thread: CX3 Isochronous mode . Please have a look.
Regards,
Sridhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
In general, the standard UVC host applications cannot stream the RAW format video.
Please refer this KBA: Streaming RAW10 Format Input Data to 16/24-bit Output Format in CX3 MIPI CSI-2 - KBA224387 for more details on this.
As per the UART Logs, there are commit buffer failures. This happens when the host is streaming the data at slower rate than that of image sensor.
Please test the application in Bulk Mode and confirm whether the data is streaming fine.
Since the standard Amcap cannot stream the RAW 10 format, you may not see the video in both bulk and isoc modes.
Hence, you can confirm the correct frame size by probing the PCLK, HSYNC and VSYNC test pins and capturing the WireShark trace.
Regards,
Sridhar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for your reply.
The sensor output data is raw10, but it transfer as YUYV, 16bit in Cypress. And it is normal when use bulk mode with Amcap, so I think it maybe something wrong when i change to isochronous mode.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
- Change the define of CY_FX_EP_ISO_VIDEO_SS_MULT 1.
- Make the 'Bytes per interval' field of Super speed companion descriptor as
0x00, 0x04 * (CY_FX_EP_ISO_VIDEO_SS_MULT) * (CY_FX_EP_ISO_VIDEO_SS_BURST) //This is 3KB in your case
- UVC Probe control settings should be updated with the maximum payload size calculated using BURST length and MULT settings. The maximum payload size should be (CY_FX_EP_ISO_VIDEO_SS_BURST) * (CY_FX_EP_ISO_VIDEO_SS_MULT) * (Max Endpoint size).
- According the firmware that you have shared, UVC headers are not being added by CX3. So, they must be added by an FPGA? - Please confirm. If yes, then there is no need to call CyCx3UvcAppAddHeader()
- Please remove DebugPrints in DmaCallback.
A similar issue is addressed in this thread: CX3 Isochronous mode . Please have a look.
Regards,
Sridhar